用 Arduino 控制 LED 閃爍與按鈕互動(入門實作教學)

用 Arduino 控制 LED 閃爍與按鈕互動(入門實作教學)

為什麼從 LED 開始學 Arduino?Arduino 是最受歡迎的開源開發板之一,而 LED 閃爍與按鈕互動的練習,是每個新手進入嵌入式開發的第一步。不但簡單、成功率高,還能快速建立成就感。

你會用到的材料

實作一:讓 LED 閃爍

接線圖:LED 長腳接 Arduino 的 pin 13,短腳接電阻,再接 GND.

void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // 開燈
delay(500); // 等 0.5 秒
digitalWrite(13, LOW); // 關燈
delay(500); // 等 0.5 秒
}

提示:LED 沒亮?檢查方向、接地是否正確。

實作二:按下按鈕才亮燈

接線圖:按鈕一腳接 pin 2,一腳接 GND(可加上 pull-up 電阻或用內建功能)

void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop() {
if (digitalRead(2) == LOW) {
digitalWrite(13, HIGH); // 按下時亮燈
} else {
digitalWrite(13, LOW); // 放開時關燈
}
}

推薦給初學者的感測器套件組

如果你學會 LED 控制,下一步可以挑戰更多感測器,推薦:

Raspberry Pi AI Camera

CP 值爆表!用 Raspberry Pi 打造 AI 視覺專案,免花大錢超越想像!

樹莓派 Raspberry Pi 一直是最受歡迎的開發平台,原廠推出的 AI 相機攝影模組,讓影像與人工智慧應用變得更平易近人。這篇文章將帶您一步步了解它的功能、應用,並附上實際安裝教學和可直接運行的範例程式碼,讓您在 5 分鐘內就能跑出您的第一個 AI 專案。

Raspberry Pi AI Camera 是什麼?

Raspberry Pi AI Camera 是一款支援高解析度的攝影模組,可搭配 Raspberry Pi 4 或 5 使用。它的強大之處在於能與 OpenCV TensorFlow Lite 等 AI 工具無縫整合,實現即時影像辨識、物件追蹤等功能。

這款模組適合做什麼?

  • AI 教育入門專案
  • 智慧家庭監控系統
  • 客製化人臉辨識門禁
  • 商店客流分析與統計
  • 智慧寵物餵食器或互動玩具

專案硬體準備清單

  1. Raspberry Pi 4 或 5 (建議搭配風扇或散熱片)
  2. AI 相機模組
  3. 高速 microSD 記憶卡 (建議 32GB 以上)
  4. 螢幕、滑鼠、鍵盤 (或透過 SSH 遠端連線)

安裝與設定教學:五分鐘點亮你的 AI 之眼

步驟一:安裝 Raspberry Pi OS

請至Raspberry Pi 官方網站下載 Raspberry Pi Imager 工具,並使用它將最新版的 Raspberry Pi OS (64-bit with desktop) 安裝到您的 microSD 卡中。

步驟二:啟用相機介面

將記憶卡插入 Pi 並開機後,打開終端機 (Terminal),輸入指令 sudo raspi-config。在選單中,依序選擇:「3 Interface Options」→「C1 Camera」,選擇 <Yes> 來啟用相機功能。完成後,系統會提示您重新啟動,請選擇 Yes。

步驟三:測試相機是否正常運作

重新開機後,再次打開終端機,輸入測試指令:libcamera-hello。如果螢幕上成功顯示了幾秒鐘的即時影像畫面,就代表您的相機已經設定完成!

步驟四:安裝 OpenCV 函式庫

OpenCV 是我們用來進行影像處理與人臉偵測的核心工具。在終端機中,輸入以下指令來更新並安裝:

sudo apt update
sudo apt install python3-opencv -y

步驟五:執行人臉偵測範例程式碼

安裝完畢後,從應用程式選單中打開 Thonny Python IDE,建立一個新的 Python 檔案 (例如 `face_detect.py`),並將以下程式碼完整複製貼上。


import cv2

# 啟動攝影機 (通常是 0 號)
cap = cv2.VideoCapture(0)

# 載入 OpenCV 內建的、預先訓練好的人臉偵測模型
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

while True:
    # 讀取每一幀的影像
    ret, frame = cap.read()
    if not ret:
        print("無法讀取影像,請確認相機連接。")
        break

    # 將彩色影像轉換為灰階 (有助於偵測)
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 執行人臉偵測
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

    # 在偵測到的人臉周圍畫上藍色方框
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)

    # 顯示結果影像
    cv2.imshow('AI Face Detection by TaiwanIOT.com', frame)

    # 按下 'q' 鍵即可退出迴圈
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 釋放資源並關閉所有視窗
cap.release()
cv2.destroyAllWindows()

點擊 Thonny 的「運行」按鈕,然後看看螢幕上的神奇效果吧!

