Arduino 的使用 -- LED 明滅範例

Arduino

簡介

安裝

LED 範例

跑馬燈

七段顯示器

開關控制

蜂鳴器

紅外線

光敏電阻

觸鬚

BB 避障車

連接電腦

麥克風

無線通訊

影音教材

20130118研習

原始碼

建置

內部結構

原始碼解析

系統軟體

編譯器

IDE

AVR libc

avrDude

miniblog

硬體

專案建置

訊息

相關網站

參考文獻

最新修改

簡體版

English

執行結果

Arduino 接線如下圖 (LED 長腳接在 13 為正極,短腳接在 GND 為負極)。

ArduinoLed.jpg

LED 閃爍錄影 (0.1 秒閃一次)

注意:這種接法只能接在 port 13,不能接在其他 port,因為 port 13 本身有加上限流電阻,所以 LED 不會燒毀,但是如果接在其他 port,則很可能會因為沒有限流電阻,因而導致 LED 燒毀

加上限流電阻

對於沒有限流電阻的 port ,您可以自行加上限流電阻,但此時可能就需要麵包板輔助,如下圖所示。

ArduinoLedResist.jpg

加上開關

接著我改變線路,為這個 LED 加上一個控制開關,如下圖所示。此時只有按下開關之後 LED 才會閃爍,開關沒按 LED 會處於熄滅狀態。

ArduinoLedSwitch.jpg

開關按下後 LED 才會閃爍 (0.1 秒閃一次)

程式碼

以上的硬體都使用同一個程式碼,我將程式碼儲存程名稱為 LED.ino 的檔案。

int ledPin = 13; // 第13隻接腳請連接到 LED,以便控制 LED 明滅。

// setup() 函數只會於電源啟動時執行1次
void setup() 
{
  // 設定第 13 支腳為輸出模式
  pinMode(ledPin, OUTPUT);
}

// loop() 函數會不斷的被重複執行
void loop()
{
  digitalWrite(ledPin, HIGH); // 設定PIN13腳位為高電位= 0V ,LED 處於發亮狀態!!
  delay(100); // 等待100 毫秒 (也就是發亮 0.1 秒)
  digitalWrite(ledPin, LOW); // 設定PIN13腳位為低電位= 0V ,LED 處於熄滅狀態!!
  delay(100); // 等待100 毫秒 (也就是熄滅 0.1 秒)
}

接著只要用 Arduino 開啟後,按下編譯鍵成功之後,再按下上傳鍵就可以了,以下是我的編譯示範錄影。

錯誤處理

注意:如果編譯直行時出現下列訊息,就是電腦與 Arduino 板子無法溝通。

avrdude : stk500_getsync():not in sync: resp=0x00

此時需注意下列事項。

  1. USB 有沒有連接。(看 Arduino 板子上的燈有沒有亮就可以確認這點)
  2. 有沒有設定 Arduino 的驅動程式。
    • 在我的電腦中位在 D:\arduino-1.0\drivers 當中
    • 您插入 Arduino 之後會出現新增硬體畫面,此時選擇 D:\arduino-1.0\drivers 資料夾就可以了。
    • Arduino Board 的板型是否正確 (選擇 Arduino IDE 功能表中的 Tool/Board 確認板型)
    • COM port 設定是否正確。
      • 選擇 Arduino IDE 功能表中的 Tool/Serial port 確認 port
      • 您可以用裝置管理員看看 (XP 中選 /控制台/系統/硬體/裝置管理員/連接埠/),由於我的 Arduino-UNO 用 USB 模擬為 COM3,因此我在 Tool/Serial port 必須選擇 COM3。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License