Arduino 製做第一個單LED閃爍電路

作這個實驗前咱們要先認識 Arduino ,接觸面包板,瞭解電路中的元件的工做電壓和工做電流等。html

實驗材料

本次實驗須要如下零部件git

  • Arduino
  • LED 燈一枚
  • 電阻一枚
  • 鏈接線三根
  • 麪包板一個

認識 Arduino

我須要先了解如下 Arduino 板上的組件具體由什麼構成。我找了一個參考圖。編程

Arduino

序號 名稱 描述
工做電壓 5V
1 電源 USB Arduino 板能夠經過計算機上的 USB 線供電
2 電源 電池插座 Arduino 能夠經過電池電源供電
3 穩壓器 穩壓器的的功能是控制提供給 Arduino 的電壓,並穩定處理器和其餘元件使用的直流電壓
4 晶體振盪器 晶體振盪器幫助 Arduino 處理時間問題。上面有數字標識 T16.000 表明頻率是 16MHZ
5,17 重置 重置 Arduino
6,7,8,9 引腳 3.3V(6) 提供 3.3V 輸出電壓;5V(7) 提供 5V 輸出電壓;GND(8) 接地;VVin(9) 此引腳能夠用於外部電源爲 Arduino 供電
10 模擬引腳 A0-A5 這些引腳能夠從模擬傳感器讀取信號,並將其轉換爲能夠由微處理器讀取的數字值
11 微控制器 Arduino 的大腦
12 ICSP 引腳 大多數狀況下,ICSP(12)是一個 AVR,一個由 MOSI,MISO,SCK,RESET,VCC 和 GND 組成的 Arduino 的微型編程頭。它一般被稱爲 SPI(串行外設接口),能夠被認爲是輸出的「擴展」。實際上,你是將輸出設備從屬到 SPI 總線的主機。
13 電源 LED 指示燈 Arduino 插入電源時,此燈亮說明電路板正常通電
14 TX 和 RX LED 在你的板上,你會發現兩個標籤:TX(發送)和 RX(接收)。它們出如今 Arduino UNO 板的兩個地方。首先,在數字引腳 0 和 1 處,指示引腳負責串行通訊。其次,TX 和 RX LED(13)。發送串行數據時,TX LED 以不一樣的速度閃爍。閃爍速度取決於板所使用的波特率。RX 在接收過程當中閃爍。
15 數字 I/O Arduino UNO 板有 14 個數字 I/O 引腳(15)(其中 6 個提供 PWM(脈寬調製)輸出),這些引腳可配置爲數字輸入引腳,用於讀取邏輯值(0 或 1) ;或做爲數字輸出引腳來驅動不一樣的模塊,如 LED,繼電器等。標有「〜」的引腳可用於產生 PWM。
16 AREF 模擬參考,它有時用於設置外部參考電壓(0 至 5 伏之間)做爲模擬輸入引腳的上限。

麪包板

如何將麪包板和 Arduino 鏈接起來使用呢?
通常默認紅色、黃色和綠色爲正極,藍色和黑色爲負極。咱們這裏選擇了一根紅色一根藍色的線來鏈接 Arduino 和麪包板。
熟悉了麪包板以後知道上下區域一致(「楚河分界」,選擇一邊做爲工做區域)。電壓紅藍線之間與工做插線區域是分開的,這裏須要鏈接線鏈接一下。安全

線路圖

LED

LED 兩隻腳長度不一致,長腳爲正級,短腳爲負極。dom

發光二極管的反向擊穿電壓大於 5V,因爲咱們的 Arduino 的工做電壓是 5V ,這裏須要增長一個電阻來保證 LED 的安全,咱們看來一下盒子裏面的零件有 1K 4.7K 10K 的電阻,這裏我選用了一個 1K 的。oop

備註:由於 LED 是負溫度係數的 溫度越高電流越大,電流越大發熱越大,而後停不住就燒了。
串電阻就限制了這個過程,溫度升高,電流增長,電阻上的分壓增大,led 上的電壓減少,電流就減少,溫度就不會再上升。ui

程序

這裏是在昨天的基礎之上繼續作的實驗,只須要將昨晚的 Blink 代碼修改一下便可使用。spa

拷貝一份示例代碼code

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

修改一下示例代碼視頻

int ledPin = 2;

void setup() {
    pinMode( ledPin, OUTPUT );
}

void loop() {
    digitalWrite( ledPin, HIGH );
    delay( 2000 );
    digitalWrite( ledPin, LOW );
    delay( 1000 );
}

末了

在線視頻

經過本次實驗咱們熟悉了 Arduino 板的構造,瞭解瞭如何使用麪包板,對於電學知識點進行了一個簡單的回顧。

相關文章
相關標籤/搜索