標(biāo)題: 關(guān)于單片機(jī)避障智能小車制作的幾個(gè)問題~求交流指點(diǎn)一下 [打印本頁]

作者: 1061897836    時(shí)間: 2018-10-23 21:48
標(biāo)題: 關(guān)于單片機(jī)避障智能小車制作的幾個(gè)問題~求交流指點(diǎn)一下
最近鄙人學(xué)單片機(jī)一直想嘗試做東西實(shí)踐一下,于是就決定做一個(gè)常見的智能小車,用兩個(gè)紅外對(duì)管模塊和超聲波傳感器簡單做了避障的功能,但是就出現(xiàn)了問題,程序修改了幾次,也找同學(xué)一起研究了一下,還是想不到為啥,還望各位大佬指點(diǎn)迷津~


1.我用的紅外對(duì)管模塊,感覺這個(gè)模塊不怎么好,電壓5V電位調(diào)到最大,靈敏度只有12cm左右,大佬們都用過哪些更好的類似模塊?
2.運(yùn)行程序之后,小車遇到障礙會(huì)停下轉(zhuǎn)彎,但是會(huì)有這種情況,前方明明沒有障礙,小車前進(jìn)(0~兩三米)就會(huì)自動(dòng)轉(zhuǎn)彎,這個(gè)問題讓我很糾結(jié)



單片機(jī)源碼:
  1. #include<reg52.h>
  2. #define uc unsigned char
  3. #define ui unsigned int
  4. sbit   IN1=P2^1;                                           //L298N
  5. sbit   IN2=P2^2;
  6. sbit   IN3=P2^3;
  7. sbit   IN4=P2^4;
  8. sbit   ENA=P2^0;           
  9. sbit   ENB=P2^5;
  10. ui  count1=50,count2=50,time;
  11. ui    timer,date;
  12. sbit     trig=P3^7;                                           //超聲波
  13. sbit     echo=P3^6;         
  14. sbit  leftled=P3^5;
  15. sbit rightled=P3^4;
  16. void delay(ui i)                                     //延時(shí)函數(shù)
  17. {
  18.          while(i--);
  19. }


  20. void init0()                              //定時(shí)器0初始化,用于輸出PWM
  21. {
  22.         TMOD = 0x01;        
  23.         TH0 = (65536 - 10)/256;               
  24.         TL0 = (65536 - 10)%256;
  25.         TR0 = 1;   
  26.          EA = 1;                                
  27.         ET0 = 1;  
  28.                   
  29. }

  30. void init1()                           //定時(shí)器1初始化,用于超聲波測距
  31. {
  32.     TMOD=0X01;
  33.     TH1=0x00;
  34.     TL1=0x00;
  35. }

  36. void super_start()                            //超聲波發(fā)送信號(hào)
  37. {
  38.          trig=1;
  39.          delay(10);
  40.           trig=0;
  41. }

  42. void super_count()                                 //計(jì)算距離      
  43. {
  44.           timer=TH1*256+TL1;
  45.           TH1=0x00;
  46.           TL1=0x00;
  47.           date=(timer*1.7)/100;
  48.         
  49. }
  50. void cargo()                                              //小車前進(jìn)
  51. {
復(fù)制代碼




作者: 小貓貓愛吃魚    時(shí)間: 2018-10-23 22:22
你好!
1、首先你的代碼不全
2、功能代碼,還是需要細(xì)心調(diào)試
3、自動(dòng)轉(zhuǎn)彎,應(yīng)該是超聲波的問題
4、給你兩個(gè)實(shí)物參考一下
多功能小車,51系列 - 供求信息發(fā)布專區(qū) 單片機(jī)論壇
http://www.torrancerestoration.com/bbs/dpj-135627-1.html

WIFI(ESP8266)無線控制小車(畢設(shè)佳品) - 51單片機(jī) 單片機(jī)論壇
http://www.torrancerestoration.com/bbs/dpj-112679-1.html

作者: HC6800-ES-V2.0    時(shí)間: 2018-10-24 09:28
呵呵呵呵,這個(gè)小車我做過,你說的問題我有點(diǎn)心得,交流一下:
第一:你用的紅外對(duì)管避障模塊,它只有那么遠(yuǎn),夠了啊,12cm遠(yuǎn)的障礙物,剛好可以避開,也正好應(yīng)該避開啊。太遠(yuǎn)不用避,太近避不了的。
第二:由于是紅外模塊,所以對(duì)光線是很敏感的,環(huán)境光線太亮都會(huì)影響模塊——日常的光線中就有大量的紅外線。你說的這種情況,很可能就是因?yàn)榄h(huán)境光影響了模塊的工作。我是這樣解決問題的:第一:在很暗的環(huán)境中使用小車,一點(diǎn)問題都沒有;第二:老師教的方法:用紅色玻璃紙(水果糖的包裝紙)裹上對(duì)管四周。這種辦法也有不好的地方,就是會(huì)影響對(duì)管的感應(yīng)距離。你可以試試。
老師說過:玩單片機(jī),不僅僅是程序,還有硬件,硬件的選擇、調(diào)試不好,程序就發(fā)揮不了應(yīng)有的功能。
作者: 1061897836    時(shí)間: 2018-10-24 12:42
小貓貓愛吃魚 發(fā)表于 2018-10-23 22:22
你好!
1、首先你的代碼不全
2、功能代碼,還是需要細(xì)心調(diào)試

謝謝前輩指點(diǎn),有點(diǎn)思路了
作者: 1061897836    時(shí)間: 2018-10-24 12:42
HC6800-ES-V2.0 發(fā)表于 2018-10-24 09:28
呵呵呵呵,這個(gè)小車我做過,你說的問題我有點(diǎn)心得,交流一下:
第一:你用的紅外對(duì)管避障模塊,它只有那么 ...

謝謝前輩指點(diǎn),很有收獲~
作者: zjy007    時(shí)間: 2018-10-24 15:36
紅外的感覺不是你這么用的光都分散了,可以加個(gè)外罩,實(shí)測20厘米沒問題




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1