如果你的孩子能聽指令讓一顆 LED 閃爍起來,那他就已經跨過了從消費者到創造者的那條線,而這第一束火花,正是入門 Arduino 專案想要點燃的東西。
Arduino 是一個開源電子平台,圍繞易於使用的硬體和軟體建構。Arduino 開發板會讀取輸入,比如照射到感測器上的光線,或是手指按下的按鈕,再把它們轉化為輸出,例如點亮一顆 LED 或讓馬達轉動。由於這個平台價格親民、文件完善,又能寬容各種錯誤,它已經成為全球學生進入實體運算(physical computing)最受歡迎的入門途徑之一。
開始前你需要準備什麼
最常見的起點是 Arduino UNO,這是一塊基於 ATmega328P 晶片的微控制器開發板。它提供 14 個數位輸入/輸出腳位、6 個類比輸入、一個 USB 介面和一個重置按鈕,對於初學者的頭一打專案來說綽綽有餘。把開發板與下面這些必備物品搭配使用:
- 一塊 麵包板,無需焊接即可搭建電路
- 杜邦線、若干 LED 和電阻
- 簡單的感測器與致動器,例如按鈕、光線感測器、溫度感測器,以及一個小型伺服馬達
- 免費的 Arduino IDE(整合開發環境),用於編寫和上傳程式碼
Arduino 還販售官方入門套件和學生套件,把開發板、元件和一本帶教學的專案手冊打包在一起。這些套件省去了尋找零件的麻煩,為學生提供了一條貫穿首批實驗的清晰路徑。
你不需要任何程式設計基礎。Arduino 程式被稱為 sketch(草圖),用簡化版的 C++ 編寫,遵循一種可預測的結構,學生通常一兩節課就能掌握。
五個入門 Arduino 專案,逐步上手
下面這些專案層層遞進。每個新想法只引入一個概念,讓學生不斷累積信心,而不是被壓得喘不過氣。
1. 點亮一顆 LED
每段 Arduino 之旅都從這裡開始。經典的 "Blink" 草圖用 pinMode() 把一個腳位設為輸出,再在 loop() 函式內用 digitalWrite() 和 delay() 讓 LED 亮起又熄滅。它教會了每段草圖都需要的兩個函式:setup(),只執行一次;以及 loop(),會永遠重複。
2. 用按鈕控制 LED
加上一個按鈕,LED 現在就會回應真實世界了。學生學會讀取數位 輸入,並用 if 陳述式做出判斷——這正是所有互動式電子產品的根基。
3. 讀取光線或溫度感測器
接入一個類比感測器,會引出 analogRead() 和序列埠監控視窗(Serial Monitor),即時資料會在螢幕上滾動呈現。正是在這一刻,許多學生意識到微控制器能夠 測量 世界,而不僅僅是對一個開關做出反應。
4. 讓伺服馬達來回擺動
驅動一個小型伺服馬達會帶來運動,以及「函式庫」的概念——函式庫是可重複使用的程式碼,用來處理複雜的硬體。一個來回擺動的伺服馬達,正是機械臂、自動閘門以及無數比賽作品的種子。
5. 光控小夜燈
把感測器專案和 LED 專案結合起來,讓房間變暗時燈光自動亮起。透過邏輯把輸入連到輸出,其實正是工程師每天所做之事的微縮版。
把好奇心變成真本領
Arduino 有意被設計成一條起跑線,而非終點線。同樣的「輸入—處理—輸出」思維,可以直接擴展到競賽機器人和自主系統當中。喜歡動手製作的學生,往往會在我們的 機器人課程 中如魚得水;而被硬體背後的程式碼所吸引的學生,則傾向於走向 競技程式設計。兩者都能與 VEX Robotics 和 FIRST LEGO League 等賽事中的設計挑戰自然銜接。
要保持勢頭,請定下一個簡單的節奏:完成一個專案,記錄下做了什麼、哪裡出了問題,然後改動單一變數,比如時序、閾值或感測器,並在測試前先預測結果。這種有紀律的迭代習慣,正是把「瞎摸索」和真正的工程區分開來的東西,也是我們在 BIAA 的每一條 以研究為驅動的賽道 中都著重強調的。
第一個專案的目標,並不是一個完美的電路。而是學生不再問「這個按鈕是做什麼的?」,轉而開始問「我能讓這個按鈕做什麼?」的那一刻。
準備好邁出入門 Arduino 專案之後的下一步了嗎?歡迎在我們的 機器人與自動化課程頁面 了解 BIAA 如何把早期實驗淬鍊成可參賽的實戰能力。