Nguyên văn bởi luc_ky_luke
Xem bài viết
Viết code cho robot dò đường
Collapse
X
-
đây là một bộ khung viết cho con dò đường dùng 89s52 bạn có thể tham khảo:
#include<REG52.H> // kb thu vien
sbit out_pwm1 = P2^0;
sbit out_pwm2 = P2^4;
sbit L1 = P2^2;
sbit L2 = P2^3;
sbit R1 = P2^6;
sbit R2 = P2^7;
sbit sw1 = P3^7;
unsigned char pwm1, pwm2;
int dem,xung,chieu;
void ngatngoai0 (void) interrupt 0
{
xung++;
}
void ngattimer0 (void) interrupt 1 // tao xung PWM
{
dem++;
if (dem ==256) dem =0;
if (dem < pwm1 )
out_pwm1=1;
else
out_pwm1=0;
if (dem < pwm2)
out_pwm2=1;
else
out_pwm2=0;
}
void quay_trai (void)
{
do
{
pwm1=20;
L1=R2=0;
pwm2=200;
L2=R1=1;
}
while(P2==0x81);
}
void quay_phai (void) // nguoc lai
{
do
{
pwm1=200;
L2=R1=0;
pwm2=20;
L1=R2=1;
}
while(P2==0x81);
pwm1=1;
pwm2=1;
}
void do_duong(void)
{
char temp;
temp=P2;
L1=R1=1; // tien
L2=R2=1; // tien
switch (temp)
{
case 12: // di thang
{
pwm1=250;
pwm2=250;
break;
}
case 8: // lech trai 1
{
pwm1=250;
pwm2=230;
break;
}
case 16: // lech trai 2
{
pwm1=250;
pwm2=200;
break;
}
case 32: // lech trai 3
{
pwm1=250;
pwm2=170;
break;
}
case 4: // lech trai 4
{
pwm1=250;
pwm2=230;
break;
}
default :
{
pwm1=100;
pwm2=100;
break;
}
case 2: //lech phai 1
{
pwm1=250;
pwm2=200;
break;
}
case 6: //lech phai2
{
pwm1=250;
pwm2=170;
break;
}
}
}
void chaythang(unsigned int quangduong)
{
xung=0;
do
{
do_duong();
}
while(xung<quangduong); // 1m
pwm1=1;
pwm2=1;
}
void main (void) // cct
{
// *** khoi tao ***
// khoi tao ngat
IE=0x83;
IT0=1;
// khoi tao ngat timer
TMOD=0x02;
TH0= 246;
TR0=1;
// chon do rong xung(chon toc doc cho motor)
pwm1=1;
pwm2=1;
while(sw1);
chaythang(500); //1m
while(1);
}
Comment
-
-
em đọc qua có phải đây là 2 cảm biến ko ạ, e đang cần làm mạch 6 cặp cảm biến cơ, chưa biết bố trí khoảng ách thế nào cho phù hợpNguyên văn bởi soc_con_haui Xem bài viếtđây là một bộ khung viết cho con dò đường dùng 89s52 bạn có thể tham khảo:
#incl
while(1);
}
Comment
-
có cao nhân nào code avr 7bit sensor không sử dụng atmega16 !!!! cho e xin code với !!! 5 bit hay 8 bít cũng được
Comment
Bài viết mới nhất
Collapse
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
Hôm qua, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
Hôm qua, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-

Comment