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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2864|回復: 0
打印 上一主題 下一主題
收起左側

Micropython教程之TPYBoard制作藍牙+紅外循跡小車

[復制鏈接]
跳轉到指定樓層
樓主
  1.實驗目的

  學習在PC機系統中擴展簡單I/O接口的方法。

  進一步學習編制數據輸出程序的設計方法。

  學習藍牙模塊的接線方法及其工作原理。

  學習L298N電機驅動板模塊的接線方法。

  學習藍牙控制小車的工作原理。


  2.所需元器件

  TPYBoardv102板子1塊

  藍牙串口透傳模塊(HC-06)1個

  L298N電機驅動板模塊1個

  智能小車底盤1個

  數據線1條

  杜邦線若干

  智能藍牙小車APP(Android版)點擊下載




  3.藍牙串口模塊原理




  (1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車只用到RX,TX,GND,5V四個針腳

  (2)模塊默認波特率位9600,默認配對密碼為1234,默認名稱位為HC-06

  (3)led指示藍牙連接狀態,閃爍表示沒有藍牙連接,常亮表示藍牙已連接并打開了端口,當我們用安卓手機軟件發送指令時,通過串口給TPYBoard發送指令,TPYBoard收到指令通過L298BN模塊來驅動小車前進,后退,向左,向右或者停止。

  如下表接線:


[td]
藍牙模塊(HC-06)
TPYBoardv10x
5V
VIN(+5V)
GND
GND
RX
Y9(UART(3)-TX)
TX
Y10(UART(3)-RX)

    4.四路紅外循跡模塊




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

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

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

  (4)比較器采用LM339,工作穩定。

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

  5.四路紅外感應探頭的安裝

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

  6.判斷反饋的信號

  如果要是正前方的探頭接收不到光,那么說明小車此時走在黑色的尋跡帶上。可以使小車直線行走。如果左面的探頭接收不到光,那么說明小車左面出現了黑色尋跡帶,此時小車應該執行左轉彎。右轉彎同左轉彎原理。如果要是小車前面,左面,右面三個方向全都接收不到光,或者是兩個方向上的探頭都接收不到光,到底是左轉彎,右轉彎還是繼續直行,這個就要看你自己在程序里怎么做判斷了。

  7.探頭的安裝與接線

  四路紅外探頭接線很簡單,雖然有十八根線,但是有十二根是三根三根的分成四組,一一對應接線,其余的六根,是VCC和GND。還有四根是接到TPYBoardv10x開發板的IO口上的,用于接收四路紅外循跡模塊反饋的信號。

  接線OK后,編寫main.py,給TPYBoard通電就ok了,下面是源代碼。

  8.源代碼

  1. # main.py -- put your code here!
  2. import pyb
  3. from pyb import UART
  4. from pyb import Pin

  5. N1 = Pin('X1', Pin.OUT_PP)
  6. N2 = Pin('X2', Pin.OUT_PP)
  7. N3 = Pin('X3', Pin.OUT_PP)
  8. N4 = Pin('X4', Pin.OUT_PP)

  9. M1 = Pin('Y1', Pin.IN)
  10. M2 = Pin('Y2', Pin.IN)
  11. M3 = Pin('Y3', Pin.IN)
  12. M4 = Pin('Y4', Pin.IN)

  13. blue=UART(3,9600)
  14. mode='1'#1:表示藍牙模式 2:循跡模式

  15. def Stop():
  16.     N1.low()
  17.     N2.low()
  18.     N3.low()
  19.     N4.low()
  20. def Back():
  21.     N1.high()
  22.     N2.low()
  23.     N3.high()
  24.     N4.low()
  25. def Go():
  26.     N1.low()
  27.     N2.high()
  28.     N3.low()
  29.     N4.high()
  30. def Left():
  31.     N1.high()
  32.     N2.low()
  33.     N3.low()
  34.     N4.high()
  35. def Right():
  36.     N1.low()
  37.     N2.high()
  38.     N3.high()
  39.     N4.low()
  40. while True:
  41.     if blue.any()>0:
  42.         data=blue.read().decode()
  43.         print(data)
  44.         if data.find('0')>-1:
  45.             #stop
  46.             Stop()
  47.             mode="1"
  48.             print('stop')
  49.         if data.find('1')>-1:
  50.             Go()
  51.             print('go')
  52.         if data.find('2')>-1:
  53.             Back()
  54.             pyb.delay(500)
  55.             Stop()
  56.         if data.find('3')>-1:
  57.             Left()
  58.             pyb.delay(250)
  59.             Stop()
  60.         if data.find('4')>-1:
  61.             Right()
  62.             pyb.delay(250)
  63.             Stop()
  64.         if data.find('5')>-1:
  65.             mode="1"
  66.             Stop()
  67.         if data.find('6')>-1:
  68.             mode="2"
  69.     else:
  70.         if mode=="2":
  71.             print('循跡模式')
  72.             if(M1.value() and M2.value() and M3.value()):
  73.                 Stop()
  74.                 mode="1"
  75.             if(M2.value() or M3.value()):
  76.                 pyb.LED(2).on()
  77.                 pyb.LED(3).off()
  78.                 pyb.LED(4).off()
  79.                 Go()
  80.             if M1.value():
  81.                 pyb.LED(3).on()
  82.                 pyb.LED(2).off()
  83.                 pyb.LED(4).off()
  84.                 Right()
  85.                 pyb.delay(10)
  86.             if M4.value():
  87.                 pyb.LED(4).on()
  88.                 pyb.LED(2).off()
  89.                 pyb.LED(3).off()
  90.                 Left()
  91.                 pyb.delay(10)
復制代碼



  9.智能藍牙小車APP的使用

  下載安裝后,打開[藍牙智能小車]APP,進入操作界面。如下:





  點擊左下角的桃心圖標,進入自定義編碼界面。通過這個界面,我們可以自定義操作界面中各個按鍵發出去的指令內容。如下:





  點擊頁面下方的關于我們,可以加入我們的技術交流群和關注微信公眾號。如下:





  接下來,回到一開始的操作界面,點擊右下角的設置圖標,進行藍牙模塊的連接。首先先點擊[搜索藍牙設備],界面會自動加載搜索到的藍牙設備,當出現HC-06時,點擊進行連接。





  如果是第一次連接,需要進行配對,配對的密碼默認1234。





  提示連接成功后,我們就可以通過四個方向鍵來操縱智能藍牙小車了。

  大家可以看到,右上角的圖標,可以進行藍牙模式和循跡模式的切換。當按下時,兩種模式來回切換。當處于循跡模式時,界面如下。

  



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级做受毛片免费大片 | 国产成人综合一区二区三区 | 亚洲精品区| 亚洲成人精品在线 | 99热精品久久 | 一级黄色片一级黄色片 | 亚洲视频中文字幕 | 国产精品色综合 | 中文字幕 在线观看 | 综合亚洲视频 | 九九视频在线观看视频6 | 超碰91在线 | 日韩精品一区二区三区中文在线 | 精品国产一区一区二区三亚瑟 | 你懂的在线视频播放 | 国产精品久久久久久一级毛片 | 国产一二区免费视频 | 天色综合网| 亚洲精品国产电影 | 伊人久久在线 | 91传媒在线观看 | 日韩精品成人 | 97av | 91 在线| 国产精品久久久久久久久久东京 | 亚洲免费在线视频 | 成人精品久久 | 一级大片网站 | 欧美一区二区三区久久精品 | 99久久国产综合精品麻豆 | 日韩欧美在线一区 | 黄色国产视频 | 亚洲高清在线免费观看 | 国产一区影院 | 一区二区精品视频 | 国产一区二区三区高清 | 久久1区| 欧美综合一区二区三区 | 男女羞羞视频网站 | 亚洲a一区| 99久久婷婷国产综合精品电影 |