從AI智慧小溫室提升學童環境倫理觀

文•圖/新北市深坑國小資訊組長 李曉旻

 一、作品理念與構想

     環境倫理是人類與自然環境間的道德關係,也可以說是人類與自然環境的倫理責任,孟子見梁惠王:「數罟不入洿池,魚鱉不可勝食也。斧斤以時入山林,林木不可勝用也。」,這是古人對環境倫理智慧,現代人更應學習其精神,以下是將環境教育中的環境價值觀融入資訊教育,期望提升學生的環境價值觀從人類中心主義到生命中心倫理提升至生態中心倫理的實驗的AI智慧小溫室計畫:

    首先是透過Arduino的開發板,連結各項感測器,了解開發板運作的原理,加入程式的設計,結合生活之中常用的物品,使之相互應用。市售及網路多為單獨接取感測器及裝置之文章,本研究將市售溫溼度感測器、土壤感測器、LCD、馬達及繼電器同時加入Arduino,將數值傳送到LCD進行監控,呈現一個小型溫室的基本元素-空氣溫度、空氣溼度、土壤溼度。希望藉由實驗結果可以實踐到我們學校真正的大溫室。

    Arduino 是一款能夠作為多項用途的微電腦開發板,並且也是一款理想的開放硬體平台,可以充分活用在物聯網(Internet of Things,IoT)的開發領域中。「需求為發明之母」,我們常因忙碌或出遠門,以致疏於照顧家中的植物,造成盆栽過乾而枯死,剛好藉由近年快速發展的Arduino開發板,結合相關感測器而著手製作。本單元主要運用廚餘堆肥設備,期望學生能認識廚餘堆肥再利用;認識土壤中的生物藉由廚餘堆肥了解廚餘堆肥對校園棲地營造的重要性,以及利用融入式教學法,採用體驗式教學法進行五年級「植物世界面面觀」課程,讓學生能從生命中心倫理出發為校園棲地營造採取一些環境行動。


、使用之機具與材料

(一)材料:

編號

品項

應用說明

1

Arduino相容板

儲存程式碼及整合各項裝置及感應器

2

麵包板

模擬電路之用

3

DH11

空氣溫溼度感測器

4

土壤溼度感測器

感測土壤之溼度

5

LCD1620

顯示溫室資訊之用

6

繼電器ralay

利用電位控制抽水馬達

7

抽水馬達

抽水作為植物澆灌用

8

18650電池

供電用

9

9v碳鋅電池

供電用

10

小溫室

承載研究器材

11

乾溼盆栽各一

比較不同土壤溼度及裝置作用情形

12

筆電一台

編寫程式並上傳Arduino板用

(二) 工具:剪刀、刀片、雙面膠

(三)程式應用:

1.ArduBlockly

2.Arduino IDE

三、製作步驟

(一)文獻探討

1.Arduino開發板

    Arduino,是一個開放原始碼的單晶片微控制器,它使用了Atmel AVR單晶片,採用了開放原始碼的軟硬體平台,建構於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似Java、C語言的Processing/Wiring開發環境。這種開發板不僅軟體是開放的,硬體也是開放的,軟體的開發環境可在網路上免費下載,而Arduino電路設計圖也可由官方網站下載,依照不同的需求修正。因為開發簡單,參考資料多,在以往的硬體環境中,開發微控制器要具備電子、電機等相關背景,需要花費大量時間才能完成。

