找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2918|回復: 5
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機避障智能小車制作的幾個問題~求交流指點一下

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:403916 發(fā)表于 2018-10-23 21:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
最近鄙人學單片機一直想嘗試做東西實踐一下,于是就決定做一個常見的智能小車,用兩個紅外對管模塊和超聲波傳感器簡單做了避障的功能,但是就出現(xiàn)了問題,程序修改了幾次,也找同學一起研究了一下,還是想不到為啥,還望各位大佬指點迷津~


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



單片機源碼:
  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ù)
  17. {
  18.          while(i--);
  19. }


  20. void init0()                              //定時器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()                           //定時器1初始化,用于超聲波測距
  31. {
  32.     TMOD=0X01;
  33.     TH1=0x00;
  34.     TL1=0x00;
  35. }

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

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



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:303383 發(fā)表于 2018-10-23 22:22 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復

使用道具 舉報

板凳
ID:164602 發(fā)表于 2018-10-24 09:28 | 只看該作者
呵呵呵呵,這個小車我做過,你說的問題我有點心得,交流一下:
第一:你用的紅外對管避障模塊,它只有那么遠,夠了啊,12cm遠的障礙物,剛好可以避開,也正好應該避開啊。太遠不用避,太近避不了的。
第二:由于是紅外模塊,所以對光線是很敏感的,環(huán)境光線太亮都會影響模塊——日常的光線中就有大量的紅外線。你說的這種情況,很可能就是因為環(huán)境光影響了模塊的工作。我是這樣解決問題的:第一:在很暗的環(huán)境中使用小車,一點問題都沒有;第二:老師教的方法:用紅色玻璃紙(水果糖的包裝紙)裹上對管四周。這種辦法也有不好的地方,就是會影響對管的感應距離。你可以試試。
老師說過:玩單片機,不僅僅是程序,還有硬件,硬件的選擇、調(diào)試不好,程序就發(fā)揮不了應有的功能。
回復

使用道具 舉報

地板
ID:403916 發(fā)表于 2018-10-24 12:42 | 只看該作者
小貓貓愛吃魚 發(fā)表于 2018-10-23 22:22
你好!
1、首先你的代碼不全
2、功能代碼,還是需要細心調(diào)試

謝謝前輩指點,有點思路了
回復

使用道具 舉報

5#
ID:403916 發(fā)表于 2018-10-24 12:42 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2018-10-24 09:28
呵呵呵呵,這個小車我做過,你說的問題我有點心得,交流一下:
第一:你用的紅外對管避障模塊,它只有那么 ...

謝謝前輩指點,很有收獲~
回復

使用道具 舉報

6#
ID:241273 發(fā)表于 2018-10-24 15:36 | 只看該作者
紅外的感覺不是你這么用的光都分散了,可以加個外罩,實測20厘米沒問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表