專家提示: 這段程式碼中的 cv2.imshow() 指令需要在圖形化桌面環境下運行。如果您使用的是沒有桌面的 Raspberry Pi OS Lite 版本,並透過 SSH 連線,將無法看到影像視窗。


CP 值最高的 AI 視覺入門磚

這顆 Raspberry Pi AI 相機是每個 AIoT 初學者、開發者或老師的好幫手。它證明了您不需要花大錢購買 NVIDIA Jetson 或其他高階運算模組,也能透過 Raspberry Pi 與 Python,打造出功能完整、充滿樂趣的智慧視覺應用。


延伸閲讀

Arduino uno 可以做什麼?6大應用指南帶你從零開始玩轉開發板

想玩 Arduino Uno 卻不知從何開始?本文精選6個超有趣的新手專案,從智慧檯燈到溫濕度計,讓你零基礎也能做出實用作品。提供專案概念與所需材料清單,立即點燃你的創客魂!

什麼是 Arduino Uno?

Arduino Uno 是一款基於 ATmega328P 微控制器的開源開發板。它擁有 14 個數位輸入/輸出腳位(其中 6 個可作 PWM 輸出),6 個類比輸入,以及 USB 供電和通訊接口。
它被廣泛應用於學術、創客、工程設計與 IoT 原型開發,是初學者與專業人員都愛用的基礎工具。

Arduino Uno 可以做什麼?

以下是幾個熱門應用範例,不僅容易實作,也非常適合學習與展示:

自動化控制系統

用 Arduino Uno 控制繼電器模組,可製作自動開關燈、風扇、插座等裝置,實現居家自動化控制。

簡易智慧家居專案

結合紅外線接收器、感測器與控制模組,你可以打造紅外線遙控燈光、光感應燈、自動窗簾等智慧裝置。

機器人與自走車

Arduino Uno 可與馬達驅動板(L298N)搭配使用,製作避障小車、循跡機器人、語音控制小車等多種互動機器人。

環境監測系統

透過 DHT11MQ-2 等感測器,你可以製作溫濕度監測器、空氣品質偵測器,並可延伸至 IoT 應用。

 LED 燈光與互動裝置

LED蜂鳴器紅外線感測器創造互動燈箱、感應燈光、音樂裝置,適合創意設計與展覽用途。

STEM 教育與課堂專題

許多學校利用 Arduino Uno 教授程式設計與基礎電學,學生可以藉此完成專題製作或創意競賽。

為什麼選擇 Arduino Uno?

  • 入門簡單:眾多教學資源與範例專案,新手也能快速學會。
  • 擴充模組多:可連接藍牙、Wi-Fi、感測器等模組,功能彈性大。
  • 全球社群活躍:找不到解法?社群論壇一定有人遇過,資源超豐富。
  • 開放原始碼:硬體、軟體都可自由修改與擴充,支援創新應用。

Arduino Uno 是創客入門的最佳拍檔

給初學者的定心丸:真的沒寫過程式也能玩!

很多人聽到「電子開發」或「物聯網」就覺得門檻很高,擔心自己不懂程式。但這正是 Arduino Uno 最棒的地方!它被設計出來,就是為了讓沒有程式背景的人也能輕鬆上手。

別怕寫程式,你只需要「複製貼上」!

Arduino 的程式語言雖然基於 C++,但已經被簡化得像英文單字一樣直觀。更重要的是,網路社群上充滿了大量的現成範例程式碼。對初學者來說,你完全不需要從零開始寫程式,只要找到符合你需求的專案範例,將程式碼複製貼上,稍微修改幾個參數(例如腳位或時間),就能讓你的專案動起來。

透過這個過程,你不是在硬背程式,而是在模仿中學習。當你做出一個又一個專案後,自然會慢慢理解每個指令的作用,最終也能自己創造出獨特的程式邏輯。

所以,如果你對電子開發充滿熱情,但又擔心程式問題,請放心,Arduino Uno 就是你的最佳起點。現在,就一起動手來玩吧!

常見問題(FAQ)

Arduino Uno 適合完全沒經驗的新手嗎?

是的,Arduino Uno 是專為初學者設計的開發板,即使沒有程式經驗,也可以透過大量範例與教學快速上手。

Arduino Uno 有哪些應用範圍?

Arduino Uno 常用於智慧家庭、環境監控、學生專題、感測器實驗、LED 控制、自走車等各類電子創作與原型設計。

Arduino Uno R3 和 Uno R4 有什麼差別?

Uno R4 使用更快的 32 位元處理器,記憶體更大,支援 USB-C 與 CAN Bus,效能較 Uno R3 明顯提升。適合進階使用或需要較大資源的應用。

要學 Arduino Uno 需要先學 C++ 嗎?

