Micro:bit Smart Science IOT:Kit互聯網科學套件 ELECFREAKS Smart Science IOT:Kit是以lOT:Bit為基礎開發的,lOT:Bit是一款新的擴充板,可與超音波感測器、灰塵感測器、光線感測器和水位感測器等科學感測器相容,包含RTC計時和WIFI模組。可透過感測器收集數據,並藉由更穩定及精確的數據分析將資料彙整傳送到雲端。元件清單Micro:bit(選購):1|IoT:bit:1|OLED:1|BME 280:1|PIR sensor紅外線感測器:1|Light sensor光線感測器:1|Noise sensor噪音感測器:1|Water level sensor水位感測器:1|soil moisture sensor土壤溼度感測器:1|Sonar:bit超聲波模組:1|Dust sensor粉塵/灰塵感測器:1|180° servo伺服馬達:1
IoT:bit
介紹
IoT:bit是一款以micro:bit為基礎的物聯網科學實驗擴充板,可支援3pin接口的感測器、驅動器和蜂鳴器,其板載的RTC時鐘模組,即便在micro:bit電源已關閉的情況下,也能精準計時。
它使用ESP8266作為WIFI擴充板、並使用一系列端口與micro:bit通訊。同時擴充了由GVS形式導出micro:bit上的所有可用IO端口,可以使用它擴充各種3V電子模組,例如:LED、感光元件和伺服馬達等。IoT:bit具有板載RTC時鐘可進行時序控制,斷電時也可以繼續計時。使用Makecode的擴充積木即可連接到Thingspeak並迅速建立IoT專案。最新版本IoT:bit其上方的凹口設計,保留空間方micro:bit V2其背面的重製按鈕可以被使用。
特色
- 結合ESP8266 WiFi、RTC模組
- 透過GVS擴充了大多數的IO端口
- 主要部件上的有網版印刷指示
- 分別引出IIC接口、能直接插入OLED、BME280和IIC等
- 兼容樂高(適用4個標準間距的樂高固定孔)
硬體外觀
- 產品尺寸:71mm x 63mm x 23mm
- PCB厚度:1.5mm
- 開孔直徑:2.4mm
參數引腳介面:
主要模組介紹:
軟體支援
- 開發平台:Makecode / Micropython / JavaScript /
Makecode積木程式
JavaScript MicroPython
硬體組裝
- 先安裝CR1220鈕扣電池(紅框處),用來為RTC時鐘模組供電。
接著將micro:bit插入IoT:bit,注意micro:bit正面朝向自己。使用USB為擴充板供電,開起板載的電源開關。
如果想拿到戶外使用,可以利用行動電源供電,或是接上插座供電(轉接頭輸出需是5v)。
- 點選MakeCode欄目中的「Advanced」查看程式庫。
- 需要為IOT新增編碼。點選編碼欄目底部的「Extension」,搜尋「 IOT」,接著點選IOT軟體包新增到專案中。(如下圖)
注意:如果收到由於不相容將刪除某些軟體包的警示,可按照指示操作,或在專案文件中新建專案。
如何驅動蜂鳴器
(此適用於舊版IoT:bit,最新款已移除蜂鳴器功能,可以使用micro:bit V2的蜂鳴器)
- 下圖是舊版IoT:bit的內建蜂鳴器。位置如圖中所示,蜂鳴器是連接到micro:bit的P0,使用Makecode的Music積木即可編寫程式來播放音樂。
- 在「input」積木中以"on botton A pressed(當按下A鍵時)",加入Music中的積木來播放一點音樂。
如何使用RTC
如下圖所示,IoT:bit上搭載了DS1307RTC時鐘模組(紅框處)。RTC需要一顆CR1220鈕扣電池來持續供電,這樣當IoT:bit在斷電的狀態下,RTC時鐘模組也能持續運作以維持RTC的準確性。第一次使用RTC模組時,需透過在on start程式內利用「RTC1307」積木編寫目前的時間、在forever內利用OLED積木來顯示時間。
(分鐘的設定建議以目前時間往後加1~2分鐘,確保當完成程式及下載到硬體後,啟動時的時間能剛好與目前的時間對上)。
下載到micro:bit並搭配OLED實測,沒問題後,接著取下micro:bit並進行程式修改:將on start程式內關於時間設定的程式刪除,只保留forever內顯示時間的程式即可。(請注意,若尚未修改程式前就重新打開電源,將使時間恢復到您於on start程式內所編寫的時間。)程式連結:依據下圖:將on start程式內關於時間設定的程式刪除,只保留forever內顯示時間的程式即可。
因為在第一次設定時間後,RTC模組就會自動開始計時(必須確保有將鈕扣電池安裝到iot:bit上為RTC模組獨立供電),即便在不供電給iot:bit的情況下,或是拔除micro:bit,當之後安裝回micro:bit時,RTC模組仍會將目前時間反饋給micro:bit。程式連結:OLED成功顯示時間如何使用物聯網功能 - IoT:bit最重要的功能是WIFI功能。板載的ESP-8266WIFI模組可以用來:連接WIFI和發送數據。使用IoT專用的引腳RX-P8、TX-P12與micro:bit互相通訊。
- 使用Thingspeak作為雲端平台進行編碼和數據上傳。
- Thingspeak guidebook
- 在「on start」內,將ESP8266初始化,預設是與P8和P12連接。
- 連接您自己的WiFi,輸入WiFi帳號和密碼。
- 在「forever」迴圈內,連接thinkspeak平台並設定要發送的數據,並暫停一些時間(依據您希望此資料多久更新一次而定)。
其它感測器編碼
- IoT:bit同樣支援其它ELECFREAKS推出的感測器,為了方便使用,擴充程式新增的Octopus模組。
下載代碼
下載hex.檔時請單獨將micro:bit一邊連接上USB,另一邊連接至電腦,待下載完成後再插入IoT:bit。
(下載時若將micro:bit插入擴充板,這可能會導致micro:bit連接異常或損壞。)- 將下載好的檔案複製到micro:bit。
- 完成下載後,即可觀察程式運作的結果。
文件資料
常見問題
- 安裝鈕扣電池後,為什麼我無法獲得RTC的正確數據?
解決方案:CR1220鈕扣電池的通用電壓為3V(紅框處),而市場上某些電池的電壓可能高於3V。電壓過高會使RTC的晶片發生異常,要解決此問題,可以使用非全新的電池或自行將全新的電池放掉一些電。
電池放電步驟1. 如圖所示,將電池連接LED的引腳,確保正負極連接正確(引腳長的為正極,短的為負極)。2. 連接後LED會發亮,大約10秒後,3.4V的鈕扣電池可降至3V。 3. 用萬用電表檢測電池電壓,將電壓降低至約3V後即可正常運作。