學習目標
- ✓理解熱線式風速計需要預熱與零點校準。
- ✓讀取 Rev. C 的 RV 原始值與輸出電壓。
- ✓知道 ADC 電壓不等同於已校準的風速。
SENSOR / WINDREVC
Wind Sensor Rev. C 是熱線式類比風速計,輸出會隨氣流帶走熱量而改變。它很適合觀察呼吸、風扇與室內空氣流動,但原始 ADC 或電壓不能直接當成精準風速。
先確認這一課要學會什麼,以及桌面上需要哪些材料。
Rev. C 以熱線維持溫度,氣流越強需要的功率越多;輸出電壓還會受到環境溫度與零點校準影響。
通電後等待約 10 秒讓熱敏元件穩定。
在無風狀態調整或記錄基準。
比較 RV 原始值與電壓變化,不直接宣稱精確風速。
要換算成風速,必須使用該感測器的校準曲線與穩定供電。
Rev. C 有多個訊號腳位;本篇以 RV 或 Out 接 A0,並獨立提供符合規格的電源。
| 模組腳位 | 接到控制板 | 訊號方向 | 檢查重點 |
|---|---|---|---|
| +V | 5V 穩壓電源 | 電源 | 新版約 4–5V;依手上版本規格。 |
| GND | GND | 地線 | 外部電源與 Arduino 共地。 |
| RV/Out | A0 | 類比輸出 | 對應 Rev. C 積木 PIN。 |
已將 3 條線路依同一筆資料逐列對齊;電壓仍須依手上模組版本確認。
積木名稱與型別以桃園版 Blockly 現行程式為準,不以通用積木替代。
playrobot_wind_rev_c_setup設定類比輸入與提醒預熱
位置:感測器 → 環境感測器 → Wind Sensor Rev. Cplayrobot_wind_rev_c_raw讀取 ADC 原始值
位置:感測器 → 環境感測器 → Wind Sensor Rev. Cplayrobot_wind_rev_c_voltage把 ADC 轉為教學用電壓
位置:感測器 → 環境感測器 → Wind Sensor Rev. C預熱後,觀察靠近感測器吹氣時的類比電壓。
playrobot_wind_rev_c_setuparduino_delayarduino_delayplayrobot_wind_rev_c_voltagearduino_serial_printplayrobot_wind_rev_c_setuparduino_delayarduino_delayplayrobot_wind_rev_c_voltagearduino_serial_print用相同距離輕吹,不要碰到熱線。
為什麼:呼吸氣流可以做低風速示範。用紙杯遮住風後記錄穩定值。
為什麼:校準基準會影響所有後續比較。比較吹氣前後差值。
為什麼:未完成校準時,不應把電壓直接當 m/s。playrobot_wind_rev_c_setup:設定類比輸入與提醒預熱
下載桃園版 Blockly 專案或對應的文字程式。
| 測試情境 | 可能讀值 | 判讀 |
|---|---|---|
| 無風預熱完成 | 輸出逐漸穩定 | 熱敏元件達到工作狀態。 |
| 吹氣經過感測元件 | 輸出發生變化 | 氣流改變熱平衡。 |
這段程式把「Wind Sensor Rev. C 類比風速計」的實體接線、桃園版 Blockly 積木與 Arduino 執行流程接在一起。先對照腳位,再看初始化、讀值、輸出與等待的順序;每一步都可以回到本頁的積木範例實測。
const int WIND_PIN = A0;
void setup() {
Serial.begin(115200);
pinMode(WIND_PIN, INPUT);
delay(10000); // 熱線預熱
}
void loop() {
float voltage = analogRead(WIND_PIN) * 5.0f / 1023.0f;
Serial.println(voltage, 3);
delay(200);
}// Wind Sensor Rev. C 類比風速計 library函式庫提供桃園版 Blockly 產生器所需的底層功能;若這裡的函式庫或物件名稱不對,後面的 playrobot_wind_rev_c_setup 就算接線正確也無法使用。
const int WIND_PIN = A0;本頁接線是 +V → 5V 穩壓電源、GND → GND、RV/Out → A0。程式常數、積木欄位與實體線材必須使用同一組設定;若改了其中一邊,另外兩邊也要一起改。
void setup() {啟動序列埠、I²C/UART 或感測器初始化通常只需要做一次,所以要放在「初始化」區,不要每一圈重複建立裝置。這也對應範例中的啟動積木。
void loop() {重複執行區先讓感測器更新,再讀取 Wind Sensor Rev. C 初始化。若元件有 data ready、可用性或逾時條件,先判斷狀態再使用數值,避免把無效資料當成真實測量。
delay(10000); // 熱線預熱先把原始值、單位或狀態送到序列埠,才能和預期結果比較;等待時間則決定更新速度。若看到亂碼,先檢查鮑率;若數值跳動,先增加合理的取樣間隔或做校正。
先從「電源、接線、腳位、物體」四個方向檢查,再修改程式。
先檢查:是否等待預熱。
處理方式:至少等待約 10 秒,再記錄基準。
先檢查:是否接到 RV/Out 與正確類比腳。
處理方式:檢查訊號腳位與吹氣方向,避免用手遮住熱線。
先檢查:確認 ADC 參考電壓與供電。
處理方式:依控制板 Vref 計算,並使用穩壓電源。
從顯示數值,逐步走向條件判斷、燈號回饋與雷達專題。
題目:預熱後連續記錄 30 秒並求平均。
這題要延伸「Wind Sensor Rev. C 初始化」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。先把資料整理成可觀察的序列埠或表格結果。
題目:比較輕吹與用紙扇吹的電壓差。
這題要延伸「Wind Sensor Rev. C 初始化」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。先把資料整理成可觀察的序列埠或表格結果。
題目:使用已知風速建立電壓與風速的關係圖。
這題要延伸「Wind Sensor Rev. C 初始化」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。先把資料整理成可觀察的序列埠或表格結果。
確認熱線原理、4–5V 供電、預熱與類比輸出腳位。
對照 setup、raw 與 voltage 積木。