• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用串口實現(xiàn)Arduino雙機多通道數(shù)據(jù)傳輸

      2016-07-09 08:28:13王剛
      數(shù)字技術(shù)與應用 2016年6期
      關(guān)鍵詞:雙機字節(jié)校驗

      王剛

      摘要:近年來隨著計算機技術(shù),移動信息以及物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,移動互聯(lián)網(wǎng)的成熟運用,物聯(lián)網(wǎng)為我們的生活帶來了很大的方便,越來越多的應用場合中需要嵌入式系統(tǒng)進行無線傳輸。本文研究了Arduino系統(tǒng)利用無線串口實現(xiàn)雙機多通道數(shù)據(jù)傳輸?shù)姆椒ǎ瑢崿F(xiàn)了數(shù)據(jù)傳輸時的同步與校驗。

      關(guān)鍵詞: Arduino串口多通道 數(shù)據(jù)傳輸

      中圖分類號:TN923 文獻標識碼:A 文章編號:1007-9416(2016)06-0000-00

      1 需求概述

      Arduino是當前最流行的開源電子平臺之一,易于上手節(jié)約學習成本,縮短了開發(fā)周期,從日常生活中的智能小裝置到3D打印機,Arduino讓人們發(fā)現(xiàn)很多以前只有專業(yè)人員才能進入的領(lǐng)域普通愛好者也是可以涉足的。

      在一個五軸機械臂項目中,需要使用5個電位器對機械臂的相應關(guān)節(jié)進行遙控,一般通用的采用PPM控制方式的模型遙控器只有兩個十字搖桿,在數(shù)量上以及操作方式上都無法滿足需求,因此筆者用兩個Arduino實現(xiàn)了多通道控制信號的發(fā)送與接收。

      2 Arduino的串口通信

      在單片機的實際應用中,串口通信非常普遍,只需少量幾根線就能和其他串口設(shè)備通訊。 Arduino是通過USB轉(zhuǎn)成TTL串口下載程序的,數(shù)字接口D0和D1就是TTL串口中的RX和TX。Arduino中提供了十余個串口相關(guān)函數(shù),使用Serial.begin()指定傳輸時的波特率即可,例如Serial.begin(9600),表示速率為9600bit/s,收發(fā)雙方的速率要保持一致。在程序中,使用Serial.print() 函數(shù)可以從串口輸出我們需要的變量或者字符串信息(以ASCII文本方式),利用IDE中的串口監(jiān)視器,開發(fā)者可以查看單片機輸出的信息,這也是調(diào)試程序的主要手段之一。此外,還有一個Serial.write()方法,不同于print方法,此方法是把二進制數(shù)據(jù)輸出到串口。

      3 收發(fā)實現(xiàn)

      以5通道遙控為例,筆者設(shè)計的收發(fā)同步與校驗方案如下:發(fā)射端的Arduino每組發(fā)送7個數(shù)據(jù),第1個為同步起始標記(255,即8個二進制1),然后是5個控制信號(s1~s5),每個信號用于操作指定關(guān)節(jié)的舵機,此外還需要一個校驗數(shù)據(jù),本文采用了較簡單的校驗方式,把5路信號值相加作為校驗數(shù)據(jù)一并發(fā)送出去。本項目中采用的是數(shù)據(jù)發(fā)送方式,Serial.write()方法發(fā)送的數(shù)據(jù)只能有1個字節(jié),也就是0-255之間的整數(shù)。如果s1到s5累加得到的數(shù)據(jù)超過255,系統(tǒng)會舍棄高位部分,只發(fā)送低位的字節(jié)。

      因為串口接收的數(shù)據(jù)只有1個字節(jié),所以計算校驗數(shù)據(jù)時需要把s1到s5的和強制類型轉(zhuǎn)換為byte類型,這樣才可以和接收到的校驗數(shù)據(jù)serv[6]做比較,在接收端的串口監(jiān)視器中可以看到,每一秒都會接收到一組數(shù)據(jù),和發(fā)送方傳出的數(shù)據(jù)完全一致,收發(fā)功能順利實現(xiàn)。

      圖1所示,Arduino中的串口傳輸非常簡單方便,我們可以看到在程序中沒有任何涉及藍牙或者其他無線串口模塊的特殊命令,本文中筆者使用的是基于SI4432芯片的無線串口透傳模塊,只需要兩個配置相同的模塊分別接在收發(fā)兩端的Arduino上即可(模塊和Arduino的RX和TX接口交叉連接),如果使用藍牙模塊,其電路接法與程序都不需要變化,只需要提前使用AT命令給2個藍牙模塊進行主從配對即可。

      因為Arduino程序上傳也是通過串口實現(xiàn)的,為了避免沖突,在更新程序時需要先把串口設(shè)備的RX/TX線斷開,否則無法上傳程序。

      參考文獻

      [1]趙志,著.Arduino開發(fā)實戰(zhàn)指南[M].機械工業(yè)出版社,2015.

      [2]陳呂洲,著.Arduino程序設(shè)計基礎(chǔ)[M].北京航天航空出版社,2014.

      猜你喜歡
      雙機字節(jié)校驗
      基于雙機并車推進型式的接排特性研究
      No.8 字節(jié)跳動將推出獨立出口電商APP
      雙機、雙槳軸系下水前的安裝工藝
      No.10 “字節(jié)跳動手機”要來了?
      雙機牽引ZDJ9道岔不同步問題的處理
      爐溫均勻性校驗在鑄鍛企業(yè)的應用
      簡談MC7字節(jié)碼
      Loader軸在雙機桁架機械手上的應用
      大型電動機高阻抗差動保護穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      突泉县| 酉阳| 信阳市| 临猗县| 汉源县| 渑池县| 绍兴县| 淮阳县| 翼城县| 孝感市| 洮南市| 江陵县| 新巴尔虎左旗| 乐业县| 武川县| 嫩江县| 竹溪县| 杭锦旗| 东至县| 什邡市| 黄龙县| 徐汇区| 嘉善县| 南昌市| 兴国县| 阜宁县| 淮北市| 巴林右旗| 太白县| 大渡口区| 韶山市| 得荣县| 宜州市| 锦屏县| 牟定县| 临颍县| 阿克陶县| 大方县| 奉新县| 克东县| 南皮县|