談起硬件交互,很多同學(xué)可能會認(rèn)為是一個非常觸不可及的知識荒地。但是事實(shí)上,硬件交互可以很觸手可及,我們耳熟能詳?shù)腁rduino就是交互小白接觸硬件交互的入門好工具。
Arduino是一個用于構(gòu)建電子項目的開源平臺,由一個可編程電路板(通常稱為微控制器)和一個運(yùn)行在您計算機(jī)上的軟件或IDE(集成開發(fā)環(huán)境)組成,用于編寫計算機(jī)代碼并將其上傳到Arduino板上。
Arduino的官方網(wǎng)站為arduino.cc。
Arduino平臺已經(jīng)很受剛開始接觸電子產(chǎn)品的人的歡迎。Arduino集成開發(fā)環(huán)境使用了C++的簡化版本,使編程更容易學(xué)習(xí)。Arduino的應(yīng)用場景有很多,UXD在這里用幾個案例為大家說明。
Nybble機(jī)器貓
Nybble可能是世界上最輕、速度最快的真正會走路的機(jī)器貓。它的運(yùn)動由Arduino兼容的微控制器(Arduino Mini)驅(qū)動。它儲存本能的“肌肉記憶”來四處活動。
人工智能芯片樹莓派可以安裝在尼布爾的背部,幫助尼布爾的感知和決策。你可以用自己喜歡的語言編程,簡單的發(fā)個短命令,比如“走”或者“左轉(zhuǎn)”就可以指揮Nybble到處走動!
跟蹤機(jī)器人
在這個項目中,設(shè)計者使用Arduino Uno來構(gòu)建一個跟蹤機(jī)器人。機(jī)器人通過藍(lán)牙連接到智能手機(jī),并使用GPS導(dǎo)航。所有的電子設(shè)備都裝在底座里,這樣就可以攜帶其他物品。
01
關(guān)于Arduino Uno板
Arduino Uno板是Arduino家族中最受歡迎的主板之一,也是新手的絕佳選擇。我們ren'xin'de
1.數(shù)字信號 O/I輸出與輸入
0-13數(shù)字信號引腳pin,引腳pin可以使用導(dǎo)線進(jìn)行連接,可以輸入I與輸出O電信號。
2.數(shù)字信號 零電位
GND(GROUNGD)為數(shù)字信號零電位
3.USB接口
可以通過數(shù)據(jù)線與電腦相連,把Arduino軟件中的程序?qū)懭氲紸rduino Uno開發(fā)板中。也可以通過數(shù)據(jù)線連接充電寶,為Arduino Uno開發(fā)板供電。
4.通信信號指示燈
通信信號指示燈RX與TX。Serial.read讀的是RX引腳對應(yīng)寄存器的數(shù)據(jù),Serial.read運(yùn)行在主芯片上;Serial.print 是往TX針腳對應(yīng)寄存器上寫的。
5.電源指示燈
當(dāng)Arduino接通電源時,電源指示燈亮起。
6.3.3v電源
可使用導(dǎo)線
7.5v電源
8.模擬信號 O/I輸出與輸入
A0-A5模擬信號引腳pin,引腳pin可以使用導(dǎo)線進(jìn)行連接,可以輸入I與輸出O電信號。
9. 寄存器
寄存器(Register)是中央處理器內(nèi)的組成部分,是有限存貯容量的高速存貯部件,可用來暫存指令、數(shù)據(jù)和地址。
下圖中的13行代碼,是在Arduino上閃爍 Blinking LED燈所需要的全部:
02
Arduino軟件界面介紹
點(diǎn)擊左上角的第一個按鈕,進(jìn)行程序的編譯-檢查Arduino程序是否有語法錯誤。編譯成功下方會有提示信息。
編譯成功后,需要在工具-開發(fā)板-Arduino Uno 選擇Arduino Uno開發(fā)板。
之后需要在 工具-端口-COM1 選擇COM1端口
完成上述操作后,即可點(diǎn)擊左上角的第二個按鈕,將Arduino軟件程序?qū)懭氲紸rduino Uno板中了。
03
外接傳感器
Arduino的一個強(qiáng)大特性就是可以外接各種各樣的傳感器(sensor),傳感器是一種檢測裝置,能感受到被測量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。
Arduino可外接的常見的傳感器種類繁多,如:
搖桿傳感器/繼電器模塊/高感度麥克風(fēng)/小麥克風(fēng)傳感器/循跡傳感器/避障礙傳感器/3色LED傳感器/雙色LED/小雙色LED/3色RGB模塊/七彩閃爍LED/紅外發(fā)射傳感器/紅外接收傳感器/線性霍爾傳感器/火焰?zhèn)鞲衅?人體觸摸傳感器/數(shù)字溫度傳感器/有源蜂鳴器/無源蜂鳴器/磁簧開關(guān)模塊/迷你磁簧模塊/手指測試心跳/激光頭傳感器/按鍵開關(guān)模塊/震動開關(guān)傳感器/旋轉(zhuǎn)編碼器傳感器/魔術(shù)光杯傳感器/傾斜開關(guān)模塊/光敏電阻傳感器/溫濕度傳感器/模擬霍爾傳感器/霍爾磁力傳感器/模擬溫度傳感器/18B20傳感器/敲擊傳感器/光遮斷傳感器/水銀開關(guān)模塊
1.超聲波傳感器
上圖為超聲波傳感器與Arduino Uno板的連接電路圖,超聲波傳感器共有有1-4四個接口。
1. VCC需要連接Arduino電源的5v;
2. Trig需要連接Arduino程序中數(shù)字信號輸出接口pinMode(trig,OUTPUT);
3. Echo需要連接Arduino程序中數(shù)字信號輸入接口pinMode(echo,INPUT);
4. GND需要連接Arduino電源的GND。
·案例
上圖為自動追隨機(jī)器人,通過超聲波距離傳感器可以探知物體與其的距離,在一個距離范圍內(nèi),通過Arduino程序控制四個馬達(dá)的發(fā)動與暫停。
上圖為自動感應(yīng)垃圾桶。通過超聲波距離傳感器可以探知物體與其的距離,在一個距離范圍內(nèi),可以控制伺服電機(jī)將垃圾桶桶蓋打開。
2.電阻式壓敏傳感器-FSR
Force Sensing Resistor是著名Interlink Electronics 公司生產(chǎn)的一款重量輕,體積小,感測精度高,超薄型電阻式壓力傳感器。這款壓力傳感器是將施加在FSR傳感器薄膜區(qū)域的壓力轉(zhuǎn)換成電阻值的變化,從而獲得壓力信息。
同時,壓力越大電阻越低,允許用在壓力100g-10kg的場合。同時可用于機(jī)械手末端夾持器感測夾持物品有無,仿生機(jī)器人足下行走地面感測,哺乳類動物咬力測試生物實(shí)驗(yàn),應(yīng)用范圍及其廣泛。
電阻式壓敏傳感器-FSR(Force Sensing Resistor)的兩個引腳中,一個引腳接正極,一個引腳接負(fù)極與模擬電路即可
·案例
該案例為通過壓敏傳感器感測杯墊上是否有物體,當(dāng)杯墊上沒有物體時,開始計時,當(dāng)杯墊上有物體時,計時停止。通過計時器上時間的長短來評比大家的干杯時間。
3.DHT22 溫濕度傳感器
DHT22溫濕度傳感器也被稱為AM2302,具有標(biāo)準(zhǔn)的單總線接口。它相比DHT11,擁有更高的精度和更大的量程。它是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。
·案例
這個物體測量濕度和溫度,以幫助你避免不健康的空氣質(zhì)量和問題,如非常潮濕或干燥的空氣和霉菌生長。物體相應(yīng)地改變它的顏色:從藍(lán)色表示空氣質(zhì)量好,到黃色、橙色和紅色表示空氣質(zhì)量差。
這是一個有趣且易于構(gòu)建的項目。它有助于提醒你定期打開窗戶,讓你的家成為一個更健康的地方。你還可以添加更多傳感器來測量灰塵、CO2和其他東西。
4.LDR-光敏電阻
LDR-光敏電阻是一種隨著外界光線強(qiáng)弱變化而變化的電阻。入射光強(qiáng),電阻減小,入射光弱,電阻增大。常用材料為硫化鎘,另外還有硒、硫化鋁、硫化鉛和硫化鉍等半導(dǎo)體材料。一般用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化);如路燈,走廊光控?zé)簦瑹熿F警報器等;
·案例
該案例中,當(dāng)手指接觸到光敏傳感器附近時,即光敏傳感器周圍光線較少,led燈亮起。當(dāng)手指遠(yuǎn)離到光敏傳感器時,即光敏傳感器周圍光線較多,led燈熄滅。
5.脈搏傳感器
PulseSensor 是一款用于脈搏心率測量的光電反射式模擬傳感器。將其佩戴于手指、耳垂等處,利用人體組織在血管搏動時造成透光率不同來進(jìn)行脈搏測量。傳感器對光電信號進(jìn)行濾波、放大,最終輸出模擬電壓值。單片機(jī)通過將采集到的模擬信號值轉(zhuǎn)換為數(shù)字信號,再通過簡單計算就可以得到心率數(shù)值。
新冠肺炎病是由SARS-CoV-2病毒引起的疾病,主要攻擊人的呼吸系統(tǒng)。一些較輕的癥狀可能包括發(fā)燒、疼痛和寒戰(zhàn),但也可能導(dǎo)致更嚴(yán)重的情況,如肺炎。一個患有肺炎甚至輕微呼吸急促的人可能不知道什么時候去醫(yī)院,尤其是當(dāng)他們開始變得更加不知所措的時候。這就是為什么創(chuàng)建開源脈搏血氧計,它可以幫助人們獲得他們需要的幫助,并獲得關(guān)于他們當(dāng)前狀況的準(zhǔn)確信息。
6.HC-06藍(lán)牙模塊
HC-06藍(lán)牙模塊與Arduino電路連接成功后,指示燈會不斷閃縮,等待安卓手機(jī)SPP藍(lán)牙助手與HC-06藍(lán)牙之間的連接。連接成功后指示燈常亮。
該圖為HC-06藍(lán)牙模塊與Arduino Uno板的連接電路圖。HC-06藍(lán)牙模塊有1-4四個接口:
① HC-06藍(lán)牙模塊的RXD需要連接Arduino Uno板的TXD
② HC-06藍(lán)牙模塊的TXD需要連接Arduino Uno板的RXD
③ GND需要連接Arduino Uno板電源的GND
④ VCC需要連接Arduino Uno板電源的5v
·案例
將電路連接完整,再將Arduino程序上傳至Arduino Uno板中,就可實(shí)現(xiàn)使用手機(jī)藍(lán)牙與arduino的交互。
上圖為手機(jī)與Arduino藍(lán)牙模塊連接后,可以在手機(jī)界面端來控制折紙機(jī)器人的行進(jìn)方向。
隨著物聯(lián)網(wǎng)與數(shù)字化時代的到來,智能硬件的設(shè)計與開發(fā)已經(jīng)成為一項前沿趨勢,想要更進(jìn)一步了解Arduino的同學(xué),可掃描下方二維碼獲取《Arduino基礎(chǔ)講解與案例實(shí)踐》課程。
視頻時長1小時01分29秒
聯(lián)系客服