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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Python藍牙智能小車交教程實例

[復制鏈接]
跳轉到指定樓層
樓主
    給大家介紹一個Python手機藍牙遙控智能小車的制作教程,小車制作采用的是Python開發語言,MCU為TPYBoard,一款支持Python語言的MicroPython開發板,先一起看下成品的視頻演示吧!詳細的教程可參考TPYBoard官網例程。也可加入MicroPythonQQ交流群:157816561,一起學習Python開發!






    首先介紹一下用到的開發板——TPYBoard

    TPYBoard是遵守MIT協議由TurnipSmart公司制作的一款MicroPython開發板,它是基于STM32F405單片機,通過USB接口進行數據傳輸。該開發板內置4個LED燈、一個加速傳感器、時鐘模塊,可在3V-10V之間的電壓正常工作。簡而言之,TPYBoard通過Python腳本語言實現單片機的控制,單片機能做什么就等于TPYBoard能做什么。




    1.實驗目的

    1. 學習在PC機系統中擴展簡單I/O 接口的方法。
    2. 進一步學習編制數據輸出程序的設計方法。
    3. 學習藍牙模塊的接線方法及其工作原理。
    4. 學習 L298N電機驅動板模塊的接線方法。
    5. 學習藍牙控制小車的工作原理。





    2.所需元器件

    TPYBoard板子一塊
    藍牙串口模塊一個
    L298N電機驅動板模塊一個
    智能小車底盤一個
    數據線一條
    杜邦線若干



    3.藍牙串口模塊原理

    (1)引出接口包括EN,5V,GND,TX,RX,STATE,我們小車只用到RX,TX,GND,5V四個針腳。
    (2)模塊默認波特率位9600,默認配對密碼為1234,默認名稱位為HC-06。
    (3)led指示藍牙連接狀態,閃爍表示沒有藍牙連接,常亮表示藍牙已連接并打開了端口,當我們用安卓手機軟件發送指令時,通過串口給TPYBoard發送指令,TPYBoard收到指令通過L298BN模塊來驅動小車前進,后退,向左,向右或者停止。
    如下圖接線,5V 接TPYBoard的VIN, GND 為地線,TX接TPYBoard的RX(這用的是TPYBoard串口2,X3,X4)即X4,RX接TPYBoard的TX即X3。




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

    本模塊是2路的H橋驅動,所以可以同時驅動兩個電機,接法如圖所示使能ENA ENB之后,可以分別從IN1 IN2輸入PWM信號驅動電機1的轉速和方向,可以分別從IN3 IN4輸入PWM信號驅動電機2的轉速和方向。我們將電機1接口的OUT1與OUT2與小車的一個電機的正負極連接起來,將電機2接口的OUT3與OUT2與小車的另一個電機的正負極連接起來。然后將兩邊的接線端子,即供電正極(中間的接線端子為接地)連接TPYboard的VIN,中間的接線端子即接地,連接TPYBoard的GND,In1-In4連接TPYBoard的Y1,Y2,Y3,Y4,通過Y1,Y2與Y3,Y4的高低電平,來控制電機的轉動,從而讓小車前進,后退,向左,向右。




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

    5.源代碼

  1. import pyb
  2. from pyb import UART
  3. from pyb import Pin
  4.   
  5. M2 = Pin('X3', Pin.IN)
  6. M3 = Pin('X4', Pin.IN)
  7. N1 = Pin('Y1', Pin.OUT_PP)
  8. N2 = Pin('Y2', Pin.OUT_PP)
  9. N3 = Pin('Y3', Pin.OUT_PP)
  10. N4 = Pin('Y4', Pin.OUT_PP)
  11.   
  12. u2 = UART(2, 9600)
  13.   
  14. while True:
  15.     pyb.LED(2).on()
  16.     pyb.LED(3).on()
  17.     pyb.LED(4).on()
  18.     _dataRead=u2.readall()
  19.     if _dataRead!=None:
  20.     #停止(讀取手機APP傳過來的指令,不同的軟件指令可能不同,可以自己設定,在這里是默認的,下同)
  21.         if(_dataRead.find(b'\xa5Z\x04\xb1\xb5\xaa')>-1):
  22.             print('stop')
  23.             N1.low()
  24.             N2.low()
  25.             N3.low()
  26.             N4.low()
  27.         #向左
  28.         elif(_dataRead.find( b'\xa5Z\x04\xb4\xb8\xaa')>-1):
  29.             print('left')
  30.             N1.low()
  31.             N2.high()
  32.             N3.high()
  33.             N4.low()
  34.         #向右
  35.         elif(_dataRead.find( b'\xa5Z\x04\xb6\xba\xaa')>-1):
  36.             print('right')
  37.             N1.high()
  38.             N2.low()
  39.             N3.low()
  40.             N4.high()
  41.         #后退
  42.         elif(_dataRead.find(b'\xa5Z\x04\xb5\xb9\xaa')>-1):
  43.             print('back')
  44.             N2.high()
  45.             N1.low()
  46.             N4.high()
  47.             N3.low()
  48.         #向前   
  49.         elif(_dataRead.find( b'\xa5Z\x04\xb2\xb6\xaa')>-1):
  50.             print('go')
  51.             N1.high()
  52.             N2.low()
  53.             N3.high()
  54.             N4.low()
復制代碼









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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色在线免费 | 亚洲视频一区在线播放 | 91视频网 | 男女羞羞在线观看 | 国产www在线 | 亚洲激情专区 | 99国内精品久久久久久久 | 国产精品区二区三区日本 | 亚洲一二三区不卡 | 在线看av的网址 | 美女天堂| 亚洲国产精品久久久久秋霞不卡 | 色爱av| 日本一道本视频 | 欧美久久久电影 | 国户精品久久久久久久久久久不卡 | 亚洲第一区国产精品 | 国产精品一区二区欧美黑人喷潮水 | 国产欧美性成人精品午夜 | 毛片免费在线观看 | 毛片免费看的 | 日韩欧美在线视频 | 久久久久久精 | 日韩毛片播放 | 久久亚洲一区二区 | 欧美午夜精品久久久久免费视 | 久草成人网 | 男女视频免费 | 亚洲久久久 | 成人欧美一区二区三区在线播放 | 久久久精品 | 日韩欧美三级电影在线观看 | 久久精品国产亚洲 | 国产一级免费在线观看 | 国产91 在线播放 | 精品久久久久久一区二区 | 久久亚洲综合 | 网黄在线 | 亚洲精品在线看 | 亚洲人成网站777色婷婷 | 国产精品一区二区无线 |