亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        手機(jī)藍(lán)牙操控Arduino二例

        2021-10-08 04:08:06牟曉東
        電腦報(bào) 2021年38期

        牟曉東

        在數(shù)據(jù)通信方面,Arduino UNO通常情況下是通過(guò)數(shù)據(jù)線與計(jì)算機(jī)的USB接口相連,比如從Arduino IDE中上傳編譯好的程序代碼;而位于數(shù)字引腳0(RX)和1(TX)的串口通信,一般是通過(guò)Serial.println()函數(shù)在串口監(jiān)視器中進(jìn)行提示信息或傳感器所讀取數(shù)據(jù)的實(shí)時(shí)顯示。如何進(jìn)行數(shù)據(jù)的無(wú)線通訊呢?以藍(lán)牙傳輸為例,借助于HC-05藍(lán)牙模塊,我們可以實(shí)現(xiàn)手機(jī)操控Arduino的功能,比如控制LED燈的亮與滅、風(fēng)扇模塊的“無(wú)級(jí)變速”。

        1.Arduino藍(lán)牙LED燈

        實(shí)驗(yàn)器材包括:Arduino UNO主板一個(gè),面包板一個(gè),HC-05藍(lán)牙模塊一個(gè),藍(lán)色LED燈一支,10kΩ和20kΩ的色環(huán)電阻各一個(gè),杜邦線若干。

        對(duì)照設(shè)計(jì)好的電路接線圖(如圖1),進(jìn)行元器件的連接。首先,將Arduino的5V引腳和GND接地引腳通過(guò)紅色和黑色杜邦線分別與面包板的紅色、藍(lán)色側(cè)邊線槽連接;接著,將藍(lán)色LED燈插接到面包板上,負(fù)極(短腿)接入藍(lán)色線槽,正極(長(zhǎng)腿)通過(guò)杜邦線(藍(lán)線)連接至Arduino的13號(hào)數(shù)字引腳;HC-05藍(lán)牙模塊共有六個(gè)引腳(僅使用其中的四個(gè)),先將VCC端和GND端分別接入面包板的紅色和藍(lán)色線槽,由于藍(lán)牙模塊的標(biāo)準(zhǔn)工作電源是3.3V,因此需要借助兩個(gè)電阻進(jìn)行“分壓”——從藍(lán)牙模塊的RXD端通過(guò)杜邦線(黃色)插接至面包板,其中的一端經(jīng)10kΩ的電阻與Arduino的TXD(1號(hào))連接,另一端經(jīng)20kΩ的電阻與面包板的藍(lán)色線槽(GND)連接;藍(lán)牙模塊的TXD端,則通過(guò)杜邦線(綠色)與Arduino的RXD(0號(hào))進(jìn)行連接;最后,通過(guò)數(shù)據(jù)線將Arduino與計(jì)算機(jī)的USB接口進(jìn)行連接。

        在Arduino IDE中進(jìn)行程序代碼的編寫:

        首先進(jìn)行變量的定義,語(yǔ)句“int BlueLED = 13;”的作用是聲明藍(lán)色LED燈的連接引腳是13號(hào),并且通過(guò)語(yǔ)句“char serialBlueLED;”來(lái)定義一個(gè)字符型的變量,其作用是用來(lái)存儲(chǔ)藍(lán)牙串口數(shù)據(jù);在setup()函數(shù)中,先通過(guò)語(yǔ)句 “Serial.begin(9600);”來(lái)設(shè)置串口監(jiān)視器的波特率為9600bps,再通過(guò)語(yǔ)句“pinMode(BlueLED, OUTPUT);”將藍(lán)色LED燈的引腳設(shè)置為輸出工作模式;在loop()函數(shù)中,建立一個(gè)實(shí)時(shí)檢測(cè)是否有串口數(shù)據(jù)傳輸?shù)膚hile()循環(huán):“while (Serial.available() > 0)”,通過(guò)語(yǔ)句“serialBlueLED = Serial.read();”將讀取到的藍(lán)牙串口傳輸數(shù)據(jù)賦值給變量serialBlueLED;然后建立“if…else if…”雙分支選擇結(jié)構(gòu),對(duì)變量serialBlueLED的值進(jìn)行是否為“1”或“0”(均為字符型)的判斷,是“1”的話,執(zhí)行兩個(gè)“動(dòng)作”:“Serial.println("收到指令:點(diǎn)亮13號(hào)藍(lán)色LED燈!");”(在串口監(jiān)視器顯示提示信息)、“digitalWrite(BlueLED, HIGH);”(控制藍(lán)色LED燈發(fā)光);是“0”的話,則執(zhí)行另外兩個(gè)“動(dòng)作”:“Serial.println("收到指令:熄滅13號(hào)藍(lán)色LED燈!");”、“digitalWrite(BlueLED, LOW);”(熄滅藍(lán)色LED燈);最后添加一個(gè)2秒鐘的延遲語(yǔ)句:“delay(2000);”,將程序保存為BlueToothLED(如圖2)。

        注意,程序編譯后不要直接上傳至Arduino,因?yàn)樗{(lán)牙模塊占用了Arduino的RX(0號(hào))和TX(1號(hào)),直接上傳會(huì)出現(xiàn)“Problem uploading to board”錯(cuò)誤。解決方法是暫時(shí)將兩條杜邦線從Arduino上拔出后再進(jìn)行上傳,上傳成功后再原樣插回即可,此時(shí)藍(lán)牙模塊的紅色LED燈就會(huì)一直閃爍,處于等待連接狀態(tài)中;在手機(jī)中下載并安裝Arduino bluetooth controller_v1.apk(apk文件可掃碼關(guān)注“壹零社”在編程相關(guān)中下載),運(yùn)行程序進(jìn)行藍(lán)牙連接(首次使用時(shí)會(huì)先進(jìn)行“配對(duì)”),點(diǎn)擊“HC-05”項(xiàng)后會(huì)彈出四個(gè)連接選項(xiàng),選擇其中的第二項(xiàng)“Switch mode”(開(kāi)關(guān)模式),接著點(diǎn)擊彈出按鈕右上角的“齒輪”設(shè)置項(xiàng),將綠色和紅色兩個(gè)開(kāi)關(guān)的值分別設(shè)置為“1”和“0”(如圖3)。

        打開(kāi)Arduino程序的串口監(jiān)視器,然后在手機(jī)中就可以不斷點(diǎn)擊兩個(gè)開(kāi)關(guān)按鈕進(jìn)行LED燈的控制了,同時(shí)會(huì)在串口監(jiān)視器中對(duì)應(yīng)出現(xiàn)“收到指令:點(diǎn)亮13號(hào)藍(lán)色LED燈!”或“收到指令:熄滅13號(hào)藍(lán)色LED燈!”的提示(如圖4)。

        2.Arduino藍(lán)牙變速風(fēng)扇

        在藍(lán)牙LED燈的電路接線圖中稍作改動(dòng)(如圖5),將LED燈及對(duì)應(yīng)的杜邦線拆除,保持藍(lán)牙模塊和分壓電路不變,將風(fēng)扇模塊接入:VCC和GND端分別接入面包板的紅色和藍(lán)色線槽,信號(hào)控制端通過(guò)杜邦線連接至Arduino的3號(hào)數(shù)字引腳。

        a欧美一级爱看视频| 亚洲啪av永久无码精品放毛片| 人妻少妇久久中文字幕| 18禁裸男晨勃露j毛免费观看| 日韩av无码成人无码免费| 国产chinese在线视频| 日产国产精品亚洲高清| 日本熟妇美熟bbw| 波多野吉衣av无码| 99热高清亚洲无码| a午夜国产一级黄片| 中文字幕有码手机视频| 五月天激情电影| 最好看的最新高清中文视频| 亚洲a人片在线观看网址| 国产一区二区三区中出| 欧美成人国产精品高潮| 色一情一区二| 中文字幕精品亚洲无线码二区| 一区二区三区日韩毛片| 亚洲精品电影院| 日本巨大的奶头在线观看| 国产精品亚洲A∨无码遮挡| 国产精品性色av麻豆| 色噜噜狠狠综曰曰曰| 亚洲中文无码久久精品1| 日韩av一区二区三区在线观看| 91精品久久久中文字幕| 狠狠色婷婷久久综合频道日韩| 欧美亚洲精品一区二区| 熟妇与小伙子露脸对白| 亚洲视频免费一区二区| 看av免费毛片手机播放| 亚洲精品aⅴ无码精品丝袜足| 色se在线中文字幕视频| 久久国产精品一国产精品金尊| 曰韩人妻无码一区二区三区综合部| 久久亚洲黄色| 一区二区三区在线观看视频免费| 在线精品首页中文字幕亚洲| 麻豆成人精品国产免费|