Minggu, 02 Februari 2025

Membuat Kontroler Wi-Fi Mobil Menggunakan Esp8266

 Kita akan berbicara tentang cara Membuat Pengendali Internet atau Wi-Fi Mobil Menggunakan Esp8266. Ini dapat dengan mudah dikontrol oleh telepon pintar Anda.



Hal-hal yang digunakan dalam proyek ini

Komponen perangkat keras





NodeMCU ESP8266 CP2102 Wifi IoT Lua AMICA Official Version

NodeMCU ESP8266 Motor Shield Board L293D Driver Motor untuk ESP-12E

Kabel jumper (umum)

Motor DC3V-6V DC Geared TTGear Untuk Robot Smart Car Chassis (2 pcs)

Roda Kecil Smart Car Robot (2 pcs)

Roda Bebas Smart Car Casis Line Follower MBot N20 Vacuum Steel Ball Universal Wheel

aaaaaa

bbbb

ccccc


Bracket Holder TT Motor Gearbox Smart Car 6V Kuning With Screw (2pcs)

Rocker Switch Mini 2 pin Merah 6A - 250VAC on/off SPST



Spacer 1.2 cm / spacer 12mm / dudukan pcb 12 mm


Aplikasi perangkat lunak dan layanan daring



Arduino IDE

Cerita

Halo teman-teman, selamat datang kembali. Dalam tutorial ini, kita akan membahas tentang cara Membuat Kontroler Internet atau Wi-Fi Mobil Menggunakan Esp8266 . Kontroler ini dapat dikontrol dengan mudah melalui ponsel pintar Anda. Kami telah menjelaskan kepada Anda langkah demi langkah cara melakukannya melalui tutorial ini.



Robot yang dikendalikan WiFi ini dibuat menggunakan Chip ESP8266 sebagai unit kontrol. Untuk mengendalikan sepasang Motor, kami menggunakan Modul IC Driver Motor L298n.

Kita dapat menyalakan rangkaian menggunakan baterai apa pun karena kebutuhan dayanya lebih dari 5V. Maksud saya mobil robot yang dikendalikan melalui Jaringan WiFi.

Terima Kasih NextPCB

Teman-teman, jika Anda memiliki proyek PCB, silakan kunjungi situs web mereka dan dapatkan diskon dan kupon menarik.

Pengiriman gratis Prototipe PCB 0$: https://www.nextpcb.com/pcb-quote?

Undian berhadiah Natal Thanksgiving 100% menang: https://www.nextpcb.com/christmas-lucky-draw

Mari kita mulai!

Komponen yang Diperlukan


1 / 2

·        ESP8266 : https://amzn.to/3GqzjwW

·        Roda : https://amzn.to/3dxLfk4TT

·        Motor Gigi : https://amzn.to/3dxLfk4TT

·        Baterai Li-Po : https://amzn.to/3dxLfk4TT

·        Tempat Baterai : https://amzn.to/3dxLfk4TT

·        Kabel : https://amzn.to/3dxLfk4TT

·        kayu: https://amzn.to/3dxLfk4TT

Solder Kabel ke Motor

1 / 4

Solder kabel 10 cm ke setiap terminal motor.

Pasangkan Motor ke Akrilik

Pertama, potong busa atau papan jenis apa pun dalam ukuran yang diinginkan, misalnya 14CM x 10CM. Pastikan sesuai dengan foto.

Kedua, rekatkan keempat motor roda gigi ke papan busa. Untuk melakukan ini, gunakan lem tembak.

Tempelkan motor ke akrilik menggunakan lem tembak pada keempat sisi akrilik seperti terlihat pada gambar.

Masukkan kabel motor ke bagian belakang melalui lubang akrilik.

Diagram Sirkuit


1 / 2

Berikut ini adalah skema untuk Proyek Mobil Pengendali Wi-Fi Menggunakan Esp8266 yang dirancang menggunakan perangkat lunak Fritzing. Kami akan mengendalikan dua motor DC melalui IC Penggerak Motor L298. Saya menggunakan L298N. Ini adalah penggerak motor berdaya tinggi yang mampu menjalankan Motor DC 5V hingga 35V pada daya maksimum 25W.

