久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3438|回復: 0
收起左側

MicroPython教程之TPYBoard開發(fā)板DIY紅外尋跡小車

[復制鏈接]
ID:130183 發(fā)表于 2017-9-22 16:34 | 顯示全部樓層 |閱讀模式
  智能小車現(xiàn)在差不多是電子競賽或者DIY中的主流了,尋跡,壁障,遙控什么的,相信大家也都見得很多了,這次就大家探討一下尋跡小車的制作方法,不同于以往的是這次的程序不用C語言寫,而是要使用python語言寫。

  視頻演示:

  

  1.實驗目的

  研究智能小車結合紅外探頭尋跡前進。

  2.實驗材料

  TPYBoard開發(fā)板1塊(能跑python語言的開發(fā)板,小車的大腦。)

v102.jpg

  四路紅外感應探頭(小車的眼睛)。

  數(shù)據(jù)線一根。

  充電寶一個(給整個系統(tǒng)供電)。

  智能小車底盤(包括驅動模塊)。

  杜邦線若干。

  實驗目的和實驗材料準備齊了,先來介紹一下各個主要部件。

  2.1PYBoard開發(fā)板

  MicroPython是在單片機上可以跑的Python,也就是說,你可以通過Python腳本語言開發(fā)單片機程序。由劍橋大學的理論物理學家喬治·達明設計。和Arduino類似,但MicroPython更強大。MicroPython開發(fā)板讓你可以通過Python代碼輕松控制微控制器的各種外設,比如LED等,讀取管腳電壓,播放歌曲,和其他設備聯(lián)網等等。TPYBoard是TurnipSmart公司制作的一款MicroPython開發(fā)板,這款開發(fā)板運行很流暢,關鍵是價格很便宜。

  2.2四路紅外感應探頭

  1、當模塊檢測到前方障礙物信號時,電路板上紅色指示燈點亮,同時OUT端口持續(xù)輸出低電平信號,該模塊檢測距離2~60cm,檢測角度35°,檢測距離可以通過電位器進行調節(jié),順時針調電位器,檢測距離增加;逆時針調電位器,檢測距離減少。

  2、傳感器屬于紅外線反射探測,因此目標的反射率和形狀是探測距離的關鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。

  3、傳感器模塊輸出端口OUT可直接與單片機IO口連接即可,也可以直接驅動一個5V繼電器模塊或者蜂鳴器模塊;連接方式:VCC-VCC;GND-GND;OUT-IO

  4、比較器采用LM339,工作穩(wěn)定;

  5、可采用3.3V-5V直流電源對模塊進行供電。當電源接通時,綠色電源指示燈點亮。

  2.3智能小車底盤

  雙電機驅動,萬向輪改變方向。這是實驗中最常用到的小車底盤,使用差速的方法進行轉彎。配合使用L298N電機驅動模塊,使用方法很簡單,不多做介紹。

  3.尋跡原理

  說完了原料的問題,下面說一下小車尋跡的原理。

  3.1紅外探頭的安裝

  小車尋跡的原理其實就光的吸收,反射和散射。大家都知道,白色反射所有顏色的光,而黑色吸收所有顏色的光,這就為小車尋跡提供了有力的科學依據(jù)。在小車的車頭上安裝上紅外探頭(我是安裝了四個),一字順序排開。哪個探頭接收不到反射或者散射回來的光時,說明這個探頭此時正在黑色的尋跡帶上。

  3.2返回信號的判斷

  如果要是正前方的探頭接收不到光,那么說明小車此時走在黑色的尋跡帶上。可以使小車直線行走。如果左面的探頭接收不到光,那么說明小車左面出現(xiàn)了黑色尋跡帶,此時小車應該執(zhí)行左轉彎。右轉彎同左轉彎原理。

  如果要是小車前面,左面,右面三個方向全都接收不到光,或者是兩個方向上的探頭都接收不到光,到底是左轉彎,右轉彎還是繼續(xù)直行,這個就要看你自己在程序里怎么做判斷了。

  4.硬件接線:

  接線其實很簡單四路紅外探頭接線很簡單,雖然有十八根線,但是有十二根是三根三根的分成四組的,對應著很好接線,剩下的六根,VCC和GND不多說了,還有四根是直接接到單片結IO口上就可以的。        L298N的接線更簡單了,這里不多介紹。

  上個簡單的幫助理解的原理圖(其實我們做實驗都是插線,不做PCB圖和原理圖的)。

