日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Micropython 红外防坠落小车实验教程

發布時間:2025/4/5 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Micropython 红外防坠落小车实验教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 智能小車現在差不多是電子競賽或者DIY中的主流了,尋跡,壁障,遙控什么的,相信大家也都見得很多了,這次就大家探討一下防墜落小車的制作方法,不同于以往的是這次的程序不用C語言寫,而是要使用python語言寫。下面給大家看一下視頻演示:

視頻連接??//v.youku.com/v_show/id_XMTcwNjAwNjMwOA==.html


15.2. 實驗目的

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


15.3. 實驗材料(網上都能買到便宜)

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

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

數據線一根

充電寶一個(給整個系統供電)

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

杜邦線若干

15.3.1. TPYBoard v102開發板

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


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. 運行與調試

制作完成后,剩下的就是該調試了,調試中應該注意細節和小車穩定性的優化。


15.7. 代碼編寫

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

源代碼:

import pyb from pyb import UART from pyb import PinM0 = 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()

  

轉載于:https://www.cnblogs.com/xxosu/p/8278364.html

總結

以上是生活随笔為你收集整理的Micropython 红外防坠落小车实验教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。