15.2. 實驗目的
研究智慧型小車結合紅外探頭尋跡前進。
15.3. 實驗材料(網上都能買到便宜)
tpyboard開發板1塊(能跑python語言的開發板,小車的大腦)
四路紅外感應探頭(小車的眼睛)
資料線一根
充電寶乙個(給整個系統供電)
智慧型小車底盤(包括驅動模組)
杜邦線若干
15.3.2. 四路紅外感應探頭
1、當模組檢測到前方障礙物訊號時,電路板上紅色指示燈點亮,同時out埠持續輸出低電平訊號,該模組檢測距離2~60cm,檢測角度35°,檢測距離可以通過電位器進行調節,順時針調電位器,檢測距離增加;逆時針調電位器,檢測距離減少。 2、感測器屬於紅外線反射探測,因此目標的反射率和形狀是探測距離的關鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。 3、 感測器模組輸出埠out可直接與微控制器io口連線即可, 也可以直接驅動乙個5v繼電器模組或者蜂鳴器模組;連線方式: vcc-vcc;gnd-gnd;out-io。 4、比較器採用lm339,工作穩定; 5、可採用3.3v-5v直流電源對模組進行供電。當電源接通時, 綠色電源指示燈點亮。
15.3.3. 智慧型小車底盤
雙電機驅動,萬向輪改變方向。這是實驗中最常用到的小車底盤,使用差速的方法進行轉彎。配合使用l298n電機驅動模組,使用方法很簡單,不多做介紹。
15.4. 尋跡原理15.4.1. 紅外探頭的安裝
小車尋跡的原理其實就光的吸收,反射和散射。在小車的前端有安裝孔,使用螺絲把紅外感測器固定在安裝孔上。保持發射端和接收端都保持豎直向下。
15.4.2. 返回訊號的判斷
在上面已經說了,紅外探頭在檢測到物體存在的時候,在out端會持續的輸出低電平。那麼調節調距電阻,調節到乙個適合的檢測距離。在小車行駛路面檢測到物體的時候,說明是前面是有路的,不是懸空的。那麼小車 保持直行。如果前方檢測到沒有返回,沒返回說明沒有檢測到物體,媽就說明前面是沒有路的,是懸空的,那麼小車就先進行後退,在進行右轉(也可以左轉,也可以一次右轉一次左轉,這個比較隨意。)。
15.5. 硬體接線
接線其實很簡單四路紅外探頭接線很簡單,雖然有十八根線,但是有十二根是三根三根的分成四組的,對應著很好接線,剩下的六根,vcc和gnd不多說了,還有四根是直接接到單片結io口上就可以的。l298n的接線更簡單了,這裡不多介紹。 上個簡單的幫助理解的原理圖 (其實我們做實驗都是插線,不做pcb圖和原理圖的)。
再上個實物圖給大家看看
15.6. 執行與除錯
製作完成後,剩下的就是該除錯了,除錯中應該注意細節和小車穩定性的優化。
import pyb
from pyb import uart
from pyb import pin
m0 = pin('x1', pin.in)
m1 = pin('x2', pin.in)
m2 = pin('x3', pin.in)
m3 = pin('x4', pin.in)
n1 = pin('y1', pin.out_pp)
n2 = pin('y2', pin.out_pp)
n3 = pin('y3', pin.out_pp)
n4 = pin('y4', pin.out_pp)
print('while')
while true:
print('while')
if(m2.value()|m1.value()|m3.value()|m0.value()==0):
n1.low()
n2.high()
n4.high()
n3.low()
pyb.led(2).on()
pyb.led(3).off()
elif(m2.value()|m1.value()|m3.value()|m0.value()==1):
n1.high()
n2.low()
n4.low()
n3.high()
pyb.delay(300)
n1.low()
n2.high()
n3.high()
n4.low()
pyb.delay(200)
pyb.led(3).on()
pyb.led(2).off()
micropython編譯流程
最近終於都考完了,雖然最近沒有發帖子,可是還是看了挺多東西的,都不深,就自己寫一點自己做的工作。root charles virtualbox media sf linux micropython master ports stm32 make use make v 1 or set build v...
了解MicroPython多執行緒
該模組提供了用於處理多個執行緒 也稱為輕量級程序或任務 的低階原語 多個控制線程共享其全域性資料空間。為 了同步,提供了簡單的鎖 也稱為互斥鎖或二進位制訊號量 發生執行緒特定錯誤時,會runtimeerror引發異常。快速使用示例 import thread import time def th f...
鹹魚micropython入門 函式
函式,即是將一段 封裝起來,用來實現特定的功能。除了micropython內建的函式,使用者也可以使用def語句自定義的函式。定義格式如下 def 函式 引數1 引數2 函式.函式定義完成後,使用函式名來呼叫函式,從而使用其功能。示例 函式可以接收輸入的值,並利用這些值做一些事。多個引數傳遞需要用逗...