51“motorrr”寻迹小车学习1电机和寻迹模块
目錄
一 硬件
二 軟件
前幾天完成了尋跡小車(chē)的電機(jī)和尋跡模塊的學(xué)習(xí),這里板子用的是51最小系統(tǒng)板。
一 硬件
電機(jī)驅(qū)動(dòng)模塊L298N 和 尋跡模塊
其實(shí)也沒(méi)什么,pwm控制速度再加上尋跡模塊,主要是遇見(jiàn)了一些玄學(xué)問(wèn)題,這里來(lái)總結(jié)一下:
1.用下載器燒不進(jìn)程序,總顯示什么芯片加載超時(shí)==,解決方法:用51板子燒進(jìn)去芯片再按上去就好了,(注意芯片的方向不要按反)就是比較麻煩。。
2.按進(jìn)去芯片之后,上邊那個(gè)數(shù)碼管的數(shù)字一閃一閃的,車(chē)有想動(dòng)的趨勢(shì)但是不動(dòng),差點(diǎn)想把車(chē)拆了換個(gè)芯片重新裝了,結(jié)果發(fā)現(xiàn)是芯片按的位置原因,應(yīng)該把芯片按在正中間,試過(guò)了,最左最右都不行。
3.實(shí)現(xiàn)不了pwm調(diào)速,總是以最大引腳速度走,是那個(gè)跳線(xiàn)帽的原因,把跳線(xiàn)帽拔掉連上pwm的線(xiàn)就好了。
4.注意l298n的連線(xiàn),12V? GND(板子的GND和電池負(fù)極)? 5V 。還有最好先檢查一下鋰電池有沒(méi)有問(wèn)題。。。還有,用下載器連上電腦之后,別開(kāi)單片機(jī)的開(kāi)關(guān),然后電腦就會(huì)直接黑屏(可能是之前接線(xiàn)有問(wèn)題)。。
二 軟件
管腳定義:
電機(jī):前左右停 左大轉(zhuǎn) 右大轉(zhuǎn)
速度自己調(diào)
//前進(jìn) 停止 #define l_forward {IN1=1,IN2=0;}//左1 #define l_stop {IN1=0,IN2=0;} #define l_back {IN1=0,IN2=1;}#define ll_forward {IN3=1,IN4=0;}//左2 #define ll_stop {IN3=0,IN4=0;} #define ll_back {IN3=0,IN4=1;}#define r_forward {IN11=1,IN22=0;}//右1 #define r_stop {IN11=0,IN22=0;} #define r_back {IN11=0,IN22=1;}#define rr_forward {IN33=1,IN44=0;}//右2 #define rr_stop {IN33=0,IN44=0;} #define rr_back {IN33=0,IN44=1;} void forward() {left=12;lleft=12;right=12;rright=12;l_forward;ll_forward;r_forward;rr_forward; }void turn_right()//右 {left=18;lleft=18;right=40;rright=40;l_forward;ll_forward;r_back;rr_back; }void turn_left() {left=40;lleft=40; right=18;rright=18;l_back;ll_back;r_forward;rr_forward; }void stop() {l_stop;ll_stopr_stop;rr_stop; }void turn_big_right()//右 {left=18;lleft=18;right=50;rright=50;l_forward;ll_forward;r_back;rr_back; }void turn_big_left() {left=50;lleft=50; right=18;rright=18;l_back;ll_back;r_forward;rr_forward; } unsigned char count=0,count1=0,count2=0,count3=0;//計(jì)數(shù)值 unsigned char left=0,lleft=0; //左邊的比較值 unsigned char right=0,rright=0;//右邊的比較值中斷里面:計(jì)數(shù)值++
四個(gè)電機(jī)調(diào)速(小于比較值為0 大于比較值為1 大于100為0) 都一樣。
尋跡模塊:可能還需要加,這個(gè)效果還行。
void xunji() {if(D1==0&&D2==0&&D3==0&&D4==0) {forward();}if(D1==1&&D2==1&&D3==1&&D4==1) {stop();}if(D2==0&&D3==1) {turn_right();}if(D2==1&&D3==0) {turn_left();}if(D2==1&&D3==1) {forward();}if(D1==1&&D2==0&&D3==0&&D4==0) {turn_big_left();}if(D1==0&&D2==0&&D3==0&&D4==1) {turn_big_right();} }電機(jī)和尋跡模塊差不多就這些了,有別的再補(bǔ)充,==。
總結(jié)
以上是生活随笔為你收集整理的51“motorrr”寻迹小车学习1电机和寻迹模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [实用软件推荐] GIF截图软件 Scr
- 下一篇: 荣耀x10支持鸿蒙,还好没放弃!一大批荣