Smart City Kit 智慧城市套件組|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2021/10/16

Smart City Kit 智慧城市套件組

Smart City Kit 智慧城市套件組

1.1. 介紹

micro:bit智慧城市套件組含有IoT:bit、DHT11溫溼度感測器、土壤濕度感測器、水位感測器、Sonar:bit超音波感測器、伺服馬達等多種選擇,可以利用它來打造智能停車場、交通網絡和河川水位監測…等主題,我們能從中了解更多關於物聯網和程式設計的知識,以及透過它來探索更多未來城市場景的可能性!




1.2. 零件清單

  • micro:bit x1 (選配)  
  • IoT:bit 擴充板 x1
  • OLED螢幕 x1
  • 紅色LED x1
  • 黃色LED x1
  • 綠色LED x1
  • DHT11溫溼度感測器 x1
  • 水位感測器 x1
  • 土壤溼度感測器 x1
  • Sonar:bit超音波感測器 x1
  • 180° 伺服馬達 x1
  • USB傳輸線 x1
  • 入門手冊 x1


2.案例01:地鐵防止雨水倒灌裝置

2.1. 介紹

在城市間旅行有非常多種選擇,而地鐵以其快速、方便、舒適的特點逐漸成為人們的首選交通工具。因為地鐵大多建造在地下,當遭遇強烈的暴雨襲擊時,極有可能造成地鐵出入口發生雨水灌入的事故,若車站發生積水問題,就可能造成人員滯留、設備損壞...等,影響地鐵的正常運行。因此,我們可以設計一個防止雨水倒灌的裝置,當檢測到水位超過所設定的臨界值時,防水擋板會自動升起,防止雨水倒灌。

2.2. 功能


用水位感測器來檢測地鐵出口的水位,如果偵測到的數值超過所設定的臨界值,就會啟動伺服馬達將防水擋板升起,以防止雨水倒灌。

2.3. 硬體連接

將水位感測器連接到 P1、將伺服馬達連接到P2。



2.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。



輸入"iot-environment-kit"為此套件下載額外的擴充程式。


注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

輸入"servo"為此伺服馬達下載額外的擴充程式。


注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


建立一個名為「water_level(水位)」的變數,將回傳的水位感測值保存在變數中。



從程式選單的「Basic」中拖出「forever(重複執行)」積木,接著判斷變數「water_level」是否超過我們所設定的臨界值,如果是,則代表目前水位過高,讓micro:bit顯示“×”來提醒管理人員,並驅動伺服馬達將防水擋板升起,以防止雨水倒灌;如果水位未超過臨界值,micro:bit則顯示代表可以通行的圖案,並驅動伺服馬達放下防水擋板。



程式連結



2.5. 結果


如果偵測到的水位數值超過所設定的臨界值,micro:bit上會出現“x”圖標來提醒管理人員,並啟動伺服馬達將防水擋板升起,以防止雨水倒灌;如果水位未超過臨界值,micro:bit將顯示代表可以通行的圖案,並放下防水擋板。
 

3.案例02:自動灌溉系統

3.1. 介紹

目前環境保護的議題備受關注,而城市景觀在發展中扮演重要的角色。為滿足植樹造林的灌溉需求,人工灌溉的用水量增加,這可能導致水源過度使用。因此我們可以製作一種自動灌溉裝置,達到省水且節省人力的效果。


3.2. 功能

從土壤濕度感測器檢測土壤的濕度值並顯示在OLED螢幕上,如果值低於我們設定的臨界值,micro:bit將會驅動伺服馬達進行自動澆水。

3.3. 硬體連接

將土壤濕度感測器連接到P1、將伺服馬達連接到P2、將OLED螢幕連接到IoT:bit上的IIC接口。



3.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

輸入"servo"為此伺服馬達下載額外的擴充程式。

../../_images/microbit-Smart-City-Kit-case-01-06.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


從程式選單的「Basic」中拖出「on start(當啟動時執行)」積木,將OLED螢幕初始化為預設值128×64。
建立一個名為「soil_moisture(土壤濕度)」的變數,將偵測到的土壤濕度感測值保存在變數中。



如果變數「soil_moisture(土壤濕度)」值低於所設定的臨界值,則表示景觀需要澆水,micro:bit將顯示"打勾"圖案並驅動伺服馬達自動進行澆水;若未低於所設定的臨界值,micro:bit將顯示"微笑"圖案來代表目前的狀態不需澆水,並驅動伺服馬達停止澆水。



