【Arduino】手機APP透過藍牙讀取Arduino上的溫濕度
在上一個實習中我們學會了如何使用手機透過藍牙控制Arduino上的LED,在這個實習中我們將再進一步來看看,如何透過藍牙讀取在Arduino上溫濕度感測器上的資訊。
資訊技術教材網
在上一個實習中我們學會了如何使用手機透過藍牙控制Arduino上的LED,在這個實習中我們將再進一步來看看,如何透過藍牙讀取在Arduino上溫濕度感測器上的資訊。
這一次我們要練習的是Arduino的藍牙模組,透過這個模組,我們就可以在不同的Arduino之間相互通訊,同時也可以使用手機的APP程式控制Arduino上的輸出裝置。如果同學們學會了這項技巧,就可以做出許多利用手機控制Arduino遙控車、家用電器以及任何其它使用Arduino連接的裝置。
同樣是紅外線的應用,前一個接收器在應用的時候是考慮到接收的內容,也就是不同的按鈕要有不同的字串,以辨識出到底是哪一個按鈕被按下去,然後才可以根據不同的按鈕做出不同的回應,以達到紅外線遙控的功能。然而,紅外線的另外一個應用則不是用來控制,只要單純想要用來檢測前面有沒有東西,或是用來對於前面經過的事物做一個簡單的計次功能,此時要使用的就是包括發射以及接收紅外線的成對的模組,由於它們經常被拿來做為自走車的避障機制,因此常被稱為避障模組
紅外線是目前許多電器常用的遙控器標準通訊方式,因此是非常適用於嵌入式系統中使用的通訊方法,事實上也幾乎是標準的通訊模組,有非常多現成的程式以及電路可以利用,而且其零件也非當便宜。在這個實習中,我們就來瞭解如何把紅外線遙控器運用到我們的Arduino專題中。
使用查表法用在解譯簡譜算是滿方便的,因為可以把別人的簡譜直接拿來使用,由程式來進行翻譯就好了。不過,如果只有1~7個音階時還算是好用,但是如果把音階再擴展至高音以及低音的部份,很顯然地,只使用數字是不夠的。
Arduino本身可以透過delay函數進行簡單的計時,但是本身卻沒有時鐘的功能,也沒有記憶目前時間的功能,因此就算是我們利用程式模擬出時鐘的功能,一旦失去了電源,下次再回來程式的時候,又要重頭開始設定時間了,此種情形在製作和時鐘相關的應用專題時就非常地不方便。所幸,有一個模組可以解決這個問題,那就是DS1302 RTC(Real Time Clock)模組。
在前一個單元中我們把想要演奏的音樂簡譜放在song1這個變數中,然後一個一個字元地拆解出來,分別送到note這個自訂積木去播放每一個音符。這個程式在操作起來還算是容易,但是你有沒有注意到幾個可以加強的點?