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

標題: Micropython控制加速度傳感器無線小車 [打印本頁]

作者: bodasister    時間: 2016-8-17 16:59
標題: Micropython控制加速度傳感器無線小車
    現在無線控制已經成為了電子科學領域的主流,這次就來教大家做一個主流中的主流--無線控制的小車,先給大家看一下最終的成品演示視頻:

http://v.youku.com/v_show/id_XMTY2MzAzNDAzNg==.html



    首先介紹一下需要用到的材料:

    TPYBoardv10x開發板兩塊
    小車底盤一個
    LORA無線模塊兩塊
    充電寶一個
    9014三極管兩個(為什么用到它呢,后面再說)。

    在這個開發板上有一個及速度傳感器,我是看到開發板上有個加速度傳感器才想起來這樣做的,這里的呢我們先介紹一下加速度傳感器。(注:本人用的是下面的開發板,大家可根據個人喜好自行選擇,這里僅以此板子為例




    加速度傳感器,包括由硅膜片、上蓋、下蓋,膜片處于上蓋、下蓋之間,鍵合在一起;一維或二維納米材料 、金電極和引線分布在膜片上,并采用壓焊工藝引出導線;工業現場測振傳感器,主要是壓電式加速度傳感器。其工作原理主要利于壓電敏感元件的壓電效應得到與振動或者壓力成正比的電荷量或者電壓量。目前工業現場典型采用IEPE型加速度傳感器,及內置IC電路壓電加速度傳感器,傳感器輸出與振動量正正比的電壓信號,例如:100mV/g (每個加速度單位輸出100mV電壓值。1g=9.81m/s-2)。

    關于上面的介紹你是不是沒看懂?沒看懂也沒關系,那是我參照官方的介紹寫的,其實我也看不懂。其實通俗的說吧,加速度傳感器就是通過測量由于重力引起的加速度,你可以計算出設備相對于水平面的傾斜角度。通過分析動態加速度,你可以分析出設備移動的方式。是不是還是不太懂怎么獲取這個傾斜的值?那也沒關系,我們的Python語言里有獲得這個傾斜值的函數,直接使用就可以啦。但是這里值得注意的是,這個函數返回的傾斜度是一個值,每一個傳感器因為做工時的差異,返回值不同,這個需要大家自己做實驗看一下。

    得到傾斜值后,下面的工作的就簡單了,那就是判斷板子在怎么傾斜,然后把傾斜的信號傳出去,這樣就OK啦,妥妥噠。

    介紹完了這控制端的,那咱們得說說怎么把控制的信號傳出吧。這里呢主要是使用了lora模塊,這個模塊現在還是挺流行的。我親自去做過一個傳輸距離的實驗,具體的距離我沒測,但是我感覺最起碼也得有個二三里地吧,這距離對于做個小車妥妥噠夠用啦。

    說一下lora模塊的使用吧,lora模塊的使用呢,也很簡單,串口通信,無線透傳。就是說你使用單片機通過串口給模塊什么,模塊就給你傳輸什么(定點的話需要帶上地址信道),這個lora模塊說明說的很詳細。但是是不是覺得還要用串口,感覺好麻煩?我也覺得麻煩,但是Python語言和這個開發板的功能都很強大,有一個寫好的使用串口的方法,直接調用就可以(瞬間感覺開發好簡單啦)。

    上面介紹了控制端的工作和原理,下面說一下被控制端(就是按在小車上的)。

    被控制端就是要使用開發板控制小車地盤的電機轉動,這里被我被坑了一次,我在某寶上買這架車的時候,問了客服需不需要其他的東西,客服說不用。我感覺現在連電機的驅動都不用啦,感覺好高端,但是買回來發現還是需要一個L298N驅動。瞬間感覺被騙了,但是,悲憤的同時,我的兩個9014上場了,簡單的做了一個三極管開關電路,妥妥噠(雖然速度略慢)。

    信號接收部分,這個和控制端差不多的,都是使用了lora模塊,然后把收到的數據做判斷。判斷后再按照自己的邏輯驅動電機,小車就開起來了(小車怎么拐彎的我就不介紹了,網上教程大把多)。

    上面說了這么多,其實也很抽象啦,下面來個聚象的,上圖。

    先上一個自己畫的簡單的原理圖。

    控制器

   
    被控制端

    這兩張圖是我畫來幫助大家理解的(我這樣做的被控制端的電路,速度略慢。大家可以在驅動那里做個放大電路,速度可以上去的,但是不能后退,大家可以直接使用L298N驅動。),我做的時候是使用杜邦線的,并沒有電路圖,再上一張成品圖給大家看。

  
    成品圖

    這些都是給大家參考的,大家做的時候多學習多看看,親身體驗了才能真的學到東西。

    下面的程序給大家,大家可以參考一下。

    控制端源代碼:

  1. import pyb
  2.     xlights = (pyb.LED(2), pyb.LED(3))
  3.     ylights = (pyb.LED(1), pyb.LED(4))
  4.     from pyb import UART
  5.     from pyb import Pin
  6.     #from ubinascii import hexlify
  7.     from ubinascii import *
  8.     accel = pyb.Accel()
  9.     u2 = UART(2, 9600)
  10.     i=0
  11.     K=1
復制代碼


    *******************************主程序**********************************

   被控制端源代碼:
   
  1. import pyb
  2.     from pyb import UART
  3.     from pyb import Pin
  4.     from ubinascii import hexlify
  5.     from ubinascii import *
  6.     M1 = Pin('X1', Pin.OUT_PP)
  7.     M3 = Pin('Y1', Pin.OUT_PP)
  8.     u2 = UART(2, 9600)
  9.     i=0
  10.     K=1
復制代碼


    *******************************主程序**********************************
  1.   print('while')
  2.     while (K>0):
  3.     M1.high()
  4.     pyb.delay(3)
  5.     M3.high()
  6.     if(u2.any()>0):
  7.     print('1234')
  8.     M1.low()
  9.     M3.low()
  10.     pyb.delay(3)
  11.     _dataRead=u2.readall()
  12.     print('123',_dataRead)
  13.     if(_dataRead.find(b'QIAN')>-1):
  14.     M1.low()
  15.     M3.low()
  16.     print('QIAN')
  17.     pyb.delay(250)
  18.     elif(_dataRead.find(b'ZUO')>-1):
  19.     M1.low()
  20.     M3.high()
  21.     print('ZUO')
  22.     pyb.delay(250)
  23.     elif(_dataRead.find(b'YOU')>-1):
  24.     M1.high()
  25.     M3.low()
  26.     print('ZUO')
  27.     pyb.delay(250)
復制代碼




作者: admin    時間: 2016-8-20 02:31
好東東,51黑論壇有你更精彩!!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品一区二区在线视频 | www.嫩草| 999精品网 | 久久99视频精品 | 久久福利电影 | 亚洲国产成人精品一区二区 | 亚洲国产成人av | 在线亚洲免费 | 亚洲精品久久久一区二区三区 | 色毛片 | 久久久久久91 | 欧美黑人又粗大 | 日本亚洲精品成人欧美一区 | 日韩精品一区在线 | 日本精品视频一区二区 | 欧美亚州 | 久久精品国产精品青草 | 91在线一区 | 精品熟人一区二区三区四区 | 综合色播 | 国产精品视频免费观看 | 99婷婷 | 亚洲经典一区 | 欧美日一区二区 | 亚洲国产一区二区三区 | 午夜天堂精品久久久久 | 成人免费一区二区三区牛牛 | 91天堂| 国产91一区| 日本三级网站在线观看 | 免费看黄色片 | 91深夜福利视频 | 99视频免费在线 | 99精品视频网 | 久久国产精品99久久久久 | 狠狠干av | 九九九视频精品 | 国产欧美视频一区二区三区 | 荷兰欧美一级毛片 | 黄色片在线网站 | 激情欧美一区二区三区 |