🎯 學習目標 學員能正確分辨「類比輸出(接 A0–A3,數字會連續變化)」與「數位輸出(接 D 腳,只有熱了/沒熱兩種)」,並把感測器插到對的腳位上 學員能用白話描述需求請 AI 生碼,讀懂程式裡的中文註解,找出「判斷的那一行 if」並自己改門檻數字(例如把 30 度改成 28 度) 學員能完成至少一個「感測→判斷→輸出(LED/蜂鳴器/OLED 文字)」的完整反應裝置,並讓它在條件成立時正確反應、條件不成立時安靜 學員能把兩種感測器用 AND 或 OR 串起來(例如「火焰 或 高溫」才報警),說出兩條件比單一條件「更不會誤報」的好處 學員能說出至少 2 個生活中的「感測→判斷→動作」例子(火災警報器、土壤濕度澆花、淹水偵測),把課堂原理連回家裡 學員能在 mini Demo 用 30 秒講清楚:我的偵測站叫什麼、用了哪 2 種感測器、它偵測到什麼會做什麼、做給誰用
🧰 材料清單
每席 Arduino Uno R3 ×1(含 USB-B 傳輸線 ×1) 麵包板 830 孔 ×1 公對公杜邦線 ×1 包(約 20 條,紅黑各備足做電源軌) I2C OLED 0.96吋 0x3C ×1(課前已接好驗證會亮) DHT11 溫濕度感測器模組 ×1(3 腳,內建上拉) DS18B20 防水溫度探頭模組板 ×1(含上拉電阻的模組板,非裸 TO-92) 模擬溫度感測器(熱敏電阻模組,類比 A0)×1 數字溫度感測器(帶 D0 比較器輸出)×1 火焰感測器模組 ×1(同時有 A0 類比 + D0 數位兩腳) 水位感測器模組 ×1(類比 A2) 土壤濕度感測器模組 ×1(類比 A3) 紅色 LED 模組 ×1(板上含限流電阻,接 D7 當警報燈)+ 綠色 LED 模組 ×1 有源蜂鳴器 KY-012 ×1(接 D8) 接線小卡 ×1(本堂腳位圖示:DHT11→D2、18B20→D3、模擬溫度→A0、數字溫度→D4、火焰→A1/D5、水位→A2、土壤→A3、OLED→A4/A5、紅LED→D7、蜂鳴器→D8) 姓名標籤貼紙 ×1(貼 OLED 邊框與作品) 『我的偵測站說明卡』學習單 ×1(畫:用哪 2 種感測器、偵測什麼、做給誰)
共用 / 講師示範 筆電(每席 1 台,已裝 Arduino IDE + DHT、OneWire、DallasTemperature、Adafruit_SSD1306 函式庫,並備好本堂離線 .ino 範例碼包) 站內 AI 程式助手副本(額度足)+ 本機 Ollama 降級備援 p5.js『居家溫濕度氣象台』投影模板(Chrome/Edge 開好)+ WebSerial 投影機/大螢幕 ×1 講師示範用打火機或小蠟燭 ×1(火焰感測器示範,全程講師持,禁交學員) 溫水杯 ×1 + 冰水杯 ×1(18B20 防水探頭示範用) 小水杯數個 + 滴管/小水瓶(水位、土壤倒水示範用) 乾抹布數條(沾水感測器擦拭,每桌 1 條)+ 防水桌墊 乾土/濕土小盒各 1(土壤濕度對照用) 紅綠膠帶(標電源軌正負)、束線帶 2–3 套課前測好的『備用整合套件』(接不出來換備機保住上台)
🧑🔧 課前準備(開課前 30 分) 每席拉好電源軌:紅母線=5V、黑母線=GND,貼紅綠標籤,用三用電表確認 5V 與 GND 沒短路(最常見開課即炸點) 每席 OLED 4 線先接好並通電驗證會亮(VCC→5V、GND→GND、SDA→A4、SCL→A5、位址 0x3C),亮不出來先換 OLED 或查 A4/A5 對調 每台筆電開 Arduino IDE 選好板型 Arduino Uno、確認 COM port 抓得到;把本堂離線 .ino 範例碼包放桌面(DHT11讀值/類比溫度/18B20/火焰/水位土壤/溫度>30亮燈 各一支) 逐席發本堂『接線小卡』與『我的偵測站說明卡』學習單;白板寫好「本堂安全可用腳位」:DHT11 D2、18B20 D3、模擬溫度 A0、數字溫度 D4、火焰 A1或D5、水位 A2、土壤 A3、OLED A4/A5、紅LED D7、蜂鳴器 D8 測 AI 程式助手站內副本開得起來且額度足、本機 Ollama 備援可啟動、p5.js 氣象台模板在 Chrome 開得起來、投影機接通 沾水感測器(水位/土壤/18B20)課前用一席試接通跑出數字,確認探頭金屬腳沒鏽蝕;備好乾抹布與防水桌墊;火焰示範用打火機/蠟燭與滅火備品(濕抹布)放講師桌 把『類比 vs 數位』大字海報貼牆:類比=A0~A3數字會連續跑、數位=D腳只有0或1(本堂最大邏輯卡點,視覺輔助)
⏰ 全天流程 09:00–17:00
09:00–09:20
報到 + 哭比熊開場 + 護照領章
👩🏫 講師: 哭比熊登場:「小偵探們集合!今天我們不抓壞人,我們要當『家裡的環境偵探』——抓火苗、抓淹水、抓口渴的植物!」發第 6 關護照頁,宣布今天目標:做一台會自己判斷的偵測站。
🧒 學員: 找到自己座位、貼姓名標籤在 OLED 邊框、翻開護照第 6 關、聽今天任務。
💻 AI/螢幕: 投影第 6 關護照頁 + 三個成品照片(植物口渴鈴/小小消防隊/淹水守門員)讓孩子先選心動目標。
✅ 評量/巡檢: 助教清點到席人數、確認每席筆電開機、OLED 已亮(課前驗證的延續抽查)。
09:20–09:35
暖身:點亮我的偵測站螢幕
👩🏫 講師: 帶全班一起:「先讓你的偵探站開機!」用 AI 生碼或範例碼讓 OLED 跑出『○○的偵探站 待命中』。講「後面每個感測到的數字,都會出現在這塊小螢幕上」。
🧒 學員: 上傳第一支程式,OLED 出現自己名字 + 待命中字樣,確認螢幕活著。
💻 AI/螢幕: AI prompt 示範:「請讓我的 I2C OLED 顯示『我的偵探站 待命中』兩行字。」
✅ 評量/巡檢: 助教逐席確認 OLED 顯示成功;沒亮先查 A4/A5 與共地(整片黑不報錯)。
09:35–10:30
今日感測器單站體驗(DHT11 + 類比/數位溫度對比)
👩🏫 講師: 站 1 DHT11:「對螢幕哈一口氣!」濕度衝高=「我的呼吸是濕的」。站 2 同時接模擬溫度(A0)與數字溫度(D4),敲黑板問:「A0 是一直變的數字、D4 只有熱了/沒熱,哪個是類比哪個是數位?」帶出本堂最重要分辨。
🧒 學員: 接 DHT11(D2) 看溫濕度、對嘴哈氣看濕度跳;再接模擬溫度(A0)與數字溫度(D4),親眼比較「連續數字」vs「0/1 開關」。
💻 AI/螢幕: AI prompt:「用 DHT11 把溫度和濕度顯示在 I2C OLED,每 2 秒更新一次。」
✅ 評量/巡檢: 巡檢『類比 vs 數位接腳』:模擬溫度必接 A0、數字溫度必接 D4;接錯腳數字不動是第一名卡點。指認每席能說出哪個是類比。
10:30–10:45
休息 + 喝水上廁所
👩🏫 講師: 提醒喝水、上廁所;助教趁空檔把沾水感測器(18B20/水位/土壤)發到桌上並鋪防水桌墊。
🧒 學員: 休息、喝水。
✅ 評量/巡檢: 助教鋪防水墊、發乾抹布、預接好 18B20 一席當示範。
10:45–11:10
沾水感測器三連發(18B20 + 水位 + 土壤)
👩🏫 講師: 18B20:「這根探頭防水,可以伸進水裡!」把探頭放溫水/冰水看溫度爬升下降,對比 DHT11 不能碰水。水位/土壤:「它們都靠『水會導電』來量。」插乾土再倒水看數字跳。
🧒 學員: 18B20(D3) 探頭進溫水/冰水看 OLED 溫度變化;水位(A2)放進水杯、土壤(A3)插乾土再倒水,看數字隨水量變。
💻 AI/螢幕: AI prompt:「用 18B20 把水溫顯示在 OLED,並把土壤濕度的數字也顯示出來。」
✅ 評量/巡檢: 安全巡檢:探頭金屬腳別讓水流到麵包板/UNO,桌面隨手擦乾;水位/土壤確認接類比腳 A2/A3 才有連續數字。
11:10–11:25
火焰感測器(講師持火示範)
👩🏫 講師: 全員退到安全距離。講師持打火機在火焰感測器前安全距離晃一下:「它看的是火的『紅外線光』不是熱喔!」秀 A1 類比數值隨火光跳動。強調火只有講師能碰。
🧒 學員: 只看自己/講師席上火焰感測器(A1類比 或 D5數位)數值跳動,不碰火,記下「有火/沒火」數字差。
💻 AI/螢幕: 投影火焰感測器數值即時變化,全班一起讀數字。
✅ 評量/巡檢: 安全紅線:火源全程講師持、滅火濕抹布在旁;學員座位火焰感測器只接線讀值不碰明火。
11:25–12:00
組合作品 1:第一個會自己判斷的裝置(單感測 + if)
👩🏫 講師: 「現在讓它自己思考!」帶做 DHT11 溫度>30 就亮紅 LED(D7) + OLED 寫『好熱喔!』。重點帶讀程式:「找出那一行 if (溫度 > 30)——這就是它的『判斷』,把 30 改成 28 試試!」
🧒 學員: AI 生碼做「溫度超過門檻就亮紅燈、否則熄燈」,找到 if 那行、自己改門檻數字,讓裝置在哈氣/握探頭時觸發。
💻 AI/螢幕: AI prompt(本堂主 prompt):DHT11 量溫濕度顯示 OLED,溫度>30 亮 D7 紅 LED 寫『好熱喔!』,否則熄燈寫『涼涼的剛剛好』,每 2 秒更新。
✅ 評量/巡檢: 評量點:每席能指出 if 那行並成功改門檻看到行為改變=「讀懂判斷」達成。助教記錄誰已過此關。
12:00–13:00
午餐 + 自由探索
👩🏫 講師: 用餐秩序、洗手;午餐後開放想先動手的孩子玩任一感測器,助教陪聊「你下午想做哪一個偵測站」。
🧒 學員: 午餐、休息;有興趣者自由試接喜歡的感測器。
✅ 評量/巡檢: 助教午休輪值看顧、清點火焰示範器材收回講師桌、補充各席杜邦線與抹布。
13:00–13:40
組合作品 2:雙感測器互搭(AND/OR 總成)
👩🏫 講師: 三選一帶做:小小消防隊(火焰 OR 18B20高溫→嗶嗶+『偵測到火源!』)/植物口渴鈴(土壤太乾→紅燈『我口渴了』夠濕→綠燈)/淹水守門員(水位碰水→嗶+『淹水了!』)。講:「兩個條件一起看,比只看一個更不會亂叫=更聰明。」
🧒 學員: 挑一個主題,把兩種感測器用 AND 或 OR 串起來,加 LED+蜂鳴器(D8)+OLED 文字,做成會反應的成品;測試條件成立會叫、不成立要安靜。
💻 AI/螢幕: AI prompt(依選題):例「火焰感測器(A1)偵測到火 或 18B20 溫度超過 40 度,就讓 D8 蜂鳴器一直嗶並 OLED 顯示『偵測到火源!』,都正常時顯示『安全』。」
✅ 評量/巡檢: 評量點:裝置在『該叫時叫、該安靜時安靜』兩種狀態都正確=完整反應達成。巡檢誤報(沒事亂叫)多半是門檻設太鬆或共地沒接。
13:40–14:30
p5.js 螢幕互動:居家溫濕度氣象台
👩🏫 講師: 接 WebSerial 投影:「你的數字會長在大螢幕上!」濕度高植物翠綠長水滴、低就垂頭冒『口渴』,溫度藍冷橘紅熱+折線圖。喊全班同時哈氣,看大螢幕植物一起變。
🧒 學員: 把自己的偵測站連上電腦,對著感測器哈氣/倒水/握探頭,看 p5.js 卡通植物與背景色即時反應;輪流上來示範。
💻 AI/螢幕: p5.js『居家溫濕度氣象台』:濕度→葉子翠綠/枯黃、溫度→背景藍/橘紅 + 往右捲折線圖(WebSerial 接 Arduino)。
✅ 評量/巡檢: 助教協助 WebSerial 連線(選對 COM、關掉 Arduino IDE 序列埠避免佔用);確認每人都看到自己的數值上螢幕。
14:30–14:45
休息 + 換腦
👩🏫 講師: 提醒喝水、收一下桌面沾水,預告等下要做自己的『獨家偵測站』+ 上台。
🧒 學員: 休息、喝水、擦乾桌面。
✅ 評量/巡檢: 助教擦乾各席水漬、補抹布、確認沾水感測器探頭未泡水生鏽。
14:45–16:05
自由創作:打造『我的偵測站』+ 寫說明卡 + 排練
👩🏫 講師: 發『我的偵測站說明卡』:「先在紙上畫——我的偵測站叫什麼、用哪 2 種感測器、偵測到什麼會做什麼、做給誰用,再請 AI 幫你組起來。」鼓勵改門檻、改 OLED 文字、加裝飾。
🧒 學員: 填說明卡定主題→AI 生碼組裝雙感測器版本→改門檻/改螢幕文字/貼裝飾→練 30 秒上台稿(「我叫○○,我的偵測站是___,它會___,因為我想幫___」)。
💻 AI/螢幕: AI prompt 由學員白話描述需求生碼(腳位對齊接腳表);可再連 p5.js 氣象台當展示背景。
✅ 評量/巡檢: 助教各包一桌巡:卡關先換『備用整合套件』保住上台;確認每人裝置能跑、說明卡填完、稿能講。低年級助教代讀稿亦可。
16:05–16:45
mini Demo + 護照蓋章 + 拍成果影片
👩🏫 講師: 主持每人 30 秒上台:當鏡頭演示「偵測→判斷→反應」一次(澆水/哈氣/靠近火光),講完說明卡四句。過關蓋『家庭環境偵探』徽章。哭比熊收尾鼓勵。
🧒 學員: 上台 30 秒演示自己的偵測站反應一次 + 講四句說明,並說出用了哪 2 種感測器互搭;蓋章。
💻 AI/螢幕: 投影 p5.js 氣象台當演示背景,孩子澆水/哈氣時大螢幕植物同步反應,三畫面(裝置+OLED+螢幕)齊動。
✅ 評量/巡檢: 護照標準:裝置完成一次完整『偵測→判斷→亮燈/嗶/螢幕顯示』+ 能說出 2 種互搭感測器=過關蓋章。助教拍每人個人化短影片。
16:45–17:00
收拾 + 預告下週 + 家長接送 mini 展示
👩🏫 講師: 帶收拾:先拔 USB 再拆線、感測器歸盒清點(火焰示範器材、沾水探頭擦乾)。預告第 7 堂『拍手變超人:聲控雷達實驗室』——拍手就能開燈、還能當倒車雷達!家長到場看孩子桌上偵測站快閃演示。
🧒 學員: 先拔 USB→拆線→感測器歸位、桌面擦乾、收好護照與說明卡;對來接的家長秀一次自己的偵測站。
💻 AI/螢幕: 投影第 7 堂預告畫面(拍手控燈/超音波雷達)。
✅ 評量/巡檢: 助教清點感測器數量(尤其沾水件擦乾防鏽、火焰示範器材收講師桌)、確認個人化短影片已拍齊待傳家長群組。
🤖 AI 生碼示範 prompt
溫度警報偵測站(本堂主 prompt) 複製 請幫我寫 Arduino 程式:用 DHT11(接在腳位 2)量溫度和濕度,顯示在 I2C OLED(位址 0x3C,SDA 接 A4、SCL 接 A5)。如果溫度超過 30 度,就讓接在腳位 7 的紅色 LED 亮、螢幕寫『好熱喔!』;沒超過就熄燈、寫『涼涼的剛剛好』。每 2 秒更新一次,每一行都加中文說明。
小小消防隊(火焰 OR 高溫,雙條件) 複製 我有一個火焰感測器的類比腳接在 A1、一個 18B20 防水溫度探頭接在腳位 3、一個有源蜂鳴器接在腳位 8、一片 I2C OLED(A4/A5)。請幫我寫程式:只要火焰感測器偵測到火光『或』18B20 溫度超過 40 度,就讓蜂鳴器一直嗶嗶叫、OLED 顯示『偵測到火源!』;兩個都正常時顯示『安全』而且不要叫。每一行加中文註解。
植物的口渴鈴(土壤濕度判斷) 複製 我有一個土壤濕度感測器接在 A3、一顆紅色 LED 接在腳位 7、一顆綠色 LED 接在腳位 6、一片 I2C OLED(A4/A5)。請幫我寫程式:土壤太乾的時候亮紅燈、螢幕寫『我口渴了!快澆水』;土壤夠濕的時候亮綠燈、螢幕寫『我很健康』。讓我可以自己調乾濕的判斷數字,並用中文註解告訴我改哪裡。
🔌 接線重點與安全 火焰感測器示範用的明火(打火機/蠟燭)全程由講師持,學員只看數值、保持安全距離;講師桌備濕抹布滅火,火焰示範完器材立即收回 沾水感測器是本堂最大物理風險:水位/土壤/18B20 探頭的水絕不能流到麵包板或 UNO(會短路/腐蝕),每桌鋪防水墊、備乾抹布、隨手擦乾;探頭用完擦乾防金屬腳生鏽 類比 vs 數位接腳是本堂最大邏輯易錯點:水位 A2、土壤 A3、模擬溫度 A0、火焰類比 A1 一律接類比腳才有連續數字;數字溫度 D4、火焰數位 D5 才接數位腳——接錯腳數字不動或永遠 0/1 火焰感測器常同時有 A0(類比)與 D0(數位)兩腳,要看程式用哪個就只接哪個,別兩腳亂插;本堂類比走 A1、數位走 D5 DHT11/KY-015 內建上拉、18B20 用『已含上拉電阻的模組板』,都不要再外接電阻;裸 TO-92 版 18B20 沒上拉會讀不到,課前統一用模組板 OLED 走 I2C 只接 A4/A5、位址 0x3C,插錯整片黑且不報錯——助教課前每席先接好驗證再發其他感測器 共地鐵則:所有感測器與 OLED 的 GND 都要回到 UNO 同一條 GND 軌,漏接會數值亂跳、是最難 debug 的卡點;通電前確認 5V 沒短到 GND 改線一律先拔 USB 斷電→接好→助教指三下(S→訊號、+→5V、−→GND)→才插電上傳
👧 分齡差異化
3–4 年級 3–4 年級:聚焦『一個感測器 + 一個 if』。助教預接好 OLED 與感測器,孩子專心做 DHT11 溫度>30 亮紅燈這一台,重點是找到 if 那行、自己改一次門檻數字並看到行為改變、看懂 OLED 文字。p5.js 用『對嘴哈氣讓螢幕植物變綠』這種一動作一反應的玩法即可。上台稿由助教陪讀或提示四句填空,蓋章標準=裝置會反應 + 能說出用了『溫度感測器』。
5–6 年級 5–6 年級:挑戰雙感測器 AND/OR 組合(小小消防隊火焰 OR 高溫、淹水守門員水位+濕度)+ OLED 多行顯示 + 自己微調兩個門檻降低誤報;進一步可同時讀類比溫度與數字溫度做對照、把資料丟 p5.js 氣象台連動折線圖。鼓勵說明卡寫出『為什麼兩條件比一條件好』,上台能解釋 AND/OR 邏輯與『水會導電所以能量乾濕』的科學原理。
📸 家長展示(拍片重點) 「植物口渴鈴一動作三畫面同時反應」最適合拍片:讓孩子拿小水瓶對著鏡頭把水澆進土壤,當場——紅燈秒變綠燈、OLED 文字從『我口渴了!』翻成『我很健康』、投影 p5.js 卡通植物從垂頭枯黃變精神翠綠長出水滴。拍法:手機橫拍,先特寫孩子澆水的手與紅燈,澆下去那一秒同框帶到 OLED 翻字,再拉遠帶投影植物變綠,最後孩子看鏡頭講一句「土壤會導電,所以我的感測器知道它渴不渴」。10–15 秒、有『一個動作、三個畫面同時變』的戲劇張力,最易在家長群組瘋傳。
🏠 回家科學遊戲 哈氣大賽・誰的呼吸最濕:用 DHT11 對嘴哈氣比誰濕度衝最高,比剛喝完水 vs 沒喝、嘴張大 vs 小。科學概念:吐出的氣含水蒸氣,蒸發與濕度——身體一直在散失水分。 溫度偵探・找家裡最熱最冷的地方:用 18B20 量窗邊、冷氣下、手心、冰水、被窩,排名畫一張『家裡溫度地圖』。科學概念:熱傳遞——熱會從高溫的地方往低溫的地方跑。 導電大發現・誰最會導電:用水位或土壤感測器當『導電偵測棒』,依序試純水、鹽水、果汁、乾土、濕土,看哪個數字跳最大。科學概念:純水其實不太導電,要加了鹽或雜質才會導電,這也是感測器能量乾濕的祕密。 植物照顧日記:把植物口渴鈴放在家裡的盆栽旁三天,每天看它說口渴還是健康、自己決定要不要澆水。科學概念:感測→判斷→動作就是『自動化』,家裡的自動澆花器、火災警報器都是同一套思維。
🎫 闖關護照通過標準 讓自己的偵測站完成一次完整的「偵測 → 判斷 → 自己亮燈/嗶嗶叫/螢幕顯示文字」反應(條件成立會反應、條件不成立要安靜),並能用自己的話說出這台裝置用了哪 2 種感測器互相搭配、它在偵測什麼。三項到齊由講師蓋上「家庭環境偵探」徽章。(3–4 年級單感測器 + 能說出 1 種感測器亦可通過;雙感測器 AND/OR 為加分)
🆘 常見卡關 → 排解
OLED 整片黑、什麼都不顯示且不報錯 → 99% 是 I2C 線或共地問題:先查 SDA→A4、SCL→A5 有沒有對調,VCC/GND 沒反接,GND 是否回到同一條軌;位址預設 0x3C,掃不到改 0x3D;仍黑就換一片已驗證的備用 OLED。
感測器數字完全不動,或永遠停在 0/1023 → 類比/數位接錯腳是頭號原因——水位/土壤/模擬溫度/火焰類比要接 A0–A3,數字溫度/火焰數位要接 D 腳;對照接線小卡與程式裡寫的腳位是否一致;再查 S 線是否接到訊號腳而非電源軌、共地有沒有接。
裝置沒事一直亂叫/亂亮燈(誤報) → 門檻設太鬆或共地沒接造成數值亂跳:先讓 OLED 印出原始數值,看安靜時是多少、觸發時是多少,把 if 門檻調到兩者中間;數位開關記得用 INPUT_PULLUP;共地補好亂跳就停。
DHT11 讀到 nan 或溫濕度卡住不更新 → DHT11 讀取太頻繁會回 nan,程式更新間隔至少 2 秒;確認接 D2、是 3 腳模組版(內建上拉、不必外接電阻);線鬆動重插,仍 nan 換一顆 DHT11。
18B20 讀不到溫度或回 -127 度 → -127 是 OneWire 沒讀到裝置的代表值:確認用的是『含上拉電阻的模組板』而非裸 TO-92(裸版沒上拉一定讀不到)、接在 D3、函式庫 OneWire+DallasTemperature 已裝;探頭金屬腳別沾水短路,擦乾重試。
p5.js 氣象台連不上 Arduino(WebSerial 無資料) → 序列埠被佔用最常見——先關掉 Arduino IDE 的序列埠監看視窗再連;用 Chrome/Edge(Firefox 不支援 WebSerial);選對 COM port;確認程式有用 Serial.println 把數值送出且鮑率與 p5 端一致。