🎯 學習目標
- 學員能分辨「數位開關(動/不動=1/0)」與「類比角度(傾了幾度)」的差別,並各舉一個本堂感測器當例子(震動 KY-002 vs MPU6050)
- 學員能在助教引導下,把 MPU6050 與 OLED 兩個 I2C 裝置同接 A4/A5 共用一條 I2C,並說出『它們位址不同所以不會打架』(OLED 0x3C、MPU6050 0x68)
- 學員能用白話對 AI 助手描述腳位與想做的事,生成可上傳成功的程式,做出至少一件組合作品(電子骰子/體感水平儀/敲擊密碼鎖三選一)
- 學員能說明為什麼震動/傾斜/敲擊開關要加 INPUT_PULLUP(不加會『沒碰也亂叫』),並在亂觸發時自行喊出這個排查方向
- 學員能操作 WebSerial+p5.js,用身體左右傾斜讓螢幕企鵝保持平衡,撐過 5 秒不掉落
- 學員能向家長用一句話解釋自己的作品原理(例:『板子歪了陀螺儀就知道往哪邊偏幾度』)
🧰 材料清單
每席
- Arduino Uno 板 ×1(已測好、選對 COM port)
- USB-B 傳輸線 ×1
- 麵包板(半尺寸 830 孔)×1
- 震動感測器 KY-002 ×1
- 滾珠傾斜開關 KY-020 ×1(取代含水銀的 KY-017,本堂傾斜教學一律用這顆)
- 敲擊感測器 KY-031 ×1
- MPU6050 六軸陀螺儀模組 ×1(紅色帶穩壓板版本、排針已焊好,避免接觸不良)
- I2C OLED 0.96吋 ×1(VCC/GND/SDA/SCL 四線)
- 有源蜂鳴器 KY-012 ×1(電子骰子/鎖的『嗶』)
- 紅 LED 模組 ×1 + 綠 LED 模組 ×1(密碼鎖對錯燈、水平儀警告燈)
- 杜邦線 公對母/公對公 各約 15 條
- 本堂接線小卡 ×1(圖示哪腳接哪腳)
- 闖關護照(第 5 關頁面)+ 個人鉛筆
共用 / 講師示範
- 講師示範桌:水銀件 KY-017 水銀開關 + KY-027 魔術光杯各 1(僅講師示範『早期用水銀的傾斜開關長怎樣』,全程不離桌、不發學員,課後清點入盒)
- 每席『電源軌紅=5V/黑=GND』兩條母線(課前拉好貼標籤)
- 講師示範用大 MPU6050 + 投影即時角度畫面
- p5.js 投影模板『體感企鵝走鋼索』(Chrome/Edge 開好,WebSerial 已測通)
- 投影機/大螢幕、講師電腦
- 本機離線 .ino 範例碼包(震動骰子/MPU6050水平儀/敲擊鎖,AI 失效時 fallback)
- AI 程式助手站內副本(額度足)+ 本機 Ollama 備援
- 已焊好排針的備用 MPU6050 ×2、備用 OLED ×2(接觸不良時直接換)
- 乾淨抹布、收納分隔盒(感測器分類)
🧑🔧 課前準備(開課前 30 分)
- 把每席『紅=5V/黑=GND』電源軌母線拉好並貼標籤
- 每席 OLED 4 線先接好通電驗證會亮(VCC→5V、GND→GND、SDA→A4、SCL→A5,位址 0x3C);不亮的先換掉
- 逐台 MPU6050 通電掃 I2C 確認回 0x68,挑出排針沒焊牢、忽有忽無的,換成備用已焊版(這是本堂最大接觸不良坑)
- 確認每台筆電板型選 Arduino Uno、COM port 對得上、IDE 已裝 MPU6050(如 Adafruit MPU6050 + Adafruit Unified Sensor)與 U8g2/Adafruit_SSD1306 函式庫
- 開好『體感企鵝走鋼索』p5.js 投影模板,用一塊板子實測 WebSerial 連得上、左右傾角會動
- 清點水銀件 KY-017/KY-027 放講師桌示範盒,確認桌面不會發給學員;震動/傾斜/敲擊/MPU6050/OLED 各席數量點齊
- 把本堂『安全可用腳位』與『INPUT_PULLUP』口訣寫上白板;發本堂接線小卡
- 本機 .ino 範例碼包就位(斷網 fallback)、確認 AI 助手與 Ollama 備援都開得起來
⏰ 全天流程 09:00–17:00
09:00–09:20
報到+哭比熊開場+護照領章
👩🏫 講師:哭比熊登場:『今天我們要教 Arduino 一個超能力——它會「感覺」到你怎麼動它!搖一搖、敲一敲、轉一轉,它都知道。』發第 5 關護照頁,預告三個關卡(會嗶的骰子/敲節奏解鎖/身體平衡控企鵝)。
🧒 學員:就座、貼名牌、翻開護照看今天要集的『體感達人』章;摸一摸桌上五個感測器猜用途。
💻 AI/螢幕:投影『體感企鵝走鋼索』待機畫面當鉤子(企鵝在鋼索上晃)
✅ 評量/巡檢:助教確認每席 Uno+USB 連上、COM port 對;點名到齊 8 人
09:20–09:40
熱身:哪個用搖的?哪個怕翻過來?
👩🏫 講師:把五個感測器一字排開:『不准接電,先用手玩、用猜的——哪個是搖的?哪個是敲的?哪個怕翻過來?』揭曉:震動=搖、滾珠=傾斜、敲擊=敲、MPU6050=會說傾幾度。順手拿講師桌水銀件示範:『以前的傾斜開關裡面是水銀,會流動但有毒,所以我們改用裡面滾一顆小鋼珠的 KY-020。』
🧒 學員:分組傳著看、搖搖看哪個會發出聲音;舉手猜分類;觀察滾珠開關裡的小鋼珠滾動。
✅ 評量/巡檢:助教確認水銀件全程在講師桌、學員手上只有滾珠 KY-020
09:40–10:30
今日感測器單站體驗(三個數位開關)
👩🏫 講師:帶三站,每站 ≤15 分鐘。逐一示範並講關鍵:①震動 KY-002→D2,加 INPUT_PULLUP,搖晃 LED 亮一下=『動=1』;②換滾珠 KY-020(同 D2),慢慢立起,看 LED 在某角度『啪』切換=『過了角度才翻』;③敲擊 KY-031→D2,輕敲麵包板,一下嗶一聲=『偵測瞬間那一下』。一直強調:沒加 PULLUP 就會沒碰也亂叫。
🧒 學員:依序把三顆接到 D2,每接好一顆先看序列埠數字(0/1)會動再上傳;親手搖/傾/敲,觀察 LED 與序列埠反應。
💻 AI/螢幕:序列埠監看視窗看『動=1、不動=0』
✅ 評量/巡檢:助教巡:S 是否接 D2、有沒有加 INPUT_PULLUP、共地有沒有回同一條 GND 軌;每人三顆都看到數字會動
10:30–10:45
休息
👩🏫 講師:請學員喝水、上廁所;助教趁空檔逐台把 MPU6050+OLED 的 I2C 先接到 A4/A5 並掃位址,挑掉接觸不良的換備機。
🧒 學員:休息、動一動身體(等下要用身體控企鵝)。
✅ 評量/巡檢:助教完成各席 MPU6050 I2C 預接與掃址(0x68 有回應)
10:45–11:10
升級:讓板子會說『傾了幾度』(MPU6050 上線)
👩🏫 講師:接力前面:『開關只會說有沒有傾,這顆陀螺儀會說傾了幾度!』強調鐵則:MPU6050 與 OLED 共用 I2C,都接 SDA→A4、SCL→A5,位址不同不打架,千萬別接到 D2。示範 OLED 即時顯示 X/Y 傾斜角度。
🧒 學員:把 MPU6050 接上 A4/A5(與 OLED 共線),上傳助教範例,左右前後傾板子看 OLED 角度跳動。
💻 AI/螢幕:AI 助手 prompt:『我接了 MPU6050 和 OLED,把板子往左右前後傾斜,OLED 顯示往哪邊歪、歪了幾度。』
✅ 評量/巡檢:助教巡:MPU6050 是否誤接 D2、A4/A5 有沒有對調、紅板接 5V/裸板接 3.3V 標記對不對;OLED 角度有跳
11:10–12:00
組合作品 1:體感水平儀+傾斜警報
👩🏫 講師:帶第一件組合作:MPU6050 把角度畫成 OLED 氣泡/箭頭,水平就顯示笑臉 OK;傾斜超過安全角,用滾珠 KY-020 觸發紅燈警告——『精準角度 vs 過頭就亮,同台比一比』。鼓勵用 AI 改門檻角度。
🧒 學員:用 AI 生碼或改範例,組出『歪了出箭頭叫你喬、喬正顯示笑臉、過頭紅燈亮』;自己調安全角度試臨界點。
💻 AI/螢幕:AI 生碼:加滾珠開關 D2 當『過頭警報』;OLED 畫箭頭/笑臉
✅ 評量/巡檢:助教巡席:水平儀會出箭頭並在喬正時顯示 OK=達標;確認滾珠與 MPU6050 沒搶 D2
12:00–13:00
午餐+自由探索
👩🏫 講師:陪餐、收沾手的麵包屑遠離麵包板;用餐尾聲預告下午『搖骰子、敲密碼、用身體玩企鵝』。
🧒 學員:用餐;吃完可回座把水平儀再玩一玩或幫鄰座看接線。
✅ 評量/巡檢:助教確認桌面無食物殘渣碰到電路;MPU6050 接線維持不被扯動
13:00–13:30
家中科學遊戲導入+電子骰子(組合作品 2)
👩🏫 講師:先講回家遊戲種子:『震動會透過桌子地板傳——這就是地震儀!』再帶電子骰子:搖→數字亂跳像在轉→停 0.5 秒鎖定 1~6 並嗶一聲,把『隨機』變成玩得到的桌遊。
🧒 學員:用 AI 生碼(低年級版 prompt)做電子骰子;互相搖比手氣、用骰子玩個小桌遊。
💻 AI/螢幕:AI 低年級 prompt:『我搖震動開關,OLED 數字快快跳,手一停就停在 1 到 6,幫我寫成電子骰子。』
✅ 評量/巡檢:助教巡:搖會跳、停會鎖、會嗶=骰子達標(護照關卡①)
13:30–14:30
p5.js 螢幕互動:體感企鵝走鋼索
👩🏫 講師:接 WebSerial:『把你的板子變成搖桿,用身體救企鵝!』示範 MPU6050 左右傾角(roll)傳到電腦,板子往左歪企鵝往左倒,要靠端平板子保持平衡;撐越久分越高。投影做全班排行榜,喊『3-2-1 開始』。
🧒 學員:接上電腦跑 p5.js,拿麵包板靠身體左右搖擺平衡企鵝;挑戰撐過 5 秒,上排行榜。
💻 AI/螢幕:p5.js『體感企鵝走鋼索』(MPU6050 roll→企鵝平衡,撐久得分)
✅ 評量/巡檢:助教記錄每人是否撐過 5 秒(護照關卡③);WebSerial 連不上的先重插 USB/換 COM
14:30–14:45
休息
👩🏫 講師:請學員動一動、喝水;助教把要挑戰敲擊密碼鎖的席位先確認 KY-031+紅綠 LED 接好。
🧒 學員:休息。
✅ 評量/巡檢:助教完成敲擊鎖席位預接檢查
14:45–15:30
挑戰組合作品 3:敲擊密碼鎖
👩🏫 講師:帶第三件(挑戰):敲對節奏(叩─叩叩)OLED 顯示『解鎖成功』綠燈;敲錯紅燈+短嗶。上鎖時若被翻動/搖晃(滾珠傾斜)立刻嗶嗶警報。點題:『順序就是一種密碼。』
🧒 學員:用 AI 生碼做敲擊鎖,自訂自己的節奏密碼,請同學猜/挑戰解鎖;加滾珠防翻警報。
💻 AI/螢幕:AI 生碼:敲擊 KY-031(D2)判節奏、綠/紅 LED、滾珠防翻
✅ 評量/巡檢:助教巡:能用敲擊節奏成功解鎖一次=達標(護照關卡②)
15:30–16:15
自由創作+裝飾+排練
👩🏫 講師:『選你最得意的一件,加裝飾、取名字、練怎麼介紹給爸媽。』巡迴給每人想一句原理金句(例:『陀螺儀知道我傾幾度』『鋼珠滾過去開關才通』)。協助低年級先求骰子穩定,高年級加進階(水平儀+企鵝雙作品)。
🧒 學員:美化作品、在 OLED 打上名字、選一件當主秀;對著鄰座練 30 秒介紹詞。
💻 AI/螢幕:可用 AI 微調顯示文字/加音效
✅ 評量/巡檢:助教確認每人至少一件作品穩定可重現、會講一句原理
16:15–16:45
mini Demo+護照蓋章+拍成果影片
👩🏫 講師:逐位上台 30 秒 Demo,重點拍『體感企鵝走鋼索』孩子扭動的動感畫面,次選『搖一搖電子骰子』人人 3 秒拍完。三關通過就蓋『體感達人』章。
🧒 學員:上台展示主秀作品、講原理金句;完成護照三關蓋章;配合拍個人化短影片。
💻 AI/螢幕:投影 p5.js 企鵝排行榜當背景
✅ 評量/巡檢:逐位核對護照三關(骰子會嗶/敲擊解鎖/企鵝撐5秒)齊了才蓋章
16:45–17:00
收拾+預告下週+家長接送 mini 展示
👩🏫 講師:預告第 6 堂『家裡的科學偵測站』(溫度、火苗、淹水、植物喝水)。提醒回家科學遊戲(地震偵測器/翻不得寶藏盒)。家長接送時做 30 秒 mini 企鵝展示。
🧒 學員:拔線先拔 USB、把感測器照分類放回盒;帶走護照與作品;對來接的家長秀一下企鵝。
💻 AI/螢幕:投影循環播放當日企鵝精華片段
✅ 評量/巡檢:助教清點:所有感測器(尤其水銀件 KY-017/KY-027)入盒、MPU6050/OLED 數量齊、桌面復原
🤖 AI 生碼示範 prompt
電子骰子(低年級版)我在麵包板上有一個震動開關,訊號腳接在 D2,還有一個 I2C 的 OLED(接 A4、A5),和一個會嗶的有源蜂鳴器接在 D8。請幫我寫 Arduino 程式:當我搖晃震動開關時,OLED 上的數字就快快地在 1 到 6 之間亂跳像在轉,手一停就停在其中一個數字並嗶一聲,做成電子骰子。震動開關請用 INPUT_PULLUP。每一行都加上中文說明。
體感水平儀+傾斜警報我接了一個 MPU6050 陀螺儀和一個 OLED,兩個都用 I2C 接在 A4、A5(OLED 位址 0x3C、MPU6050 位址 0x68)。請幫我寫程式:把板子往左右前後傾斜,OLED 顯示往哪邊歪、歪了幾度,喬到水平就顯示笑臉。另外我有一個滾珠傾斜開關接在 D2(用 INPUT_PULLUP),當板子被傾斜過頭觸發它時,就讓接在 D9 的紅色 LED 亮起來警告。每行加中文註解。
敲擊密碼鎖我有一個敲擊感測器接在 D2(請用 INPUT_PULLUP),一個 OLED 接在 A4、A5,綠色 LED 接 D10、紅色 LED 接 D9,蜂鳴器接 D8。請幫我寫一個敲擊密碼鎖:我要的密碼是「叩,停一下,叩叩」這個節奏。敲對了 OLED 顯示『解鎖成功』、綠燈亮;敲錯了紅燈亮並短嗶一聲。請用中文註解,並告訴我怎麼改密碼節奏。
🔌 接線重點與安全
- ★水銀紅線:KY-017 水銀開關與 KY-027 魔術光杯含水銀玻璃管,全程只在講師桌示範、不發學員、課後清點入盒;任何傾斜教學一律用滾珠 KY-020 取代
- ★MPU6050 與 OLED 共用同一條 I2C:都接 SDA→A4、SCL→A5,靠位址不同(OLED 0x3C、MPU6050 0x68)共存——絕對不要把 MPU6050 接到 D2
- MPU6050 電壓看版型:紅色帶穩壓板版可接 5V,裸板版要接 3.3V;課前統一標記,接錯電壓會燒或讀不到
- MPU6050 八根排針若沒焊牢會接觸不良(OLED/角度忽有忽無)——課前換成已焊好的,現場症狀=畫面閃爍時先懷疑排針
- 震動 KY-002/滾珠 KY-020/敲擊 KY-031 都吃 INPUT_PULLUP,不加會『沒碰也亂觸發』;三顆預設都接 D2,同一時間只接一顆到 D2
- 電源軌先穩插一條 5V、一條 GND 再分接,別每個模組各拉一條回 UNO;所有 GND(含 OLED、MPU6050)共地,漏接最容易『數值亂跳』
- 改線一律先拔 USB 斷電再動;通電前助教 4 連檢:板型 Uno、COM 對、S 接對腳、5V 沒短到 GND
👧 分齡差異化
3–4 年級3–4 年級:聚焦四個數位開關+電子骰子+敲擊鎖(都接 D2、好上手)。助教把 OLED 與 MPU6050 的 I2C 課前先接好,孩子只負責換 D2 上的那顆開關。骰子求『搖會跳、停會嗶』就達標;MPU6050 角度只看不深究,企鵝遊戲玩得開心、能撐 5 秒即可。AI prompt 用『低年級版』短句,助教陪打字。
5–6 年級5–6 年級:挑戰 MPU6050 體感水平儀(讀 X/Y 角度+畫箭頭/笑臉)與『體感控螢幕』雙作品;敲擊密碼鎖加滾珠防翻警報、自訂多段節奏密碼;企鵝遊戲進階加 pitch(前後傾)前進+敲擊當『跳一下』。鼓勵自己對 AI 描述腳位、讀懂生成碼裡 INPUT_PULLUP 與 map() 在做什麼,並能說出『數位開關 vs 類比角度』的差別。
📸 家長展示(拍片重點)
當堂最佳拍片橋段=『體感企鵝走鋼索』:畫面上方是 p5.js 企鵝在鋼索搖晃、畫面下方是孩子認真扭動身體端平麵包板救企鵝,上下同框動感十足。拍法:用三腳架或助教手機橫拍,先帶一個『3-2-1 開始』的全景,再特寫孩子專注扭動的表情,最後拍企鵝穩住、螢幕跳出『撐過 5 秒!』的瞬間,全長 10–15 秒。次選人人 3 秒可拍完的『搖一搖電子骰子』特寫——搖、停、數字鎖定+『嗶』,每人各拍一支當個人作品紀錄發家長群組。
🏠 回家科學遊戲
- 迷你地震偵測器:用震動 KY-002+OLED+蜂鳴器當地震儀,比誰跺腳/捶桌能震到報警,記下今天最大震動次數,可放洗衣機旁觀察。〔科學概念:震動會透過桌子、地板傳遞,真正的地震儀也是靠偵測地面震動〕
- 翻不得!寶藏盒防盜:用滾珠傾斜 KY-020+蜂鳴器做一個『一翻就叫』的盒子藏寶物,挑戰在不讓盒子傾斜超過某角度的情況下把寶物拿出來。〔科學概念:重力與傾斜,滾珠因地心引力往低處滾,過了角度才接通=開關翻轉〕
- 走路節拍器/看誰走最穩:把 MPU6050 綁手上或放口袋,OLED 顯示晃動量,全家比『端著一杯假裝的水走過去誰最穩』。〔科學概念:加速度與慣性,計步器、平衡車、無人機都用同一顆感測器來感知姿態〕
🎫 闖關護照通過標準
第 5 關『體感達人』需三關全過才蓋章:①搖出一顆會嗶的電子骰子(搖會在1~6亂跳、手停會鎖定數字並嗶一聲);②用敲擊節奏成功解鎖一次(敲對節奏→綠燈+『解鎖成功』);③用身體左右平衡讓 p5.js 螢幕企鵝撐過 5 秒不掉落。三關集滿,蓋上『體感達人』徽章。
🆘 常見卡關 → 排解
震動/傾斜/敲擊開關『沒碰它也一直亮/一直嗶』 → 幾乎都是沒加 INPUT_PULLUP(腳位浮動)。請學員/AI 在程式 pinMode 改成 INPUT_PULLUP;若 AI 生的碼漏了,直接提醒它『這顆數位開關要用 INPUT_PULLUP』重生一次。
OLED 全黑或角度數字忽有忽無、畫面閃爍 → 先查 MPU6050 八根排針是否沒焊牢/接觸不良——這是本堂頭號坑,直接換課前焊好的備用 MPU6050;其次查 A4/A5 有沒有對調、共地有沒有回同一條 GND 軌。
接了 MPU6050 後整個程式讀不到/掃不到(卡住) → 多半是 MPU6050 被誤接到 D2(被當成數位開關)或電壓接錯(裸板接了 5V)。改回 SDA→A4、SCL→A5,紅板接 5V、裸板接 3.3V;用 I2C 掃描確認回 0x68。
想接第二顆 D2 開關時前一顆失效/互相打架 → 震動/滾珠/敲擊預設都用 D2,同一時間只能接一顆到 D2。做組合作品要同時用多顆時,幫學員把其中一顆改到別的空閒數位腳(如 D3/D4),並同步改程式裡的腳位。
p5.js 企鵝不動/WebSerial 連不上 → 先確認用 Chrome/Edge(Firefox 不支援 WebSerial)、序列埠監看視窗已關閉(一個 COM 不能兩處同時開);再重插 USB、重選 COM port;MPU6050 角度在 OLED 上要先會動,企鵝才會動。