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

Tags:
About Author: USER_4