找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

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

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


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



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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

謝謝前輩指點(diǎn),有點(diǎn)思路了
回復(fù)

使用道具 舉報(bào)

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

謝謝前輩指點(diǎn),很有收獲~
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表