不需要。Arduino 使用簡化過的 C 語言結構,有大量範例與教學,許多初學者都是邊學邊做逐漸熟悉的。

Arduino Uno 可以取代樹莓派嗎?

不行。Arduino Uno 是微控制器(MCU),適合控制感測器與簡單邏輯,而樹莓派是微型電腦(CPU),適合跑作業系統與影像處理等任務。

延伸閱讀

Arduino Alvik 機器人

Arduino Alvik 開源機器人全攻略:從功能特色到程式安裝教學

Arduino Alvik 是一款由 Arduino 及其合作夥伴開發的開源機器人平台,旨在讓使用者學習和實踐機器人技術,並提供廣泛的硬體和軟體支援。這款機器人設計簡單、易於擴展,完美結合了 Arduino 開源硬體的優勢,適合各種年齡層的學習者,從入門到進階者都能使用它來進行各種有趣的專案。 Alvik 機器人的設計專注於靈活性和可擴展性,使用者可以根據自己的需求選擇不同的感測器、馬達和其他外部設備進行定制,創造不同的功能和應用場景。這使得它不僅適合機器人愛好者,也適合教育領域中的 STEM 教學。

 

主要特點:

  1. 開源平台:Arduino Alvik 是一個完全開源的機器人平台,這意味著用戶可以查看並修改其硬體設計和軟體代碼。這使得它成為學習機器人技術和編程的理想工具。
  2. 兼容 Arduino 生態系統:這款機器人與 Arduino 開發板和其他 Arduino 擴展模組兼容,用戶可以輕鬆擴展硬體來加入更多功能,如感測器、顯示器和無線通信模組等。
  3. 可編程性:Arduino Alvik 支援基於 Arduino IDE 的編程環境,用戶可以使用 C/C++ 編程語言來設計機器人的行為和功能。
  4. 簡單的硬體設計:Alvik 機器人的設計簡單,易於組裝和維護,即使是沒有硬體設計經驗的使用者也能輕鬆上手。
  5. 多樣化的應用場景:從簡單的機器人行走到複雜的自動導航,Arduino Alvik 提供了豐富的擴展性,讓使用者可以構建各種應用,例如循跡機器人、聲音識別、避障系統等。

 

安裝指南

要在 Arduino Alvik 機器人上安裝程式碼,您可以使用 Arduino Lab for MicroPython 或 Arduino IDE。以下是兩種方法的詳細步驟:

方法一:使用 Arduino Lab for MicroPython

  1. 下載並安裝 Arduino Lab for MicroPython:
    • 前往 Arduino Lab for MicroPython 頁面,下載適用於您作業系統的版本。
    • 安裝完成後,啟動該應用程式。
  2. 連接 Alvik 機器人:
    • 使用 USB-C 線纜將 Alvik 機器人連接到電腦。(註:電腦是透過 USB 供電給控制板,因此無論機器人電源開關是否開啟,電腦皆可識別。但建議在燒錄程式時保持馬達電源關閉,以免機器人突然移動。)
  3. 設定工作目錄:
    • 在 Arduino Lab for MicroPython 中,建立一個新的資料夾(例如 “Alvik”),並將其設為工作目錄。
  4. 建立並執行程式碼:
    • 在工作目錄中,建立一個新的 Python 檔案(例如 “obstacle_avoider.py”)。
    • 編寫或貼上您希望運行的程式碼。
    • 點擊視窗上方的「連接 (Connect)」按鈕連線後,點擊「執行 (Run)」按鈕即可測試程式碼。
    注意:若需讓機器人開機自動執行,請將檔案名稱命名為 main.py 並儲存於機器人的儲存空間中。

 

方法二:使用 Arduino IDE (C++)

⚠️ 重要提醒:使用 Arduino IDE 上傳 C++ 程式碼會覆蓋掉出廠預設的 MicroPython 韌體。若日後需要改回使用 MicroPython,需要重新燒錄 MicroPython 韌體。

  1. 安裝 Arduino IDE:
    Arduino 官方網站 下載並安裝最新版本的 Arduino IDE。
  2. 安裝 Alvik 所需的程式庫:
    啟動 Arduino IDE,前往「工具」>「開發板」>「開發板管理員」。
    在搜尋欄中輸入「Nano ESP32」,找到並安裝「Arduino Nano ESP32」開發板套件。
    接著,前往「程式庫管理員」,搜尋「Alvik」,找到並安裝最新版本的 Alvik 程式庫。
  3. 連接 Alvik 機器人:
    使用 USB-C 線纜將 Alvik 機器人連接到電腦。
  4. 選擇開發板和連接埠:
    在 Arduino IDE 中,前往「工具」>「開發板」,選擇「Arduino Nano ESP32」。
    然後,前往「工具」>「連接埠」,選擇對應的連接埠(例如 COM3 或 /dev/ttyUSB0)。
  5. 開啟範例程式碼並上傳:
    前往「檔案」>「範例」>「Arduino_Alvik」,選擇一個範例(例如「Drive」)。
    點擊工具列左上角的「上傳 (Upload)」按鈕(向右箭頭圖示)。IDE 將會編譯程式碼並自動燒錄至機器人中。

 

