این شیلد بر پایه چیپ 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 چاپ می شود را در مرورگر خود وارد کنید .