圖一 Arduino開發板(相容板)

    Arduino 是一張微控制器板子 (microcontroller board),約一個手掌大:使用者可以在 Arduino 板子上接上各種電子裝置,例如 LED 燈、喇叭、馬達、開關、溫濕度感測器、紅外線發射與接收器、LCD 顯示裝置,以及 Ethernet, WiFi, XBee, Bluetooth, RFID, GPS 等各種通訊模組。若再配合撰寫一些自動控制的程式,就能利用 Arduino 做出各式各樣的自動控制應用,例如利用溫度感測器控制風扇的運轉、使用可變電阻控制燈光的明暗、控制馬達的轉速、利用紅外線遙控家電,利用伺服機控制機械手臂或機器人,以及製作自走車、飛行器等等。

    Arduino硬體方面,開發板有分官方板和相容板,由於硬體晶片電路設計是開放的,所以在電子商場和網路上有出現各式各樣的仿製相容板,市面上相容性板子很多,網路購物就可以買到,原廠較貴大約1000元,仿製的大約200~300元,大陸改良板大約110~180元左右,也有針對個人需求修改將感測器及各種元件加在開發板上的Difi板、Motoduino板、WFduino、Microbit板等。

    軟體方面,若使用大陸改良板用的USB連接晶片不同,使用時要另外安裝CH340系列的驅動程式,上網搜尋CH341SER.EXE安裝。而搭配Arduino控制板的編譯程式有很多,對於國中小來說常見的大概就是圖形介面的S4A、mBlock、Webduino Blockly和S2A,還有Transformer轉譯器。初級班建議選擇Scratch 2.0 + WFduino或mBlock,chromebook可以選WFduino,但上述這些編譯器安裝程式對初學者有些困難,限定了一些Arduino連接埠的功能,無法將程式上傳到Arduino板,因此必須連接USB線使用,無法使用在我們的溫室使用,我們必須將程式燒錄在開發板中。

    而arduino板原來接受的是的Arduino Software IDE程式,這種文字式的寫法對初學者來說太難了,可能為了某個指令少打一個字就無法成功。因此利用圖形介面的積木式拖拉來完成程式寫作,減少困難度,讓初學者可以容易的操控arduino。學生利用這些圖形介面的程式語言完成程式後,需要透過轉譯的動作,將積木程式轉譯成Arduino Software IDE程式才能執行,這個轉譯的過程如果出差錯,執行結果就不如預期。

    綜合上述考量,本研究編譯軟體運用ArduBlockly,是源於 BlocklyDuino 的眾多 Blockly for Arduino 工具之一, 提供漂亮的使用介面和整合原生Arduino IDE工具, 不只可以自動將積木程式轉換成C語言的Arduino程式碼, 配合安裝的Arduino IDE, 我們只需按下按鈕, 馬上可以開啟 Arduino IDE, 驗證草稿碼, 或上傳程式至Arduino開發板,離線即可使用。


2.土壤溼度感測器

    土壤溼度感測器對環境溼度最敏感,一般都用來檢測土壤的溼度,我們用來檢測温室中土壤的水份,將類比信號傳至Arduino,一者輸出至LCD液晶螢幕呈現該溫室資訊,再者透過程式的編譯,提供給繼電器(Relay)的開關的參考值,進而作為啟動或關閉抽水馬達的數據。

圖二 土壤溼度感測器

3.溫溼度感測器

    DHT-11 是一個結合濕度計和測溫元件量測週遭空氣環境,並與一個高性能8位元單晶片相連接,將所量測到的溫、濕度資料拆解成為數位訊號,再由 data pin腳將資料送出,雖然DHT-11較為精密,但其較其他DHT-22小且便宜許多,本研究這次用在作為監控溫室空氣溫溼度之用,作溫室植物成長的控制元素。    

    它有三個腳位,分別是VCC.DATA.GND,我們將DATA腳位接至Arduino,將數位資料接收後,傳送至Arduino,並將訊號送至LCD呈現。

圖三 溫溼度感測器

4.LCD

    LCD1602是本研究所使用的液晶螢幕,這個模組很便宜,在顯示器背面的 LCM1602 IIC V1 控制板有 I2C 的四個針腳,分別為 GND、VCC、SDA 與 SCL,用杜邦線全部接出來。連接的方式很簡單,VCC 接電源,GND 接地,SDA 接到 SDA,SCL 接到 SCL,可將Arduino上的感測器數據接收傳送至此,作為溫溼度和土壤溼度監控用。

圖四 LCD1602液晶螢幕

5.繼電器

    繼電器又稱電驛,是一種電子控制器件,它具有控制系統和被控制系統,通常應用於自動控制電路中,是用較小的電流去控制較大電流的一種「自動開關」,在電路中起著自動調節、安全保護、轉換電路等作用,當我們開始用 Arduino 控制繼電器,就可以非常簡單的做出利用智慧插座或自動開關。

    本研究利用高電位和低電位來控制繼電器,當土壤溼度過低(即偵測的值愈大),即透過Arduino控制繼電器,形成迴路後啟動抽水馬達達到澆花的功效。

圖五 繼電器

6.抽水馬達

    一種用以增加液體或氣體的壓力,使加壓過的氣體或液體產生比平常狀況下更巨大的推進力量,用於推進某些機械裝置或是氣體或液體產生巨大的力量作為多項用途,與「蹦」同音,為英語pump的音譯,是一種用來移動液體、氣體或特流殊體介質的裝置,即是對流體作功的機械。本研究利用抽水馬達,搭配水管和盛水容器,作為澆花器使用。

圖六 抽水馬達

二、研究流程

    研究流程包括材料準備、實驗教學、資料分析及撰寫報告