程式連結



3.5. 結果


土壤濕度值會顯示在OLED螢幕上,當數值低於所設定的臨界值,將驅動伺服馬達自動進行澆水;若未低於所設定的臨界值,則驅動伺服馬達停止澆水,藉以達到節約用水。
 

4.案例03:智能垃圾桶

4.1. 介紹

路邊的垃圾桶大多沒有蓋子,在炎熱的夏天期間很容易產生異味,雖然也有一些是設計附有蓋子的垃圾桶,但需要我們用手打開它才能夠丟垃圾,這很容易讓病菌和髒汙附著在我們手上,一不小心就危害了健康。因此,我們可以設計一個智能垃圾桶,讓它可以在有人靠近時自動打開蓋子。

4.2. 功能

使用Sonar:bit超音波感測器檢測是否有人靠近,並有人靠近時自動打開蓋子、在離開時自動關閉蓋子。

4.3. 硬體連接

Sonar:bit超音波感測器連接到P1、將伺服馬達連接到IoT:bit上的P2。



4.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

輸入"servo"為此伺服馬達下載額外的擴充程式。

../../_images/microbit-Smart-City-Kit-case-01-06.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


從程式選單的「Basic」中拖出「forever(重複執行)」積木,接著建立一個名為「ultrasonic_distance(超音波感測距離)」的變數,用來儲存超音波感測距離的回傳數值。



從程式選單的「Logic」中拖出「if~then~else(如果~那麼、否則)」的條件判斷積木,判斷透過Sonar:bit超音波感測器檢測到的數值(注意可檢測的範圍是4~400cm)是否在我們設定的範圍內,如果在範圍內代表有人靠近,將驅動伺服馬達打開垃圾桶;若Sonar:bit超音波感測器檢測到的數值不在我們設定的範圍內,代表目前沒有人,因此將驅動伺服馬達關閉垃圾桶。



程式連結



4.5. 結果


如果有人靠近智能垃圾桶時,它將自動打開蓋子,並在離開時自動關閉蓋子。
 

5.案例04:鳥巢

5.1. 介紹

頻繁的人類活動使鳥類的生存環境發生了很大變化,鳥類在城市中不容易找到休憩和築巢的地方,因此,我們可以為它們製作一個鳥巢。


5.2. 功能

利用micro:bit的不同傾斜狀態來控制不同顏色的LED燈發亮,用以提醒人們保護鳥巢。

5.3. 硬體連接

將綠色LED連接到P1、黃色LED連接到P2、紅色 LED連接到P9。



5.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


從程式選單的「Basic」中拖出「on start(當啟動時執行)」積木,並將選單「Led」中的「led enable flase」拖到其中,此程式是用來關閉micro:bit內建的led,因為在這個專案內我們要使用套件提供的led,避免共用到micro:bit原本的led腳位所以先將其關閉。

從程式選單的「Basic」中拖出「forever(重複執行)」積木、從程式選單的「Logic」中拖出「if~then~else(如果~那麼、否則)」的條件判斷積木,來使micro:bit能夠依照不同的傾斜狀態驅動不同顏色的LED亮燈。


如果micro:bit標誌朝上,表示鳥巢處於正常狀態,則亮綠燈;如果micro:bit處於傾斜狀態(表示鳥巢向左/右側傾斜),則亮黃燈;若非前述兩者,則代表鳥巢可能傾倒了,則亮紅燈以提醒人們需要重新建造。




程式連結



5.5. 結果


亮綠燈表示鳥巢處於正常狀態;亮黃燈表示鳥巢處於傾斜狀態(鳥巢向左/右側傾斜),若非前述兩者,則代表鳥巢可能傾倒了,則亮紅燈以提醒人們需要重新建造。
 

6.案例05:圖書館溫溼度檢測

6.1. 介紹

若圖書館內保持穩定的溫度(14℃-24℃之間)和濕度(45%-60%),將有助於防止書籍在高溫和潮濕的環境中滋生書蟲,或在低溫潮濕環境中脆化。


6.2. 功能

利用DHT11溫溼度感測器檢測溫度和濕度值並顯示在OLED螢幕上,如果數值不在我們設定的正常範圍內,則micro:bit將亮起LED燈來提醒。

6.3. 硬體連接

