Smart Science IOT:Kit物聯網科學套件_應用專案篇|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2021/01/07

Smart Science IOT:Kit物聯網科學套件_應用專案篇

 
簡介篇
 IoT:Kit專案01:空氣品質監測

物聯網(Internet of Things,簡稱IoT)是一種計算設備、機械、數位機器等相互關聯的系統,具備通用唯一辨識碼(UID,Unique ID),並具有透過網路傳輸數據的能力,不需要人與人、或是人與設備的互動。 物聯網將現實世界數位化,應用範圍十分廣泛。 物聯網可拉近分散的資料,統整物與物的數位資訊。

IoT涉及擴充網路連接,除了桌機、筆電、智慧手機和平板電腦之類的標准設備外,還包括各種傳統笨拙或不支援物聯網的物理設備和日常用品。將技術嵌入這些設備,便能透過網路進行通訊和訊息交換,還能進行遠端監控。

 
目標
  • 進行空氣品質監測。

材料
  • 1 x IoT:bit
  • 1 x 灰塵感測器
  • 1 x OLED螢幕
  • 2 x 杜邦線

硬體組裝
  • 如下圖,連接灰塵感測器的LED IN連接到P1;OUT連接到P2。
  • 將OLED螢幕連接到IIC介面。

編程平台:MakeCode

編碼

步驟一
  • 點選MakeCode欄目中的「Advanced」查看更多編碼。
  • 需要為IoT新增編碼。點選欄目底部的「Extensions」,搜尋「IoT」,點選IoT包新增到項目中。(如下圖)
注意:如果收到由於不相容的問題將刪除某些軟體包的警示,請按照提示操作或在建立新項目。

步驟二
  • initialize OLED積木插入on start,並寫入參數128*64(內建數值)將OLED螢幕初始化

步驟三
  • 在「forever」迴圈內插入clear OLED displayshow stringshow number,如下圖所示。
  • show string輸入Dust(ug/m3):,用於OLED螢幕引導顯示灰塵感測器的回傳值。
  • show number使用Octopus積木的value of dust(ug/m3) at LED P1 out P2
  • pause(ms)設計暫停60秒使其能一分鐘更新一次。

補充說明

灰塵感測器用於檢測直徑超過0.8μm(微米)的塵埃顆粒密度,例如香菸煙霧、花粉、房屋粉塵等。

感測器是透過灰塵感測器上的大圓孔洞檢測。感測器內有光源和光源的感測器,原理是當灰塵穿過該孔洞時,光線的強度產生變化,進而使得感測器偵測到的數值改變。多數狀況灰塵感測器所偵測的數值是「0」, 當點燃線香(或其他可以產生煙霧的東西),製造出煙霧使其穿過感測器的孔洞,這時候就會跑出數據。

數據對照值參考:0-50 非常好;50-100 很好;100-150 好;150-200 一般;200-300 差;300+很差。

因為感測器內有光源和光源的感測器,原理是當灰塵穿過該孔洞時,光線的強度改變,進而使得感測器偵測到的數值產生變化。同理,如果今天我們不使用煙霧,假設是拿一根牙籤穿過灰塵感測器上的大圓孔洞,光線產生變化,數字也會改變。但並非真正測得的數據。
而當按下micro:bit的reset鍵可以看到數據突然改變,那只是因為電壓改變造成產出數據,並非真正測得的數據。

在連接感測器時需注意,請避開將腳位接在P3/P4/P6/P7/P10,因為會共用到micro:bit的Led,這將造成數值是讀取到電壓而不是灰塵感測器所偵測到的值。如需使用這些腳位,程式需要再多寫一個「led enable false(關閉led)」,建議直接將灰塵感測器接到P1&P2即可避免。


示範編碼


成果

每分鐘顯示一次目前空氣中的灰塵濃度


動動腦

如何在空氣品質很差的時後發出警報?

 

IoT:Kit專案02:環境噪音檢測

環境噪音是指由運輸、工業和娛樂等活動引起的外部噪音污染。噪音常被認為是「有害的聲音」,通常出現於人們、動物或環境中的各種活動。
不同環境有不同的環境噪音,較強的噪音會對人的心理及生理產生不良之影響。


 
目標
  • 進行環境噪音檢測。

