Các bạn có nhớ những thời thơ bé, chúng ta rất đam mê xe điều khiển bằng tay, mà không có tiền để mua phải không nào, các bạn có nghĩ đến một ngày nào đó chúng ta có thể tự làm ra một chiếc xe mà có thể điều khiển được một cách đơn giản nhất không nào, thì bài viết này sẽ giúp bạn chế tạo ra một chiếc xe điều khiển đơn giản nhất
Chế tạo xe điều khiển đơn giản
A. Video sản phẩm hoàn thiện
Xem thêm một số sản phẩm khác :
B. Chuẩn bị
Những thứ mà chúng ta cần chuẩn bị đã được liệt kê như hình bên trên
1. Mạch cầu H L298N
2. Node MCU ESP8266
3. Khung đỡ lắp ráp
4. Bộ lắp pin cho thiết bị và pin và nút nhấn công tắc
6. Dây điện cấm
7. 2 Motor vàng và 2 bánh xe và 1 bánh xe quay
C. Mua thiết bị ở đâu và Hỗ trợ
Bên chúng tôi hỗ trợ 100% khi bạn lắp ráp, đảm bảo khi nào thành công thì thôi
Liên hệ :
- Hiếu
- Số điện thoại 0367615511
- Để hỗ trợ lắp ráp sản phẩm thành công
D. Hướng dẫn lắp ráp
Bước 1 : Lắp bánh xe , motor vào khung
Bước 2: Lắp mạch điện như hình bên dưới
Hình ảnh thật sau khi kết nối xong
Bước 4: Nạp code vào node MCU
// vnkythuat.com // nguyendoan #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> // left motor #define ENA D0 #define IN_1 D1 #define IN_2 D2 // right motor #define IN_3 D3 #define IN_4 D4 #define ENB D6 String command; //String to store app command state. int speedCar = 1023; // 400 - 1023. int speedCar_half = 2; const char* ssid = "tRobot"; ESP8266WebServer server(80); void HTTP_handleRoot(void) { if( server.hasArg("State") ){ Serial.println(server.arg("State")); } server.send ( 200, "text/html", "" ); delay(1); } void setup() { pinMode(ENA, OUTPUT); pinMode(IN_1, OUTPUT); pinMode(IN_2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN_3, OUTPUT); pinMode(IN_4, OUTPUT); delay(1000); 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, HIGH); digitalWrite(IN_2, LOW); analogWrite(ENA, speedCar); digitalWrite(IN_3, HIGH); digitalWrite(IN_4, LOW); analogWrite(ENB, speedCar); } void goBack(){ digitalWrite(IN_1, LOW); digitalWrite(IN_2, HIGH); analogWrite(ENA, speedCar); digitalWrite(IN_3, LOW); digitalWrite(IN_4, HIGH); 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, HIGH); digitalWrite(IN_2, LOW); analogWrite(ENA, speedCar); digitalWrite(IN_3, HIGH); digitalWrite(IN_4, LOW); analogWrite(ENB, speedCar/speedCar_half); } void goAheadLeft(){ digitalWrite(IN_1, HIGH); digitalWrite(IN_2, LOW); analogWrite(ENA, speedCar/speedCar_half); digitalWrite(IN_3, HIGH); digitalWrite(IN_4, LOW); analogWrite(ENB, speedCar); } void goBackRight(){ digitalWrite(IN_1, LOW); digitalWrite(IN_2, HIGH); analogWrite(ENA, speedCar); digitalWrite(IN_3, LOW); digitalWrite(IN_4, HIGH); analogWrite(ENB, speedCar/speedCar_half); } void goBackLeft(){ digitalWrite(IN_1, LOW); digitalWrite(IN_2, HIGH); analogWrite(ENA, speedCar/speedCar_half); digitalWrite(IN_3, LOW); digitalWrite(IN_4, HIGH); analogWrite(ENB, speedCar); } 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 == "S") stopRobot(); // speed 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; }
Bước 5: Cài App vào điện thoại Ardroid
Link tải về : Tải về
Bước 6: Liên kết giữa điện thoại và xe điều khiển
Chúng ta mở app lên và liên kết với wifi : tRobot
Kết quả: Như vậy là ta có thể điều khiển xe thoải máy rồi nhé