Cảm Biến

Phần 4. Tiếp nối dự án Robot dò line | Học Điện Tử

I. Giới thiệu

Tiếp nối chuỗi bài viết của bạn Đinh Hồng Thái về robot dò mobitool.netưng vì lý do nào đó, bạn Thái đã ngừng chuỗi bài viết của mình một cách dở dang!!! Hôm nay, mình sẽ hướng dẫn các bạn phần cuối của Series Robot dò line của bạn Đinh Hồng Thái.

II. Chuẩn bị

  • 1 x Arduino UNO, Mega, Nano, hoặc Promini,….
  • 1 x mạch cầu H L298N, hoặc L9110,….
  • 1 x Module bluetooth HC-05, hoặc HC-06,…
  • 2 x Động cơ DC có bánh xe + 1 bánh xe dẫn động
  • Test board Mini, Dây cắm, khung, PIN…

III. Kết nối

– Trước tiên, các bạn kết nối các hồng ngoại với module của nó…Nó có 4 hồng ngoại với các chân tín hiệu lần lượt là IN1, IN2, IN3, IN4

Mạch cầu H, kết nối với các động cơ…Phần các pin của Arduino kết nối với cảm biến thì như sau

Arduino UNO L298 Module dò đường 2 IN1 3 IN2 4 IN3 5 IN4 ~10 ENA ~11 ENB 6 IN1 7 IN2 8 IN3 9 IN4

IV. Code:

// Định ngĩa các chân điều khiển động cơ #define inA1 2 #define inA2 3 #define inB1 4 #define inB2 5 #define hongngoai1 6 #define hongngoai2 7 #define hongngoai3 8 #define hongngoai4 9 #define ENA 10 #define ENB 11 void setup() { pinMode(inA1, OUTPUT); pinMode(inA2, OUTPUT); pinMode(inB1, OUTPUT); pinMode(inB2, OUTPUT); pinMode(hongngoai1, INPUT); pinMode(hongngoai2, INPUT); pinMode(hongngoai3, INPUT); pinMode(hongngoai4, INPUT); pinMode(ENA, OUTPUT); pinMode(ENB, OUTPUT); mobitool.netn(9600) analogWrite(ENA, 120); analogWrite(ENB, 120);//đi chậm cho khỏi trượt Line } void loop(){ benphai = analogRead(hongngoai1)+analogRead(hongngoai2); bentrai = analogRead(hongngoai3)+analogRead(hongngoai4); if (benphai = 0 && bentrai = 0){lui();}//Trượt ra khỏi Line thì lùi lại else {giatrilech = benphai – bentrai} if (giatrilech > 0){ mobitool.nettln(“Lệch trái”); quaytrai();//Lệch trái, thỳ quay trái } else if ((giatrilech < 0){ mobitool.nettln(“Lệch phải”); quayphai();}//lệch phải thì quay phải else if (giatrilech == 0){ dithang();}//Không lệch đi thẳng } void dithang(){ digitalWrite(inA1,HIGH); digitalWrite(inA2,LOW); digitalWrite(inB1,HIGH); digitalWrite(inB2,LOW); } void lui(){ digitalWrite(inA1,LOW); digitalWrite(inA2,HIGH); digitalWrite(inB1,LOW); digitalWrite(inB2,HIGH); } void quaytrai(){ digitalWrite(inA1,HIGH); digitalWrite(inA2,LOW); digitalWrite(inB1,LOW); digitalWrite(inB2,LOW); } void quayphai(){ digitalWrite(inA1,LOW); digitalWrite(inA2,LOW); digitalWrite(inB1,HIGH); digitalWrite(inB2,LOW); }

V. Lời kết

Trên đây là hướng dẫn làm robot dò mobitool.netúc các bạn thành công!!!

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button