1.png


  再上個實物圖給大家看看。


2.jpg

  5.運行與調試

  制作完成后,剩下的就是該調試了,調試中應該注意細節(jié)和小車穩(wěn)定性的優(yōu)化。

  6.代碼編寫

  再把我寫的程序給大家看一下,有需要的可以看一下。

  源代碼:
  1. import pyb
  2. from pyb import UART
  3. from pyb import Pin

  4. M0 = Pin('X1', Pin.IN)
  5. M1 = Pin('X2', Pin.IN)
  6. M2 = Pin('X3', Pin.IN)
  7. M3 = Pin('X4', Pin.IN)
  8. N1 = Pin('Y1', Pin.OUT_PP)
  9. N2 = Pin('Y2', Pin.OUT_PP)
  10. N3 = Pin('Y3', Pin.OUT_PP)
  11. N4 = Pin('Y4', Pin.OUT_PP)

  12. print('while')
  13. while True:
  14.     print('while')
  15.     pyb.LED(4).off()
  16.     pyb.LED(3).off()
  17.     pyb.LED(2).off()
  18.     if(M0.value()==1):#檢測到物體返回0。
  19.         pyb.LED(4).on()
  20.         pyb.delay(50)
  21.         N1.low()
  22.         N2.high()
  23.         N3.low()
  24.         N4.high()
  25.         pyb.delay(30)
  26.         #pyb.delay(5000)
  27.     if(M3.value()==1):#檢測到物體返回0。
  28.         pyb.LED(3).on()
  29.         pyb.delay(50)
  30.         N1.high()
  31.         N2.low()
  32.         N3.high()
  33.         N4.low()
  34.         pyb.delay(30)
  35.     if(M2.value()&M1.value()==1):
  36.         pyb.LED(2).on()
  37.         N1.low()
  38.         N2.high()
  39.         N3.high()
  40.         N4.low()
  41.         pyb.delay(70)
復制代碼





回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线免费观看av | 欧美自拍网站 | 亚洲精久久久 | 蜜桃在线一区二区三区 | 日韩a在线| 特级黄一级播放 | 欧美不卡一区二区三区 | 在线看片网站 | 精品人伦一区二区三区蜜桃网站 | 荷兰欧美一级毛片 | 一级毛片视频免费观看 | 欧美日韩三级在线观看 | 亚洲成人www| 久久99精品久久久久蜜桃tv | 亚洲电影一区二区三区 | 金莲网| 黄网址在线观看 | 亚洲一区中文字幕 | 成人欧美一区二区三区在线播放 | 成人免费xxxxx在线视频 | 91久久精品一区二区二区 | 精久久久久 | 日韩一区中文字幕 | 91热爆在线观看 | 欧美福利网站 | 日韩欧美一区二区三区免费观看 | 国产精品v | 一级毛片免费完整视频 | 一本大道久久a久久精二百 国产成人免费在线 | 国产免费一区二区三区免费视频 | 欧美一卡二卡在线 | 久久久久亚洲精品 | 欧美人妇做爰xxxⅹ性高电影 | 国产精品日韩在线观看一区二区 | 国产精品久久久久久久久久三级 | 精品一区二区三区视频在线观看 | 亚洲欧美在线观看视频 | 91在线视频播放 | 国产91久久精品一区二区 | 色.com| 国产日韩一区二区三免费高清 |