將DHT11溫溼度感測器連接到P1、將紅色LED連接到P2、將OLED螢幕連接到IoT:bit上的IIC接口。



6.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


從程式選單的「Basic」中拖出「on start(當啟動時執行)」積木,將OLED螢幕初始化為預設值128×64,放入自己喜歡的圖案來為專案增加趣味。

從程式選單的「Basic」中拖出「forever(重複執行)」積木,接著建立一個名為「Temp(溫度)」的變數,用來儲存偵測到的溫度值;建立一個名為「RH(濕度)」的變數,用來儲存偵測到的濕度值,在這之中增加「pause(暫停)」5秒的程式,讓感測器有足夠時間讀取數值。溫度及濕度值均會顯示在OLED螢幕上。




透過兩個if條件來判斷目前的溫度及濕度是否適合保存書籍,如果不適合則亮起紅燈提示。



程式連結



6.5. 結果


目前的溫度和濕度值會顯示在OLED螢幕上,如果它們不在合適的數值範圍內,則會亮起紅色LED燈來警示管理人員。
 

7.案例06:自動寵物餵食器

7.1. 介紹

在旅行期間難免會掛心獨自待在家裡的寵物,因此如果能為寵物做一個自動餵食器,那將能使我們更放心享受出遊的時光。


7.2. 功能

透過Sonar:bit超音波感測器偵測餵食器前方是否有寵物,當偵測到寵物時,將驅動伺服馬達開啟餵食器的蓋子,自動添加食物。

7.3. 硬體連接

將Sonar:bit超音波感測器連接到P1、將伺服馬達連接到P2。

7.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

輸入"servo"為此伺服馬達下載額外的擴充程式。

../../_images/microbit-Smart-City-Kit-case-01-06.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

從程式選單的「Basic」中拖出「forever(重複執行)」積木,接著將設置在P1的Sonar:bit超音波感測器所偵測到的"cm(公分)"指定保存到到名為ultrasonic_distance(超音波感測距離)」的變數。

從程式選單的「Logic」中拖出「if~then~else(如果~那麼、否則)」的條件判斷積木,判斷變數「ultrasonic_distance(超音波感測距離)」是否在我們設定的條件內(注意有效檢測範圍為4~400cm),如果寵物不在此範圍內,則回傳值為0,因此我們需要設定最大值和最小值。

如果回傳值在設定的範圍內,則表示餵食器前方有寵物,因此將驅動伺服馬達轉動到180° 用以添加食物,並持續五秒;否則的話,伺服馬達將轉動到0° 。



程式連結



7.5. 結果


如果Sonar:bit超音波感測器偵測到寵物,餵食器就會自動將食物餵食給寵物。
 

8.案例07:自動開燈裝置

8.1. 介紹

當micro:bit偵測到周圍光線強度太暗時,將自動開啟燈光。


8.2. 功能

利用micro:bit的光線感測器檢測環境中的光線強度,如果光線太暗,則將自動開啟燈光。

8.3. 硬體連接

將黃色LED連接到P1。



8.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

從程式選單的「Basic」中拖出「forever(重複執行)」積木,從「Logic」中拖出「if~then~else(如果~那麼、否則)」的條件判斷積木,判斷偵測到的光線感測值是否低於100,如果是,則代表目前的光線太暗,需開啟LED燈;否則的話,關閉LED燈。



程式連結



8.5. 結果


如果micro:bit偵測到目前的光線太暗,將自動開啟黃色LED燈。
 

9.案例08:自動飲水器

9.1. 介紹

在戶外運動場所或其他地方,有時可以看到設有飲水器方便市民解決在戶外的飲水需求,我們可以製作出一種不需按開關就可以自動流出飲用水的自動飲水器。

9.2. 功能

利用Sonar:bit超音波感測器檢測飲水器前方是否有人,如果有人,則驅動伺服馬達打開開關給水。

9.3. 硬體連接

將Sonar:bit超音波感測器連接到P1、將伺服馬達連接到IoT:bit上的P2。



9.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

輸入"servo"為此伺服馬達下載額外的擴充程式。

../../_images/microbit-Smart-City-Kit-case-01-06.png
注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

