曹月陽
開源硬件的項目設(shè)計與開發(fā)有益于激發(fā)學(xué)生創(chuàng)新的興趣,培養(yǎng)學(xué)生動手實踐的能力,同時也是有助于實現(xiàn)STEAM(科學(xué)、技術(shù)、工程、人文藝術(shù)與數(shù)學(xué))教育的理想方法。在開展開源硬件課程時,我們常常會指導(dǎo)學(xué)生利用Arduino開源硬件與各類電子傳感器元件制作一些富有創(chuàng)意的電子產(chǎn)品。
Arduino的相關(guān)硬件非常多,其中有5個硬件模塊不可或缺,分別是超聲波傳感器、舵機(jī)、輕觸開關(guān)模塊、LED燈和光學(xué)傳感器。尤其對于初學(xué)者來說,這5個硬件模塊是必須要掌握的。
超聲波傳感器
超聲波傳感器是Arduino案例中常用的硬件之一。汽車上的倒車?yán)走_(dá)就是用超聲波傳感器檢測到的距離判斷車輛位置的;在很多機(jī)器人測距避障的案例中,也會選擇用超聲波傳感器檢測距離信息。常用的超聲波傳感器有好幾種,例如HC-SR04、HC-SR05、US-100、US-015等,這些傳感器都是做好了電路集成的模塊。
超聲波傳感器的工作原理是模仿蝙蝠的超聲定位,其發(fā)射器會向某一方向發(fā)射超聲波,在發(fā)射的同時開始計時,超聲波在傳播途中碰到障礙物會立即返回,接收器收到反射波就立即停止計時。根據(jù)計時器記錄的時間t,聲波在空氣中的傳播速度為340m/s,就可以計算出發(fā)射點距障礙物的距離s,即:s=340×t/2。簡單來說就是傳感器會先發(fā)出一個聲音,然后再接收返回的聲音,通過發(fā)出和返回的時間差計算出距離,這就是所謂的“時間差測距法”。
超聲波傳感器是一個模擬輸入模塊,共有4個針腳,分別是VCC、Trig、Echo和GND,VCC和GND為電源的正負(fù)極,Trig和Echo分別為控制端和接收端。當(dāng)Arduino主板接收到信號后,通過程序換算成距離的單位,然后就可以得到傳感器所測到的距離值。
舵機(jī)
舵機(jī)是一種伺服電機(jī),適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。例如遙控潛艇模型、遙控機(jī)器人等,同時它也是Arduino案例中最常用的輸出類硬件。最初,舵機(jī)是為控制玩具汽車和飛機(jī)才被設(shè)計的。
舵機(jī)主要由外殼、電路板、驅(qū)動馬達(dá)、減速器與位置檢測元件所構(gòu)成。位置檢測其實就是利用了可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動時電阻值也會隨之改變,借由檢測電阻值便可知轉(zhuǎn)動的角度。
我們在案例中使用的大多數(shù)規(guī)格的舵機(jī)都是出3根線,常見的是紅、棕、橙3個顏色,也有紅、白、黑三色的。紅色為5V電源線,黑色或棕色線為接地線,橙色或白色線為信號線。
常見的“機(jī)械手臂”案例就是使用舵機(jī)實現(xiàn)的,通過主板控制不同的舵機(jī),轉(zhuǎn)動不同的角度,最終實現(xiàn)機(jī)械手臂的流暢運動。如果我們想要制作的案例需要實現(xiàn)精確轉(zhuǎn)動或者固定角度的往復(fù)轉(zhuǎn)動,那么舵機(jī)是必備的硬件模塊之一。
輕觸開關(guān)模塊
輕觸開關(guān)又叫按鍵開關(guān),這種硬件最早出現(xiàn)在日本,從各種電源開關(guān)到數(shù)字鍵盤等,在生活中總能找到它的身影。在使用時,我們需要向開關(guān)操作方向施壓,開關(guān)按鍵被按下后就會閉合接通,當(dāng)撤銷壓力時開關(guān)也就隨即斷開,其內(nèi)部結(jié)構(gòu)是靠金屬彈片受力變化實現(xiàn)通斷的。
我們常用的按鍵開關(guān)模塊是一種數(shù)字輸入模塊,它將按鍵開關(guān)元件和上拉電阻等元器件集合而成。按鍵開關(guān)模塊通常是3P接口,分別是數(shù)據(jù)線S、電源V和地線G。在實際應(yīng)用時,需要將S端接在Arduino主板上的模擬輸入接口,V接在正極,G接在地線。當(dāng)我們按下按鍵時,它輸出的數(shù)字信號是高電平,松開按鍵時輸出低電平。
輕觸開關(guān)有接觸電阻荷小、精確的操作力誤差、規(guī)格多樣化等方面的優(yōu)勢,在電子設(shè)備及白色家電等方面得到廣泛應(yīng)用,如影音產(chǎn)品、數(shù)碼產(chǎn)品、遙控器、通訊產(chǎn)品、家用電器、安防產(chǎn)品、玩具、電腦產(chǎn)品、健身器材、醫(yī)療器材等。
LED燈
LED又稱發(fā)光二極管,從廣告面板到手電筒再到路燈,LED在我們的生活中無處不在。
作為一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)半導(dǎo)體器件,LED可以直接把電轉(zhuǎn)化為光,這種光電轉(zhuǎn)換效率比傳統(tǒng)的白熾燈要高許多。LED是一種單向?qū)щ姷亩O管,有一長一短2個腳,短的連接GND,長的連接正極。需要注意的是,如果接反了不僅不會亮,還會有損毀風(fēng)險。
我們常用的LED模塊上面有1個發(fā)光二極管,除此之外還有1個用于限流分壓的電阻,除了元器件之外,在模塊上還有3個管腳,使用時,我們可以把LED模塊的3個腳接到Arduino板上,GND接地,VCC接5V,IN接IO腳。不同品牌的模塊管腳標(biāo)注方法會有所不同,有的把GND標(biāo)為“-”號,把IN標(biāo)為“S”(即Signal信號的意思),在連接之前需要注意查看。光線傳感器
凡是涉及與光線強(qiáng)度相關(guān)的案例,就一定會用到光線傳感器。光線傳感器大多是基于半導(dǎo)體的光電效應(yīng)原理開發(fā)出來的,可以用于對傳感器周圍環(huán)境光的強(qiáng)度進(jìn)行檢測。光線傳感器的實質(zhì)是一個光敏電阻,其阻值會隨著光線強(qiáng)度的變化而變化,當(dāng)光照變強(qiáng)時,阻值變小;光照減弱時,阻值增大。簡單來說,光線傳感器就是利用光敏電阻受光線強(qiáng)度影響而阻值發(fā)生變化的原理將光線強(qiáng)度轉(zhuǎn)換為電壓信號。
光線傳感器模塊共引出3個引腳,分別是數(shù)據(jù)線S,電源Vcc和地線GND。實際應(yīng)用時需要將S端接在Arduino主板上的模擬輸入接口,通過光線強(qiáng)度的變化改變阻值,從而改變S端的輸出電壓。Arduino主板將電壓值轉(zhuǎn)換為模擬信號的數(shù)值。
舉個例子,我們常見的樓道燈需要在光線變暗時打開燈光,這里檢測光線變暗通常使用的就是光線傳感器。還有“追光太陽能板”,通過控制舵機(jī)轉(zhuǎn)動讓太陽能板時刻正對太陽,這就是利用了4個光線傳感器檢測太陽的光照度,4個傳感器組成2×2的陣列,陣列中間有1個“十”字的遮光板,當(dāng)太陽光直射時4個傳感器的數(shù)值一樣,當(dāng)斜射時遮光板就會擋住一些光,從而通過比較4個傳感器的數(shù)值就可以判斷太陽在哪個方位,也就知道舵機(jī)需要向哪個方向轉(zhuǎn)動了。
當(dāng)Arduino連上傳感器與硬件模塊,可以很好地將人與環(huán)境,甚至與世界互動起來。如果我們有不錯的想法和創(chuàng)意,可以通過Arduino編程實現(xiàn),在教學(xué)中,我們可以引導(dǎo)學(xué)生從生活實際出發(fā)選定項目主題,發(fā)現(xiàn)生活中存在的問題,提出解決方案并實施,以求解決問題,從而讓科技走進(jìn)生活,讓我們的生活更加美好。