Anda dapat menggunakan Motor DC 200-300 RPM untuk aplikasi ini. Unit kontrol utamanya adalah Papan ESP8266 yang menghubungkan dan mengontrol seluruh rangkaian dan peralatan.

Anda juga dapat mengikuti Pemetaan Pin berikut.

Penggerak Motor -> ESP8266


1 / 3

·        ENA GPIO14 (D5)

·        ENB GPIO12 (D6)

·        DI_1 GPIO15(D8)

·        DI_2 GPIO13(D7)

·        DI_3 GPIO2(D4)

·        DI_4 GPIO0(D3)

Hubungkan baterai ke input catu daya Driver Motor L298. Hubungkan semua 6 input L298 ke Pin D3, D4, D7, D8, D5 & D6 ESP8266. Berikan pasokan 5V ke Wemos melalui Pin 5V L298. Hubungkan pin output L298 ke motor kiri dan kanan.

Pasangkan Motor


1 / 2

Ketiga, pasang papan driver motor dan Esp8266 di bagian atas papan. Saya menggunakan kardus. Anda dapat menggunakan apa pun yang terbuat dari logam atau kayu sesuai kebutuhan Anda.

Kencangkan semua komponen dan pasang pada sasis. Gunakan roda yang kuat dan berkualitas baik agar robot dapat bergerak bahkan di permukaan yang kasar.

Setelah itu, hubungkan motor roda gigi ke papan penggerak motor. Untuk itu, gunakan diagram rangkaian di atas.

Kode Sumber/Program


1 / 2

·        copu, dikompilasi, lalu diunggah ke Mobil NodeMCU.

·        Program sumber untuk mobil yang dikendalikan WiFi sangat sederhana dan Anda dapat memprogram Papan ESP8266 menggunakan Arduino IDE.

·        Pada bagian kode ini, ubah SSID & Kata Sandi WiFi dari baris ini.

const char* ssid = "DiYProjectslab"; const char* password = "Arduino";

·        Salin kode lengkap dari bawah dan dapatkan Papan ESP8266 Anda untuk pemrograman.

URL Manajer Papan Tambahan: http://arduino.esp8266.com/stable/package_esp8266c...

#define ENA   14          // Enable/speed motors Right        GPIO14(D5)
#define ENB   12          // Enable/speed motors Left         GPIO12(D6)
#define IN_1  15          // L298N in1 motors Rightx          GPIO15(D8)
#define IN_2  13          // L298N in2 motors Right           GPIO13(D7)
#define IN_3  2           // L298N in3 motors Left            GPIO2(D4)
#define IN_4  0           // L298N in4 motors Left            GPIO0(D3)

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

String command;             //String to store app command state.
int speedCar = 800;         // 400 - 1023.
int speed_Coeff = 3;

const char
* ssid = "Make DIY";
ESP8266WebServer server(80);

void setup() {
 
 pinMode(ENA, OUTPUT);
 pinMode(ENB, OUTPUT); 
 pinMode(IN_1, OUTPUT);
 pinMode(IN_2, OUTPUT);
 pinMode(IN_3, OUTPUT);
 pinMode(IN_4, OUTPUT);
 
  Serial.begin(115200);
 
// Connecting WiFi

  WiFi.mode(WIFI_AP);
  WiFi.softAP(ssid);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print(
"AP IP address: ");
  Serial.println(myIP);
 
 // Starting WEB-server
     server.on (
"/", HTTP_handleRoot );
     server.onNotFound ( HTTP_handleRoot );
     server.begin();   
}

void goAhead(){

      digitalWrite(IN_1, LOW);
      digitalWrite(IN_2, HIGH);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, LOW);
      digitalWrite(IN_4, HIGH);
      analogWrite(ENB, speedCar);
  }

void goBack(){

      digitalWrite(IN_1, HIGH);
      digitalWrite(IN_2, LOW);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, HIGH);
      digitalWrite(IN_4, LOW);
      analogWrite(ENB, speedCar);
  }

void goRight(){

      digitalWrite(IN_1, HIGH);
      digitalWrite(IN_2, LOW);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, LOW);
      digitalWrite(IN_4, HIGH);
      analogWrite(ENB, speedCar);
  }