材料
  • 1 x IoT:bit
  • 1 x 噪音感測器
  • 1 x OLED螢幕
  • 1 x 杜邦線

硬體組裝
  • 如下圖,將噪音感測器連接到P1。
  • OLED螢幕連接到IIC。
  • 板載RTC已連接到IIC匯流排。


MakeCode

編碼

步驟一
  • 點選MakeCode欄目中的「Advanced」查看更多代碼。
../../_images/iot_bit_11.jpg
  • 需要為IoT新增編碼。點選欄目底部的「Extensions」,搜尋「IoT」,然後點選IoT軟體包新增到專案中。(如下圖)
../../_images/iot_bit_12.jpg
注意:如果收到由於不相容將刪除某些軟體包的警告,請按照提示操作,或在建立新項目。

步驟二
  • initialize OLED插入on start,初始化OLED螢幕像素為128*64
  • 將RTC計時程式積木,拖曳至initialize OLED後方,將目前時間設定為14點15分0秒(可依據您目前的時間設定)。

步驟三
  • 依序將clear OLED displayshow stringshow number積木放入forever迴圈內。
  • 顯示字串:Time:,用來在OLED上引導顯示目前的小時、分鐘和秒數。
  • 插入show number並分別放入RTC計時程式積木的「hour」、「minute」、「second」,三者中間用show string來顯示字串「:」,以隔開時、分鐘與秒數。
  • 接著插入insert newline

步驟四
  • show string顯示字串Noise:及用show number顯示回傳的噪音值,這裡是使用Octopus積木的value of noise(dB) at pin P1
  • pause(ms)設計為暫停1秒,使其可以每秒進行更新。

示範編碼:



成果
每秒顯示一次目前的環境噪音分貝(dB)。噪音感測器的數值區間為0~120。


動動腦
如何計算每分鐘的平均噪音分貝?

關於初次使用RTC的說明,請參考
Smart Science IOT:Kit物聯網科學套件_簡介篇的如何使用RTC。

 

IoT:Kit專案03:環境品質監測

環境品質監測是利用GIS技術對環境監測網路進行設計,以及保存收集到的資訊,並對其監測點進行詳細的分析。
目標
  • 執行環境品質監測。

材料
  • 1 x IoT:bit
  • 1 x 光線感測器
  • 1 x OLED螢幕
  • 1 x BME280模組
  • 2 x 杜邦線(3pin連接光線感測器、4pin連接BME280模組)

硬體組裝
  • 如下圖,將光線感測器連接到P1
  • 將BME280模組與IICSCL-P19SDA-P20連接。SCL-P19(藍線連接到P19的S)、SDA-P20(綠線連接到P20的S、紫線連接到V、灰線連接到G)。
  • 將OLED螢幕連接至IIC

MakeCode


編碼

步驟一
  • 顯選MakeCode欄目中的「Advanced」查看代碼。
../../_images/iot_bit_11.jpg
  • 需要為IoT新增編碼。點選欄目底部的「Extensions」,搜尋「IoT」,然後點選IoT軟體包將其新增到專案中。(如下圖)
../../_images/iot_bit_12.jpg
注意:如果收到由於不相容將刪除某些軟體包的警告,請按照提示操作,或建立新專案。

步驟二
  • initialize OLED插入on start,初始化OLED螢幕像素為128*64
  • 依序將clear OLED displayshow stringshow number積木放入forever迴圈內,並依照下圖內容做輸入。
  • 使用Octopus積木的value of light intensity(0~100) at pin P1偵測目前的光線強度、用value of BME280 temperature 偵測溫度和用value of BME280 humidity(0~100)偵測濕度。請在不同的偵測內容之中插入insert newline以便在OLED螢幕上能更好閱讀各項資訊。
  • 最後pause(ms)設計為暫停60秒,使其可以每分鐘進行更新。​

說明:BME280_temperature(溫度)可偵測0度~65度、BME280_humidity(濕度)的數值區間為0~100。
補充:BME280_pressure(hPa)百帕(氣壓單位)的數值區間為300~1100、BME280_altutude(M)高度根據前項氣壓來計算。




示範編碼



成果
每分鐘顯示一次光線感測值、溫度值和濕度值。

