Манай нэг найз өмнө нь хэрхэн загаснуудаа ажил дээрээсээ эсвэл гадагшаа ажлаар явж байхдаа хооллож байх вэ гэж асууж байсан юм. Энэхүү хичээл дээрээ хэрхэн загасаа интернетээс хооллож болох талаар та бүхэндээ харуулхаар зорилоо. Та заавал электроникч байх хэрэггүй бөгөөд бага зэрэг электроникт сонирхолтой байхад л энэхүү бүтээлийг өөрөө хийх боломжтой юм. Хэрвээ та электроникийн талаар бага зэрэг мэдлэгтэй бол энэхүү санааг хөгжүүлээд акариумыхаа усыг солихоос эхлээд бүх үйлчилгээг нь ч алсаас шийдэх боломжтой. Ингээд доорхи хэдэн алхамыг дагаж хийхэд л таны онлайн загас тэжээгч бэлэн болно.
NodeMCU удирдлагын хавтан - http://www.elec.mn/category/9/704
Жижиг серво мотор - http://www.elec.mn/category/9/77
Туршилтын хавтан - http://www.elec.mn/category/9/74
Холбогч утаснууд - http://www.elec.mn/search?value=wire
Цавуу
Жижиг хоолны сав (Ахуйн хэрэглээны жижиг хэмжээтэй ямар ч сав байж болно)
Хэрэг болох програм хангамжууд
NodeMCU хавтан нь ардуйно хавтантай төстэй бөгөөд өөр дээрээ ESP чип суурилуулсанаараа ялгаатай юм. Энэ та утасгүй интернет сүлжээнд буюу гэрийнхээ wifi тай шууд холбох боломжтой гэсэн үг юм.
хавтан дээрхи тэжээлийн 5в болон GND холбохдоо анхааралтай байх хэрэгтэй. Учир нь буруу холболт хийвэл хавтан шатах магадлалтай.
Blynk бол IOS болон Android үйлдлийн системүүд дээр ажилдаг апп билээ. Та энэхүү апп ашиглан NodeMCU контролероо утасгүй сүлжээнээ удирдах боломжтой болно гэсэн үг юм. Энэхүү апп хэрэглэхэд маш амархан бөгөөд яг л гар утасны тоглоом тоглохтой адил билээ.
Blynk application тохиргоо:
1 Blynk app утсан дээрээ татаж суулгана (App store).
2 Өөрийн хэрэглдэг Майл хаягаа ашиглана шинэ account үүсгэнэ .
3 Дарна "Create New Project".
4 Апп ийнхаа нэрийг өгнө
5 Сонго "NodeMCU".
6 Холболтын төрлөө зааж өгнө "Wifi".
7 Дар "Create Project".
8 Дэлгэц дээр оруулах зүйлс гарж ирнэ
9 Товчлуураа сонгож нэр өгнө
10 Сонго output "Virtual 1"
11 "Push" mode дээр байгаа эсэхийг шалга.
12 Нэр өгнө "Feeding" эсвэл Off "Feed".
13дар "OK"
14 Нэр өгнө "Last Feeding".
15 Оролтыг сонгож өгнө input V5 гэх мэт.
16 Дар "OK".
17 Дэлгэц дээрээ дахин дараад "Real-time Clock" гэдгийг сонго.
Таны апп ашиглахад бэлэн боллоо
Доорхи кодыг ажиллуулхад та энэхүү санг суулгах шаардлагатай Blynk library.
NodeMCU ийг Arduino IDE дээр ажиллуулхын тулд мөн хэдэн алхам шаардлагатай Program NodeMCU : http://www.instructables.com/id/Quick-Start-to-Nodemcu-ESP8266-on-Arduino-IDE/
Танд мөн SSID болон пассворд хэрэг болох болно. Энэ таны гэрийн интернет нууц үг юм. Мөн танд апп үүсгэхэд майлээр ирсэн auth token хэрэг болох юм.
/* Загас тэжээгч
* * V1.2 * * */
#define BLYNK_PRINT Serial
#include
#include
#include
#include
#include
// You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "AuthToken";
// Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "ssid"; char pass[] = "password"; int pos; int i; Servo myservo;
BlynkTimer timer;
WidgetRTC rtc;
void clockDisplay() { // You can call hour(), minute(), ... at any time // Please see Time library examples for details
String currentTime = String(hour()) + ":" + minute() + ":" + second(); String currentDate = String(day()) + " " + month() + " " + year(); // Serial.print("Current time: "); // Serial.print(currentTime); // Serial.print(" "); // Serial.print(currentDate); // Serial.println();
if (i == 1) { // Send time to the App Blynk.virtualWrite(V5, currentTime); i = 0; Serial.print(i); }
}
void setup() { // Debug console Serial.begin(9600);
myservo.attach(5); myservo.write(75); Blynk.begin(auth, ssid, pass); rtc.begin();
timer.setInterval(1000L, clockDisplay); Serial.print(i); }
void loop() { Blynk.run(); timer.run(); }
BLYNK_WRITE(V1) { if(param.asInt()==1) {
i++; Serial.print(i); Serial.print("Pressed"); // Move Servo To Feed Position
for(pos = 50; pos <= 75; pos += 1) // goes from 0 degrees to 180 degrees { // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } // for(pos = 167; pos>=140; pos-=1) // goes from 180 degrees to 0 degrees // { // myservo.write(pos); // tell servo to go to position in variable 'pos' // delay(15); // waits 15ms for the servo to reach the position // } } else { Serial.print("Depressed"); //Return to home myservo.write(75);} }
Сагсанд амжилттай орлоо