โปรเจครถบังคับ Arduino Nano 3.0 ควบคุมด้วย App Android อุปกรณ์ที่ต้องใช้ก็คือ
1. Small 2WD Smart Car Robot Chassis Kits
2. Arduino Nano 3.0
3. Motor Drive Module L298N
4. Bluetooth HC-06 Slave
5. สาย Jumper Female to Male ยาว 10cm.
6. สาย Jumper Female to Female ยาว 10cm.
7. สาย Jumper Male to Male ยาว 10cm.
8. รางถ่านแบบ 18650 ใส่ถ่าน 2 ก้อน
9. แบตเตอรี่ลิเธียม 18650 จำนวน 2 ก้อน
10. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม
ประกอบ Small 2WD Smart Car Robot Chassis Kits
ยึด รางถ่านแบบ 18650 แบบ 2 ก้อน
ใช้ สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม. ยึด Motor Drive Module L298N
ภาพรวมการต่อวงจร
รายละเอียด ขาต่างๆ ของ Arduino Nano 3.0
ต่อสายสีดำจากรางถ่าน เข้า ที่ GND ของ L298N และ และต่อสายสีแดงจากรางถ่าน เข้า ที่ + 12V ของ L298N
เชื่อมต่อ สาย GND ของ L298N ไปที่ (29) GND ของ Arduino Nano 3.0 และ เชื่อมต่อ สาย + 5V ของ L298N ไปที่ (27) + 5V ของ Arduino Nano 3.0
ใช้สาย Jumper Female to Male ยาว 10cm. เชื่อมต่อ จุดเชื่อมต่อ มอเตอร์ ของ L298N ทั้ง 2 ด้าน ไปที่ มอเตอร์ ทั้ง 2 ตัว
การเชื่อมต่อ มอเตอร์ด้านล่าง
ภาพรวมการต่อสายระหว่าง L298N กับ Arduino Nano 3.0
เชื่อมต่อสายระหว่าง L298N กับ Arduino Nano 3.0
เชื่อมต่อสายระหว่าง Bluetooth HC-06 Slave กับ Arduino Nano 3.0
เชื่อมต่อสาย USB ระหว่าง คอมพิวเตอร์ กับ Arduino Nano 3.0
เรียนรู้ การใช้งาน Arduino Nano 3.0 และ การติดตั้งไดรเวอร์
เรียนรู้ การใช้งาน Arduino Nano 3.0 และ การติดตั้งไดรเวอร์
https://robotsiam.blogspot.com/2016/11/arduino-nano-30.html
int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)
int estado = 'g'; // inicia detenido
void setup() {
Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);
}
void loop() {
if(Serial.available()>0){ // lee el bluetooth y almacena en estado
estado = Serial.read();
}
if(estado=='a'){ // Boton desplazar al Frente
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
if(estado=='b'){ // Boton IZQ
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
}
if(estado=='c'){ // Boton Parar
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
}
if(estado=='d'){ // Boton DER
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(izqA, 0);
analogWrite(derA, vel);
}
if(estado=='e'){ // Boton Reversa
analogWrite(derA, 0);
analogWrite(izqA, 0);
analogWrite(derB, vel);
analogWrite(izqB, vel);
}
if (estado =='f'){ // Boton ON se mueve sensando distancia
}
if (estado=='g'){ // Boton OFF, detiene los motores no hace nada
}
}
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)
int estado = 'g'; // inicia detenido
void setup() {
Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);
}
void loop() {
if(Serial.available()>0){ // lee el bluetooth y almacena en estado
estado = Serial.read();
}
if(estado=='a'){ // Boton desplazar al Frente
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
if(estado=='b'){ // Boton IZQ
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
}
if(estado=='c'){ // Boton Parar
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
}
if(estado=='d'){ // Boton DER
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(izqA, 0);
analogWrite(derA, vel);
}
if(estado=='e'){ // Boton Reversa
analogWrite(derA, 0);
analogWrite(izqA, 0);
analogWrite(derB, vel);
analogWrite(izqB, vel);
}
if (estado =='f'){ // Boton ON se mueve sensando distancia
}
if (estado=='g'){ // Boton OFF, detiene los motores no hace nada
}
}
*** ถ้ามีปัญหาในการอัพโหลด ***
การใช้ Arduino IDE เวอร์ชั่นที่ใหม่กว่า ถ้ามีปัญหาในการอัพโหลด ให้ไปที่ Processor แล้วเปลี่ยนไปเลือกเป็น ATmega328P (Old Bootloader)
และถ้ามีปัญหาในการ Upload ตามรูปด้านล่าง
ให้ถอดการเชื่อมต่อ Bluetooth HC-06 ออกก่อน แล้วจึงเชื่อมต่อ Bluetooth HC-06 อีกครั้ง หลังจาก Upload เสร็จแล้ว
เก็บรัดสายให้เรียบร้อย
ใส่ถ่าน 18650 จำนวน 2 ก้อน
ใช้สมาร์ทโฟน Android เปิดบลูทูธ ค้นหาอุปกรณ์ HC-06
ถ้าใช้งานครั้งแรก ให้คีย์ 1234
ดาวน์โหลดและติดตั้ง แอพควบคุมรถบังคับ Arduino Control Car ที่
https://apkpure.com/arduino-control-car/appinventor.ai_el_profe_garcia.Arduino_Control_Car
ติดตั้งเหมือนแอพทั่วๆไป
หน้าตาโปรแกรม Arduino Control Car
คลิกที่ปุ่ม Bluetooth แล้วคลิกเลือก HC-06
ก่อนหน้าไฟ LED สีแดง ของ HC-06 จะติดแบบกระพริบอยู่ หลังจากติดต่อได้ไฟจะติดค้างเป็นสีแดงตลอด จากนั้นทดลองควบคุมดู ถ้าทิศทางการเคลื่อนที่ไม่ตรงกับการควบคุบ ให้ตรวจสอบการต่อสายของมอเตอร์ทั้ง 2 ตัว และแก้ไขให้ถูกต้อง
วีดีโอผลลัพธ์การทำงานของ โปรเจครถบังคับ Arduino Nano 3.0 ควบคุมด้วย บลูทูธ HC-06
วีดีโอผลลัพธ์การทำงานของ โปรเจครถบังคับ Arduino Nano 3.0 ควบคุมด้วย บลูทูธ HC-06