動動腦
如何計算一整天的數據?

 

IoT:Kit專案04:自動灌溉偵測

自動灌溉偵測系統是指無需人工操作或僅需很少的人力即可運作的系統。幾乎所有的系統(滴灌系統、灑水器、路面灑水)都可以藉助計時器、感測器或計算機等機械設備達到自動化。它使灌溉過程更有效率,並降低人力與管理成本,能更有效地利用水資源。
目標
  • 製作自動灌溉偵測系統。

材料
  • 1 x IoT:bit
  • 1 x 土壤溼度感測器
  • 1 x 水位感測器
  • 1 x 180度伺服馬達
  • 2 x 杜邦線

硬體組裝
  • 將水位感測器連接到P1
  • 將土壤濕度感測器連接到P2
  • 將180°伺服馬達連接到P9

MakeCode

編碼

步驟一
  • 點選MakeCode欄目中的「Advanced」查看代碼。
../../_images/iot_bit_11.jpg
  • 需要為IoT新增編碼。點選欄目底部的「Extensions」,搜尋「IoT」,然後點選IoT軟體包將其新增到專案中。(如下圖)
../../_images/iot_bit_12.jpg
注意:如果收到由於不相容將刪除某些軟體包的警示,請按照提示操作,或在建立新專案。

步驟二
  • servo write pin ~ to~積木塊插入on start,將P9寫入0使伺服馬達轉動到0度,用於關閉閥門。


步驟三
  • forever設定兩個變數:water_level(水位)及soil_humidity(濕度),分別寫入Octopus積木的value of water level(0~100) at pin P1value of soil moisture(0~100) at pin P2到變數內
  • 設置pause(ms),使其暫停一秒,透過此積木使micro:bit讀取數值時更加準確。
  • 建立if~else,判斷變數:water_level(水位)是否低於10,若是,發出聲響以提醒需注水。
  • 建立if~else,判斷變數:soil_humidity(濕度)是否低於50,若是,則打開閥門澆水(轉動P9的伺服馬達到90度),否則的話,則關閉閥門(轉動P9的伺服馬達到90度)。


請注意:水位感測器上的max水位線,其上方零件不防水,測試時請避免將它沒入中水。
在不同水質及溫度條件下,於不同水質的水位所檢測出的數值會有所差異。

 
示範編碼:



成果
透過自動灌溉偵測系統,完成自動判斷水位及提醒注水,並經由偵測土壤濕度來決定是否執行澆水動作。 
 
IoT:Kit專案05:監測站保護裝置

當環境監控站放置在室外時,為了防止裝置被破壞、測得的數據遭受干擾,您會需設置一個保護裝置,防止設備損壞並警告其他人遠離此設備。

目標
  • 製作一個監測站的保護裝置。

材料
  • 1 x IoT:bit
  • 1 x 超音波感測器
  • 1 x 人體紅外線感測器
  • 2 x 杜邦線

硬體組裝
  • 如下圖,人體紅外線感測器連接到P1
  • 將超音波感測器連接到P2

MakeCode


編碼

步驟一
  • 點選MakeCode欄目中的「Advanced」查看代碼。
../../_images/iot_bit_11.jpg
  • 需要為IoT新增編碼。點選欄目底部的「Extensions」,搜尋「IoT」,然後點選IoT軟體包將其新增到專案中。(如下圖)
../../_images/iot_bit_12.jpg
注意:如果收到不相容問題將刪除某些軟體包的警示,請按照提示操作,或在建立新項目。

步驟二
  • forever內設計變數:「IR(紅外線)」,並從Pins積木中拖曳出digital write pin P1,將其讀取數值指定為變數:IR,並透過if~else判斷IR是否等於1(數位訊號=1,代表感測器是打開的狀態)。
  • 如果IR等於1設計變數:「ultrasonic(超音波)」,將Octopus積木的Ultrasonic distance in unit cm at pin P2指定為變數:Ultrasonic
  • 如果ultrasonic變數的值小於30,則發出聲音警告。

示範編碼:



成果
當檢測到附近有生物靠近時,會發出聲音提醒。
補充:人體紅外線感測器除了偵測人體紅外線,也需要偵測到人體運動才會有反應,靜止不動時是無法偵測到的。
logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create