• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    做一個“揮手機(jī)器人”

    2015-09-10 10:47:30鄭祥李曙強(qiáng)
    中國信息技術(shù)教育 2015年15期
    關(guān)鍵詞:控制板舵機(jī)藍(lán)牙

    鄭祥 李曙強(qiáng)

    “揮手機(jī)器人”的想法源自于大腦突然閃過的一個靈感,即當(dāng)用戶舉手揮動手臂的時候,機(jī)器人也會跟著一起揮手,且揮手的方向保持一致,就像跟機(jī)器人一起參加演唱會一樣。

    工作原理

    每一款手機(jī)都會自帶一個加速度傳感器,即陀螺儀。加速度傳感器可以感知手機(jī)當(dāng)前所處狀態(tài)的X、Y、Z軸的3個分量的加速度,圖1為手機(jī)平放時X、Y、Z軸加速度分量的方向。

    當(dāng)手機(jī)搖晃的時候,X、Y、Z軸上的3個加速度分量會發(fā)生相應(yīng)的變化,如下頁表1所示。當(dāng)然,表中的這些數(shù)據(jù)是根據(jù)我們的手機(jī)測試出來的,不同的手機(jī),測出來的數(shù)據(jù)未必一樣。

    其實(shí)我們只需要手機(jī)在垂直狀態(tài)下左右搖晃的傳感器數(shù)據(jù),從中我們可以發(fā)現(xiàn),手機(jī)向左或向右搖晃,與X軸加速度分量的變化是一一對應(yīng)的,因此可以根據(jù)X軸加速度分量的變化判斷手機(jī)搖晃的方向,如表2所示。

    怎么知道手機(jī)的運(yùn)動方向呢?很簡單,只要隔一定的時間,獲取傳感器數(shù)值,然后相減,根據(jù)結(jié)果進(jìn)行判斷。具體如下:

    定義:Xq為前一位置X軸加速度分量,Xh為當(dāng)前位置X軸加速度分量。

    若Xh-Xq>0,則手機(jī)向左搖晃;反之Xh-Xq<0,則手機(jī)向右搖晃。

    材料選擇

    根據(jù)需求,“揮手機(jī)器人”若要根據(jù)手機(jī)的揮動控制機(jī)器人執(zhí)行“揮手”動作,則手機(jī)與機(jī)器人間需要通訊模塊;而機(jī)器人執(zhí)行“揮手”動作,則需要一個控制器及舵機(jī)等執(zhí)行模塊。

    手機(jī)與機(jī)器人之間的通訊方式有很多,我們選擇了最常見的一種通訊方式——藍(lán)牙。手機(jī)在揮動時,通過手機(jī)的藍(lán)牙通訊模塊將相應(yīng)的指令(如“L”,即向左揮手)發(fā)送給“揮手機(jī)器人”的控制器;控制器根據(jù)接收到的指令對“揮手機(jī)器人”的執(zhí)行模塊舵機(jī)做出相應(yīng)的動作。

    制作本作品所需要的材料及其說明,如表3所示。

    結(jié)構(gòu)搭建

    “揮手機(jī)器人”的結(jié)構(gòu)一定要穩(wěn)固,不然在執(zhí)行“揮手”動作時,會影響“揮手機(jī)器人”的平衡。

    搭建機(jī)器人“骨架”結(jié)構(gòu)時,我們采用輕巧且又便宜的亞克力板,用激光切割機(jī)進(jìn)行切割。利用這些板子和螺絲螺母,我們很快完成了“揮手機(jī)器人”的“骨架”,并將Arduino Uno控制板、藍(lán)牙通訊模塊、舵機(jī)安裝在機(jī)器人“骨架”上,效果如圖2所示。

    代碼編程

    1.安卓手機(jī)App編程

    手機(jī)若要與Arduino Uno控制板相互通信,則需要借助藍(lán)牙通訊等方式進(jìn)行。App Inventor支持傳感器編程和藍(lán)牙通訊,利用這一圖形化編程平臺,就能制作一個專用的App應(yīng)用程序。下頁圖3所示為App的界面設(shè)計與組件使用情況。

    根據(jù)表2所示,根據(jù)手機(jī)當(dāng)前搖晃位置與前一位置的X軸加速度分量的值可以判斷手機(jī)搖晃的方向,因此手機(jī)App應(yīng)用程序只需向Arduino Uno控制板發(fā)送“L”或“R”字符,分別表示“向左”或“向右”的舵機(jī)控制指令,具體編程代碼如下頁圖4所示。

    調(diào)用App中的藍(lán)牙客戶端給Arduino Uno控制板發(fā)送“L”或“R”字符指令時,藍(lán)牙通訊模塊須處于連接狀態(tài),否則提示錯誤;具體編程代碼如圖5所示。

    2.“揮手機(jī)器人”控制端編程

    當(dāng)Arduino Uno控制板通過藍(lán)牙通訊模塊接收到字符“L”時,則執(zhí)行舵機(jī)轉(zhuǎn)向45度,即機(jī)器人手臂向左擺動;若藍(lán)牙通訊模塊接收到的字符為“R”,則執(zhí)行舵機(jī)轉(zhuǎn)向135度,即機(jī)器人手臂向右擺動。具體代碼如下:

    #include

    Servo serpin;

    unsigned char resaveChar;

    void setup() {

    Serial.begin(9600);

    serpin.attach(9);

    serpin.write(90);

    }

    void loop() {

    if(Serial.available()){

    resaveChar=Serial.read();

    if(resaveChar=='R'){

    serpin.write(135);

    delay(100);

    }

    if(resaveChar=='L'){

    serpin.write(45);

    delay(100);

    }

    }

    }

    造型制作

    “揮手機(jī)器人”的外觀有些單一,為了賦予“揮手機(jī)器人”以人的形象。我們利用卡紙為“揮手機(jī)器人”做了一件外衣,同時為它用超輕粘土捏了一個頭像和兩只手。

    運(yùn)行效果

    手機(jī)App的運(yùn)行與“揮手機(jī)器人”的工作效果如圖6所示。需要說明的是,我們還在這個機(jī)器人上安裝了3個紅外測障傳感器,在沒有手機(jī)的情況下,也能感測到我們的手勢,實(shí)現(xiàn)同步揮手。

    借助“揮手機(jī)器人”的案例制作,我們初步實(shí)現(xiàn)了用手機(jī)App控制Arduino硬件設(shè)備中的舵機(jī)模塊。除此之外,還可以嘗試用手機(jī)App控制更多的Arduino執(zhí)行模塊,如蜂鳴器、LED燈、繼電器、電機(jī)等,那將會更加有趣。

    猜你喜歡
    控制板舵機(jī)藍(lán)牙
    關(guān)于某家用電器靜電彈簧控制板一拖多自動檢測裝置的研究與應(yīng)用
    日用電器(2023年7期)2023-09-07 00:41:56
    藍(lán)牙音箱的直線之美
    一種橡膠減震裝置
    含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
    軌道交通AFC導(dǎo)向標(biāo)識控制板設(shè)計
    電子制作(2019年23期)2019-02-23 13:21:22
    簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
    適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
    基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
    電子制作(2018年1期)2018-04-04 01:48:14
    基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計
    緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
    玩具世界(2017年8期)2017-02-06 03:01:38
    丹东市| 巨鹿县| 乌拉特后旗| 东光县| 类乌齐县| 镇雄县| 松溪县| 宣城市| 千阳县| 临江市| 大竹县| 绥中县| 子长县| 龙泉市| 松潘县| 花莲市| 名山县| 天峻县| 繁峙县| 红原县| 奉新县| 西宁市| 兴和县| 崇仁县| 垦利县| 寿宁县| 漯河市| 拉孜县| 东乡族自治县| 二手房| 柏乡县| 昭苏县| 特克斯县| 北辰区| 牟定县| 古蔺县| 福泉市| 茶陵县| 嵊州市| 阳江市| 常熟市|