void goLeft(){

      digitalWrite(IN_1, LOW);
      digitalWrite(IN_2, HIGH);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, HIGH);
      digitalWrite(IN_4, LOW);
      analogWrite(ENB, speedCar);
  }

void goAheadRight(){
     
      digitalWrite(IN_1, LOW);
      digitalWrite(IN_2, HIGH);
      analogWrite(ENA, speedCar/speed_Coeff);
 
      digitalWrite(IN_3, LOW);
      digitalWrite(IN_4, HIGH);
      analogWrite(ENB, speedCar);
   }

void goAheadLeft(){
     
      digitalWrite(IN_1, LOW);
      digitalWrite(IN_2, HIGH);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, LOW);
      digitalWrite(IN_4, HIGH);
      analogWrite(ENB, speedCar/speed_Coeff);
  }

void goBackRight(){

      digitalWrite(IN_1, HIGH);
      digitalWrite(IN_2, LOW);
      analogWrite(ENA, speedCar/speed_Coeff);

      digitalWrite(IN_3, HIGH);
      digitalWrite(IN_4, LOW);
      analogWrite(ENB, speedCar);
  }

void goBackLeft(){

      digitalWrite(IN_1, HIGH);
      digitalWrite(IN_2, LOW);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, HIGH);
      digitalWrite(IN_4, LOW);
      analogWrite(ENB, speedCar/speed_Coeff);
  }

void stopRobot(){ 

      digitalWrite(IN_1, LOW);
      digitalWrite(IN_2, LOW);
      analogWrite(ENA, speedCar);

      digitalWrite(IN_3, LOW);
      digitalWrite(IN_4, LOW);
      analogWrite(ENB, speedCar);
 }

void loop() {
    server.handleClient();
   
      command = server.arg(
"State");
      if (command ==
"F") goAhead();
      else if (command ==
"B") goBack();
      else if (command ==
"L") goLeft();
      else if (command ==
"R") goRight();
      else if (command ==
"I") goAheadRight();
      else if (command ==
"G") goAheadLeft();
      else if (command ==
"J") goBackRight();
      else if (command ==
"H") goBackLeft();
      else if (command ==
"0") speedCar = 400;
      else if (command ==
"1") speedCar = 470;
      else if (command ==
"2") speedCar = 540;
      else if (command ==
"3") speedCar = 610;
      else if (command ==
"4") speedCar = 680;
      else if (command ==
"5") speedCar = 750;
      else if (command ==
"6") speedCar = 820;
      else if (command ==
"7") speedCar = 890;
      else if (command ==
"8") speedCar = 960;
      else if (command ==
"9") speedCar = 1023;
      else if (command ==
"S") stopRobot();
}

void HTTP_handleRoot(void) {

if( server.hasArg(
"State") ){
       Serial.println(server.arg(
"State"));
  }
  server.send ( 200,
"text/html", "" );
  delay(1);

Menguji Robot yang Dikendalikan WiFi

1 / 2

Setelah mengunggah kode, Buka Aplikasi Android yang terpasang di ponsel Anda dan hubungkan dengan Wi-Fi. Sekarang Anda dapat mengendalikan Robot. Untuk menggerakkan Robot ke arah depan, tekan tombol panah ATAS, dan untuk menggerakkannya ke belakang, tekan tombol panah BAWAH. Demikian pula, untuk menggerakkan Robot ke kiri dan ke kanan, tekan tombol panah Kiri dan Kanan.

Beginilah cara Anda membuat Robot yang Dikendalikan WiFi dan mengendalikan Robot menggunakan Aplikasi Android.

Unduh Aplikasi :- https://drive.google.com/drive/folders/

kunjungi situs web saya untuk Tutorial lebih lanjut :- https://www.diyprojectslab.com/

untuk proyek lebih lanjut :- https://www.instructables.com/member/SmartTronix/

Anda dapat membuat proyek ini dengan fitur-fitur canggih seperti mengintegrasikan kamera dan mengakses umpan langsung di peramban.

Terima Kasih Sampai jumpa lagi

Skema



Kode






Tidak ada komentar:

Posting Komentar