51藍芽+紅外遙控小車
l298n
ena:控制in1 in2
enb:控制 in3 in4
in1 in2 in3 in4:分別控制out1 out2 out3 out4
12v輸入口:接3節3.7v串聯鋰電池正極
gnd口:接3節3.7v串聯鋰電池負極+接微控制器gnd
5v輸出口:接微控制器vcc
功能:微控制器io口接好ena enb in1 in2 in3 in4
out1 out2 控制車模左電機(左電機)依據個人喜好
out2 out4 控制車模右電機(右電機)
前進:in1高電平——out1相當於正極
in2低電平——out2相當於負極
此時連線在out1 和out2 的這個電機正轉
(in3 in4同理) 後退同理
左**左輪後退,右輪前進實現後退(很神奇)
右轉同理
pwm調速:
通過軟體編寫的程式使微控制器io口控制ena enb高電平和低電平在
乙個週期內佔的比例實現調速。(用到定時器中斷)
譬如:1秒內ena和enb的高電平時間是0.5秒,低電平時間也是
0.5秒。小車就中等速度開車。
1秒內ena和enb的高電平時間是0.1秒,低電平時間就死
0.9秒。小車就龜速開車。
注意:買來的模組有3個短接片接好的
分別是ena enb 板載5v使能
用pwm調速的時候去掉ena enb短接片
板載5v使能 我還沒用過不用管它
18650鋰電池
之前用5號電池,沒兩下就沒電了。18650鋰電池容量大,可
重複利用。
3節3.7v的就 !可!
hc-06
用到vcc(5v) gnd接上
注意:藍芽rx接微控制器tx,藍芽tx接微控制器rx。
通過!串列埠中斷!用手機傳送訊號給藍芽,藍芽接收資料傳
送給微控制器,微控制器接收不同的訊號控制io口輸出的高低電
平控制l298n,l298n控制電機。
紅外置收器,紅外遙控器
正常的低配的51開發板都會配有
紅外遙控器各個按鍵對應不同的按鍵碼,
紅外置收器(注意:vout接p32口)
通過!外部中斷0!用紅外遙控器傳送訊號(按鍵碼)給紅外置
收器,紅外置收器接收資料傳送給微控制器,
微控制器接收不同的訊號控制io口輸出的高低電平控制l298n
l298n控制電機。(ctrl+c然後ctrl+v)
車模安裝時候注意先把馬達的杜邦線接好再安裝輪胎
//一些必要定義
#include
typedef
unsigned
char u8;
typedef
unsigned
int u16;
sbit ena=p1^0;
sbit in1=p1^1;
sbit in2=p1^2;
sbit in3=p1^3;
sbit in4=p1^4;
sbit enb=p1^5;
sbit ir=p3^2;
//p32有外部中斷0的功能
u8 m;
//u8 speed=3;
//
//一些必要函式
void
delay
(u16 i)
//延時10us
void
slow()
void
quick()
void
forward()
void
back()
void
left()
void
right()
void
stop()
//初始化(藍芽的串列埠中斷4配置,紅外遙控的外部中斷0配置,
pwm的定時器t0中斷1配置)
//說明:
串列埠中斷一般用定時器t1,t1用工作方式2,th1=tl1=0xfd;
pcon=0x00;此時微控制器(11.0592hz)串列埠通訊的波特率為9600。
串列埠工作方式用方式1;
外部中斷0沒什麼好說的。
定時器中斷1用定時器t0,t0用工作方式1。
void
init
()
//串列埠中斷函式
void
uart
()interrupt 4
//定時器t0中斷1函式(pwm調速)
void
time0
()interrupt 1
//外部中斷0函式
```c
voidir(
)interrupt 0}}
}switch
(irdata[2]
)//選擇使用者碼(就是第三組資料)
}
//主函式
```c
void main()
//說明:課餘時間學習51微控制器1學期,懂一點皮毛。一些注釋比較花裡胡哨,大神勿噴
給的程式不一定能編譯成功,都是手動敲的,主體問題不大
紅外遙控智慧型小車
熱29 已有 620 次閱讀 2010 09 28 23 06 頂 3g移動 android開發工程師全能班 我前段時間寫了 用pwm驅動智慧型小車 和 紅外遙控器編碼識別 兩篇博文,分別介紹了如何用pwm驅動直流電機及紅外遙控器編碼識別,這一次我們把二者結合起來,用紅外遙控器遙控智慧型小車。在 紅...
arduino 紅外遙控小車
當你按下手中的紅外遙控器時,小車就會按照預先的程式,前進 後退 左轉 右轉,是不是很神奇呢?下面是我的程式 include int recv pin 7 int pinlb 14 int pinlf 15 int pinrb 16 int pinrf 17 long advence 0x00ff62...
1 基於51微控制器的藍芽手機遙控小車
第一節 基於51微控制器控制的藍芽遙控小車 51控制的藍芽遙控小車是樓主大一剛開始接觸微控制器時diy的專案,時間大概是2016年的6月,現在已經是19年的5月底,借畢業前有閒時間寫一下之前自己做過得種種東西。51微控制器是大學生能夠接觸到的最簡單的微控制器之一,之二是arduino,雖說簡單,但是...