更新於 2024/03/20閱讀時間約 2 分鐘

Arduino 03 – 閃閃發光的LED!

哈囉~今天我要來講位和善的小傢伙,他屬於模組家族,上手簡單,但是也很好用!

LED

我們常常看到這個小東西,很多是紅色的,不過也是有其他顏色,甚至還有多種顏色的!但是那種比較複雜一點X﹏X所以等等提到的是單色的,但是也不會差太多啦

接法

看起來會像這樣~

紅黑線代表正負極,負極接到GND,正極則是可以接到任何Digital的地方,如果要有特殊功能就可能要接有~的PWM。如果正極3.3和5V就會直接亮著,也不是不行,但是不能控制。

燈的正極接了一塊東西,它叫做電阻。功能是不要讓電流太大,把電子元件燒壞,比如說現在不接上電阻,直接把正極接到3.3V,就可能會讓LED燒壞,所以才需要這塊電阻。

電阻也有不同的大小,現在畫面上這塊是220Ω,Ω就叫做歐姆,是電阻大小的單位,會標示在電阻身上。

程式

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

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

這段程式,又是個閃爍的程式,不過這次是接著LED燈。

pinMode裡面的2代表LED接的腳位,delay裡面的1000是1000毫秒,也就是1秒

呼吸燈這種東西也可以做出來喔,不過有點複雜,要先接上PWM:

void setup() {
  int i;
  i = map(i, 0, 255, 0, 100);
  Serial.begin(115200);
  pinMode(3, OUTPUT);
}

void loop() {
  for (int i = 0; i <= 95; i++) {
    analogWrite(3, i);
    delay(10);
  }

  for (int i = 100; i >= 5; i--) {
    analogWrite(3, i);
    delay(10);
  }
}

這邊的int創造了一個變數叫做i,代表這個i可以一直改變。

接著下一行是把亮度的大小改成用0~100表示

for是個迴圈,第一個會執行到變成95為止,每次都會+1;第二個則是每次減1直到變成5

你會發現有個analogWrite,長得很像digitalWrite,那是因為這是類比訊號,因為LED接上了PWM的腳位,所以可以像是類比的東西一樣用,也就可以寫類比輸出了。


這次的程式感覺講得好複雜喔(˘・_・˘),雖然可以直接複製啦,但是我自己如果看不懂會很難過,不知道會不會有人這樣想。那就下次再見啦,掰掰~

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.