Robot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoạiRobot dò Line điều khiển qua điện thoại
Trang 3Nguy n Qu c An
Trang 4, ,
ng d n
Nguy
Trang 5, ,
n bi n
Ph u
Trang 8m c Trang
Nh ng d n 4
Nh n bi n 5
M C L C 8
10
M U 10
1.1 Gi i thi 10
1.2 M 10
1 c th c hi n 10
11
GI I THI N C A M CH 11
2.1 Gi i thi u v ARDUINO 11
c v ARDUINO NANO 11
2.1.2 M c a Arduino Nano 12
2.1.3 C ng k t n i v i Arduino Nano 13
2.1.4 L 13
n c a m ch: LCD 16x2 15
c 15
2.2.2 Ch 16
kh i c a HD44780 17
2.2.4.T p l nh c a LCD 16x2 22
2.2.5 Giao ti p gi 24
Trang 9n c a m ch: MODULE L298N 27
k thu t 27
2.3.2 N i m ch 31
2.3 32
2.3.2 Giao ti p v i Module Bluetooth HC05 33
2.3.3 Module bluetooth HC05 35
36
GI I THU U KHI N 36
3.1 36
3.2 M ch c m bi 37
37
3.2.2 Layout: 38
3.2.3 M ch in 38
3.2.4 M nh 38
3.3 S n ph n: 39
3.4 Gi i thu t code 42
51
K T LU N 51
4.1 K t qu 51
n 51
U THAM KH O 52
Trang 101
c nh u to l n trong s n xunghi i s ng S n xu p tr
nh c t i mobile robot v i nh
di chuy n m t linh hogian ho ng l n kh
th thi u trong nhi c r t nhi u s u
Trang 12i h n 6-20V DCS
Trang 13nhi l ng tr c ti p cho Nano t
-t o nhi n thu n l i cho n m i h c
Trang 14n c ng Arduino
ng Arduino b t ngu n t C/C++ ph bi n hi t d h c, d
hi u N u h c t c l r t d th
i v i b n
Trang 15Trang 20
E CGROM: Character Generator ROM
Trang 21F h a CGRAM
n xu a ch
t m h
r t h n ch : Ta ch t lo i 5x8 m nh, ho lo m nh
Trang 22-Return
home
DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0DBx = 0 0 0 0 0 0 1 *L
Entry
mode set
DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0DBx = 0 0 0 0 0 1 [I/D] [S]
Trang 23Khi thi t l p RS=1, R/W=0, d li u c
m ch c LCD chuy a ch nh t l nh
a ch a ch n ghi)
Trang 24Min:-55C , Max:+125C
Trang 272.3 N
2.3.1
V
T = 75 )-25 ~ +130
Trang 28BLOCK DIAGAM
PIN CONNECTIONS
Trang 30
-b
Trang 31-2.3.2
n i m ch
-
-IN1, IN2,
x
quay
Trang 33- M nh n 1 trong 3 ch Master, Slave, Loopback l a ch ng l nh AT).
- Giao ti p v i module b ng giao ti p n i ti ng b qua 2
- c ch ng theo l nh: (k t n i
xu t) C p ngu n cho module chuy n (k t n
VCC) s d giao ti p
2.3.2 Giao ti p v i Module Bluetooth HC05
Giao ti p v i HC05 b nh AT s d ng ph n m m Hercules SetupUntility
t ph n m m Hercules Setup Untility ng d ng,
ch n Serial, giao di n giao ti p v i c ng n i ti p s hi n ra:
p RF switch, balun, 24dBm PA, DCXO, and PMU
p b x nh v n b nh
p b vi x
Ch ng qu ch v
Giao di trung th c cao ng d
On-chip th p h c sinh b h u ch nh tuy t c n
cung c p n i b
Trang 35HC-+ SLAVE: b n c n thi t l p k t n i t smartphone, laptop, usb
ng serial t xa ho ng baud rate 9600
+ ch MASTER: module s t t b bluetoot
module bluetooth HC-06, usb bluetooth, bluetooth c
Trang 36ch bao g ph n k t n i v i nhau g
16x2, c m bi n sensor c a m ch
Trang 383.2.2 Layout:
3.2.3 M ch in
3.2
Trang 393.3 :
M i c
Trang 40M
Trang 44val_cb[5] = analogRead(A5);
for(i=0; i<6; i++){
if(max_cb[i]<val_cb[i]){max_cb[i]=val_cb[i];}
if(min_cb[i]>val_cb[i]){min_cb[i]=val_cb[i];}
}
delay(10);
}
void trung_binh(){
Serial.println("dang lay trung binh");
for(i=0; i<6; i++)
Trang 45{truong_hop=0;Serial.println("qua vach ngang");}
Trang 46{truong_hop=1;Serial.println(" mat line");}
if((val_th[0]==1)&&(val_th[1]==1)&&(val_th[2]==0)&&(val_th[3]==0)&&(val_th[4]==0)&&(val_th[5]==0))
{truong_hop=2;Serial.println("lech trai1!!!");}
if((val_th[0]==0)&&(val_th[1]==1)&&(val_th[2]==0)&&(val_th[3]==0)&&(val_th[4]==0)&&(val_th[5]==0))
{truong_hop=3;Serial.println("lech trai1!!!");}
if((val_th[0]==0)&&(val_th[1]==1)&&(val_th[2]==1)&&(val_th[3]==0)&&(val_th[4]==0)&&(val_th[5]==0))
{truong_hop=4;Serial.println("lech trai1!!!");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==1)&&(val_th[3]==0)&&(val_th[4]==0)&&(val_th[5]==0))
{truong_hop=5;Serial.println("lech trai1!!!");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==1)&&(val_th[3]==1)&&(val_th[4]==0)&&(val_th[5]==0))
{truong_hop=6;Serial.println("khong lech");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==0)&&(val_th[3]==1)&&(val_th[4]==0)&&(val_th[5]==0))
Trang 47{truong_hop=7;Serial.println("lech phai1!!!");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==0)&&(val_th[3]==1)&&(val_th[4]==1)&&(val_th[5]==0))
{truong_hop=8;Serial.println("lech phai1!!!");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==0)&&(val_th[3]==0)&&(val_th[4]==1)&&(val_th[5]==1))
{truong_hop=9;Serial.println("lech phai1!!!");}
if((val_th[0]==0)&&(val_th[1]==0)&&(val_th[2]==0)&&(val_th[3]==0)&&(val_th[4]==0)&&(val_th[5]==1))
Trang 48case 'a' : chay_toi(100,100); Serial.println("chay toi");break;
case 'b' : chay_lui(100,100); Serial.println("chay lui");break;
case 'c' : trai(100,100); Serial.println("re trai");break;
case 'd' : phai(100,100); Serial.println("re phai");break;
case 'e' : dung(); Serial.println("dung");break;
case 'f' : tudong=0; Serial.println("che do dieu hien bang tay");delay(2000);break;
case 'g' : tudong=1; Serial.println("che do chay do line");delay(2000);break;