從程式選單的「Basic」中拖出「forever(重複執行)」積木,接著建立一個名為「ultrasonic_distance(超音波感測距離)」的變數,用來儲存超音波感測距離的回傳數值。
從程式選單的「Logic」中拖出「if~then~else(如果~那麼、否則)」的條件判斷積木,判斷變數「ultrasonic_distance(超音波感測距離)」是否在我們設定的條件內(注意有效檢測範圍為4~400cm),如果人們不在此範圍內,則回傳值為0,因此我們需要設定最大值和最小值。

如果回傳值在設定的範圍內,則表示飲水器前方有人,因此將驅動伺服馬達轉動到90° 用以給水;否則的話,伺服馬達將轉動到0°停止給水。



程式連結



9.5. 結果


如果有人靠近飲水器,伺服馬達將自動轉動到90° 開始給水;否則的話,伺服馬達將轉動到0° 停止給水
 

10.案例09:圖書館噪音檢測裝置

10.1. 介紹

噪音一直是圖書館管理中的常見問題,如果在85db以上的環境中停留8小時以上,會損害聽力,雖然正常情況下圖書館不會有這麼大的噪音,但是較小的噪音對讀者的影響也不容忽視。因此,我們可以製作一個圖書館噪音檢測裝置,提醒人們目前的環境噪音水準。

10.2. 功能

利用micro:bit的聲音感測器來檢測環境中的聲音感測值,並將其顯示在OLED螢幕上,再設計藉由LED點亮不同的顏色來區別不同等級的聲音感測值。

10.3. 硬體連接

將綠色LED連接到P1、黃色LED連接到P2、紅色LED連接到P9、將OLED螢幕連接到IoT:bit上的IIC接口。



10.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

從程式選單的「Basic」中拖出「on start(當啟動時執行)」積木,將OLED螢幕初始化為預設值128×64,並透過OLED螢幕顯示聲音感測值。

判斷當聲音感測值低於100,則LED點亮為綠色;如果聲音感測值介於100~150之間,則LED點亮為黃色;如果聲音感測值大於150,則LED點亮為紅色。




程式連結



10.5. 結果


我們隨時能在OLED螢幕上看到目前的聲音感測值,並藉由LED所點亮的不同顏色來區別不同等級的聲音感測值。
 

11.案例10:按鈕式行人專用號誌

11.1. 介紹

交通號誌燈能夠有效控制交通,對疏導交通流量、提高道路通行能力、減少交通事故有明顯的效果。但是當沒有行人通過時,紅燈則會降低行車效率,所以我們可以製作一個按鈕式行人專用號誌,當有人需要過馬路時,按下按鈕觸發綠燈。

11.2. 功能

按下按鈕將啟動自動計時器並點亮不同條件下的的交通號誌燈。

11.3. 硬體連接

將綠色LED連接到P1、黃色LED連接到P2、紅色LED連接到P9。

../../_images/microbit-Smart-City-Kit-case-04-03.png

11.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。


在按下A鍵時,micro:bit將顯示從9開始倒計時到0(共10秒),接著亮起黃色LED。



亮起黃燈後,設置4秒倒計時後亮起綠色LED。



亮起綠燈後,設置6秒倒計時後亮起紅色LED。



程式連結



11.5. 結果


在micro:bit上將顯示倒數計時,並且黃燈亮4秒、綠燈亮6秒,最後亮起紅燈。
 

12.案例11:商店防盜警報器

12.1. 介紹

在商店安裝防盜報警裝置,用以在有人闖入商店行竊商品時發出警報聲響及警示燈。

12.2. 功能

透過micro:bit的磁力感測器(電子羅盤)來檢測磁鐵,如果磁鐵遠離micro:bit,將發出警報聲響並點亮紅色LED。

12.3. 硬體連接

將紅色LED連接到P1。

12.4. 程式設計

於MakeCode平台的程式選單中點擊Advanced(進階),並點擊Extensions(擴充)。

../../_images/microbit-Smart-Agriculture-Kit-case-01-04.png

輸入"iot-environment-kit"為此套件下載額外的擴充程式。

../../_images/microbit-Smart-Agriculture-Kit-case-01-05.png

注意:如果您遇到提示說明:由於擴充程式不相容,將刪除某些擴充程式,此時您可以按照提示繼續操作或再創建一個新的程式專案。

持續檢測目前的磁場強度,如果強度低於臨界值,則將發出警報聲響並使紅色LED閃爍用以警示商品遭竊。




程式連結



12.5. 結果


如果有人在商店行竊商品,防盜報警器會發出警報聲響,並且紅色LED會持續閃爍來警示商品已遭竊。
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