研究流程

    目前書本及網路上多為個別接感測器及裝置之文章,本研究將市售溫溼度感測器、土壤感測器、LCD、馬達及繼電器同時加入Arduino,,將數值傳送到LCD進行監控,呈現一個小型溫室的基本元素-空氣溫度、空氣溼度、土壤溼度。

    而此研究最大的挑戰,是如何讓這些不同感測器及裝置整合在同一塊Arduino板上,並且能運用正常,我們必須一一測試並除錯。

(一)個別測試

表三 個別測試流程


圖七 加裝溫溼度感測器dh11、土壤溼度感測器和LCD

圖八 加裝繼電器測試

(二)軟體除錯測試

    在軟體方面,編譯軟體運用ArduBlockly,是源於 BlocklyDuino 的眾多 Blockly for Arduino 工具之一, 提供漂亮的使用介面和整合原生Arduino IDE工具, 不只可以自動將積木程式轉換成C語言的Arduino程式碼, 配合安裝的Arduino IDE, 我們只需按下按鈕, 馬上可以開啟 Arduino IDE, 驗證草稿碼, 或上傳程式至Arduino開發板,離線即可使用。

    程式分為LCD液晶螢幕部分及Relay繼電器部分,LCD顯示只有兩行,故讓溫度呈現第一行,溼度呈現第二行,前面加註字串以供識別,空氣溫度以“Temp”代表,空氣溼度以“RH”代表,土壤溼度以“MOIS”代表。

    空氣溫溼度感測值由DH11感測器接收後,經由Arduino數位腳位D2讀取,土壤溼度感測值為類比訊號,由土壤溼度感測器接收後,經由Arduino類比腳位A0讀取,統一傳送至LCD1602。

圖七 利用積木式ArduBlockly編寫本研究程式

    繼電器利用高電位和低電位來控制,我們設定若土壤溼度感測器值過大(值愈大,表示愈乾,值愈低表示愈溼),超過200即將Arduino板數位腳位7(A7)設定高電位,形成通電迴路,讓抽水馬達啟動,反之則將Arduino板數位腳位7(A7)設定低電位,讓抽水馬達關閉。


伍、研究結果

一、抽水馬達的選擇

    在測試完畢後,我們要將在塑膠板上的模擬電路裝在小溫室中,Arduino開發板、各感測器和LCD的位置,線路的安排,抽水馬達的擺放,讓我們的裝置可以正常運作,都是一大挑戰。

圖八 將模擬電路組裝至實體小溫室上

    在抽水馬達的部分,我們原先運用的抽水馬達雖然馬力較強,但運用在小溫室中效率不彰,盆栽也不需那麼多水,抽水馬達必須排除空氣才能抽水,故在線路的安排上有許多的限制,沒有辦法達到我們澆灌的需求。

圖九 原先使用的12v抽水馬達

圖十 進行馬達抽水實驗

二、供電和接地孔位的不足

     本研究發現,Arduino上的裝置愈多,愈難整合,首先遇到最大的問題就是電路的設計。因為裝置共有DH11空氣溫度感測器、土壤溼度感測器、LCD液晶螢幕、繼電器等四項裝置,每個裝置都需供電,每個裝置都需接地(gnd),而Arduino供電腳位只有一個,接地腳位只有三個,要如何形成迴路,是我們研究的方向。

三、電池的選擇

    我們發現這個研究中,在Arduino板上耗電量最大的裝置,一個是液晶螢幕,一個是繼電器,因為液晶螢幕需要顯示的關係,故若使用較小顆的電池,例如碳鋅電池,會造成供電不足,而液晶螢幕變淡;再者繼電器是利用磁簧作切換的,若供電不足,磁簧無法作動,沒有辦法達到控制馬達的效果。


陸、與環境倫理作結合

    為了打造符合環境倫理,生生不息的溫室環境,我們將小溫室實驗成功的Arduino實際裝置在大型實體溫室中,運用太陽能面板提供的電力及雨水回收的水,進行植物的澆灌,利用各式綠色能源及可再生資源,讓學生了解地球環境所能提供的資源是有限的,尤其是金屬和石油這些非再生性資源,用完後就無法再獲得。所以在一個資源有限的地球環境中,無限制的消耗資源將對地球環境造成極大的損害。地球上的生態系是由生物與非生物所組成,各組成因子間是相互依存、息息相關的,人類必須維護地球生態的完整性。我們不能用金錢來評估地球上任何物質的價值,而破壞地球生態所需付出的代價,亦是無法估量的。