思引科創夏令營 STEAM 體驗課 ← 八週地圖
💡🧲🔊
← 回八週地圖
第 6 週

家裡的科學偵測站:偵探小隊出動!

🏅 家庭環境偵探徽章

每位小偵探用溫度/濕度/火焰/水位/土壤感測器,做出一台會「自己偵測→自己判斷→自己亮燈嗶嗶叫」的家中環境守護裝置(植物口渴鈴/小小消防隊/淹水守門員三選一),並能說出自己用了哪兩種感測器互相搭配。

🎯 學習目標

🧰 材料清單

每席

  • 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 分)

⏰ 全天流程 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)。請幫我寫程式:土壤太乾的時候亮紅燈、螢幕寫『我口渴了!快澆水』;土壤夠濕的時候亮綠燈、螢幕寫『我很健康』。讓我可以自己調乾濕的判斷數字,並用中文註解告訴我改哪裡。

🔌 接線重點與安全

👧 分齡差異化

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 秒、有『一個動作、三個畫面同時變』的戲劇張力,最易在家長群組瘋傳。

🏠 回家科學遊戲

🎫 闖關護照通過標準

讓自己的偵測站完成一次完整的「偵測 → 判斷 → 自己亮燈/嗶嗶叫/螢幕顯示文字」反應(條件成立會反應、條件不成立要安靜),並能用自己的話說出這台裝置用了哪 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 端一致。
← 第 5 週 🗺️ 八週地圖 第 7 週 →
哭比熊