این شیلد بر پایه چیپ L293 می باشد که توانایی راه اندازی تا دو موتور DC را دارد . به راحتی می توان برد های NodeMCU را بر روی این شیلد قرار داد . علاوه بر آن این شیلد یک برد توسعه پین های NodeMCU نیز می باشد . می توان توسط این شیلد دو متور DC را با ولتاژ 4.5 تا 36 ولت و همچنین با حداکثر جریان 1.2 آمپر کنترنمود. می توانید توسط این شیلد ربات های کنترل از راه دور بسازید . در این آموزش به راه اندازی این شیلد توسط بر NodeMCU خواهیم پرداخت .
در تصویر زیر خروجی های این شیلد نشان داده شده است :
نکته : حداکثر جریان خروجی این برد به صورت نامی 1.2 آمپر است لذا بدهی می باشد که این مقدار در عمل اندکی کمتر است .
مشخصات :
- طراحی به صورت شیلد NodeMCU
- توانایی کنترل دو موتور DC
- توانایی کنترل یک استپ موتور دو قطبی
- رنج ولتاژ راه اندازی 4.5 تا 36 ولت
- حداکثر جریان خروجی 1.2 آمپر
- دارای پین هدر های توسعه پین های NodeMCU
- دارای کلید روشن و خاموش
- دارای ترمینال جهت اتصال موتور و تغذیه
راه اندازی شیلد :
ابتدا برد NoedMCU را بر روی شیلد قرار داده و سپس موتور و باتری را همانند تصویر زیر به شیلد متصل کنید :
کد های زیر را بر روی بر روی برد NodeMCU خود آپلود کنید :
#include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> /* Set these to your desired credentials. */ const char *ssid = "در این قسمت نام وایفای خود را وارد کنید"; const char *password = "در این قسمت رمز وایفای خود را وارد کنید"; ESP8266WebServer server(80); /* Just a little test message. Go to http://192.168.4.1 in a web browser * connected to this access point to see it. */ void handleRoot() { server.send(200, "text/plain", "hello from Robot!"); } void motor_forward(){ digitalWrite(16, 1); digitalWrite(5, 0); digitalWrite(4, 1); digitalWrite(0, 0); } void motor_stop(){ digitalWrite(16, 0); digitalWrite(5, 0); digitalWrite(4, 0); digitalWrite(0, 0); } void motor_back(){ digitalWrite(16, 0); digitalWrite(5, 1); digitalWrite(4, 0); digitalWrite(0, 1); } void motor_left(){ digitalWrite(16, 0); digitalWrite(5, 1); digitalWrite(4, 1); digitalWrite(0, 0); } void motor_right(){ digitalWrite(16, 1); digitalWrite(5, 0); digitalWrite(4, 0); digitalWrite(0, 1); } void setup() { // prepare Motor Output Pins pinMode(16, OUTPUT); digitalWrite(16, 0); // prepare GPIO5 relay 1 pinMode(5, OUTPUT); digitalWrite(5, 0); pinMode(4, OUTPUT); digitalWrite(4, 0); pinMode(0, OUTPUT); digitalWrite(0, 0); delay(1000); Serial.begin(115200); Serial.println(); Serial.print("Configuring access point..."); /* You can remove the password parameter if you want the AP to be open. */ WiFi.softAP(ssid, password); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); server.on("/", handleRoot); server.on("/inline", []() { server.send(200, "text/plain", "this works as well"); }); server.on("/fw", []() { motor_forward(); server.send(200, "text/plain", "Forward"); }); server.on("/bk", []() { motor_back(); server.send(200, "text/plain", "Back"); }); server.on("/st", []() { motor_stop(); server.send(200, "text/plain", "Stop"); }); server.on("/lt", []() { motor_left(); server.send(200, "text/plain", "Left"); }); server.on("/rt", []() { motor_right(); server.send(200, "text/plain", "Right"); }); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); }
پس از پروگرام کردن برد ، IP را که در Serial monitor آردوینو IDE چاپ می شود را در مرورگر خود وارد کنید .