注意事項:

  • 確保您的電腦已安裝必要的驅動程式,以正確識別 Alvik 機器人。
  • 在使用 Arduino IDE 時,若遇到連接問題,可以嘗試重新插拔 USB 線或按下開發板上的 Reset 按鈕。
  • 更多詳細資訊和教學,請參考 Arduino Alvik 使用手冊

透過上述步驟,您即可成功在 Arduino Alvik 機器人上安裝並運行程式碼。

 

延伸閲讀

介紹 Arduino Alvik 機器人

資料來源:由台灣物聯科技技術團隊實測整理匯整。

探索AI與物聯網的無限可能(AIOT)

隨著科技的快速發展,人工智慧(AI)與物聯網IoT)技術正深刻影響我們的世界。無論是智能家居、自動化工廠,還是智慧農業,IoT設備的應用範圍已經無所不在。然而,這些創新技術的核心,離不開開發者與創客們的不斷探索與實踐。台灣物聯科技有限公司(Taiwan IoT)專注於為AI與物聯網開發者提供最完整的創客硬體資源,包括開發板、感測器(Sensor)、電子模組等,助力創客們將想法變為現實!

1. 物聯網與AI開發的核心:開發板

開發板是物聯網專案的基石,無論是AIoT應用、機器學習邊緣計算,還是智能監控,都需要一款強大的開發板來支撐。例如:

  • Raspberry Pi(樹莓派):適合AI計算、影像處理、邊緣運算,廣泛應用於智慧家居與AI機器學習專案。
  • ESP32:內建Wi-Fi與藍牙模組,適用於物聯網設備、遠端監控與智能設備開發。
  • Arduino:開發者入門必備,適合控制簡單的IoT裝置,如智能開關、溫濕度監測等。

這些開發板均具備強大功能,能夠快速搭建AIoT專案,幫助創客們更輕鬆地進行智慧應用開發。

2. 感測器(Sensor):物聯網裝置的「感官」

物聯網的核心在於數據,而感測器就是獲取數據的關鍵元件。例如:

  • 溫濕度感測器(DHT11、DHT22、BME280):適用於智慧農業、環境監控、室內氣候調節等應用。
  • 光照感測器(TSL2561、BH1750):可用於智能照明、植物生長監測,優化光源管理。
  • 氣體感測器(MQ系列):可偵測CO2、甲烷、酒精等氣體,適合空氣品質監測、智能安防。
  • IMU慣性測量單元(MPU6050、MPU9250):用於機器人平衡控制、無人機姿態測量等應用。

透過這些感測器,您的AIoT專案可以更準確地收集環境數據,實現更精確的自動化決策。

3. 電子模組:強化IoT設備功能

除了開發板與感測器,電子模組也是IoT應用開發中不可或缺的元素。我們提供的電子模組涵蓋通訊、顯示、控制等多個領域。

  • Wi-Fi / LoRa / NB-IoT 模組:提升IoT設備的遠端通訊能力,適用於智慧城市、工業自動化。
  • OLED / TFT 顯示模組:幫助開發者為設備加入圖形界面,顯示即時數據資訊。
  • 繼電器模組:實現高功率設備控制,適用於智能家居、智慧工廠等場景。

這些電子模組可與開發板無縫整合,使您的AIoT專案更具功能性與穩定性。

4. AIoT應用開發:邁向智慧未來

隨著AI與IoT技術的結合,人工智慧物聯網(AIoT)已成為未來發展趨勢。透過AI演算法,物聯網設備可以進行更智能的數據分析與決策。

  • AI影像識別:結合樹莓派與OpenCV,可用於人臉識別、車牌辨識、智慧監控等應用。
  • 智能語音助手:透過ESP32與麥克風模組開發語音控制系統,打造智慧家居體驗。
  • 邊緣計算設備:利用NVIDIA Jetson Nano,進行即時AI推理,適用於機器視覺、無人機控制。

這些應用場景充分展示了AI與IoT的無限可能,而台灣物聯科技有限公司則致力於提供開發者所需的所有硬體資源,讓您的創意能夠快速落地。

台灣物聯科技不僅提供多樣化的AIoT開發硬體,還擁有以下優勢:

  • 全方位的產品種類:開發板、感測器、電子模組一應俱全,滿足不同開發需求。
  • 專業技術支援:提供詳細的產品資料與技術文件,幫助開發者快速上手。
  • 便捷的購物體驗:透過官方網站https://www.taiwaniot.com.tw/,輕鬆選購所需設備。

延伸閲讀