Blink LED

Trong phần này, chúng ta sẽ tìm hiểu cách làm chớp, tắt đèn LED luân phiên trong 1 giây với board UnoX.

Chuẩn bị

Giới thiệu đèn LED

  • Đèn LED là linh kiện điện tử có thể phát sáng thường dùng để hiển thị và tạo cảnh báo.
  • Cách đơn giản để nhận biết cực của LED là dựa vào độ dài chân:

    • Chân dài: Chân (+) nhận điện áp cao (3.3V).
    • Chân ngắn: Chân (-) nhận điện áp thấp (0V hay GND).
  • Khi sử dụng nên gắn kèm 1 điện trở 330 Ohm vào chân (+).

Kết nối linh kiện

UnoXLED
GPIO02Cực dương (Anode)
GNDCực âm (Cathode)

Lưu ý: Khả năng chịu dòng tối đa của LED khoảng 15 mA do đó cần dùng thêm một điện trở kết nối với LED để chế hạn dòng điện, đảm bảo LED hoạt động ổn định.

Source code

  • Khai báo chân của LED kết nối với board UnoX và cấu hình IN/OUT cho chân này tại hàm setup().
  • Để điều khiển điện áp của chân kết nối với LED, ta dùng hàm digitalWrite(pinLED, value).
  • Hàm delay(ms) được dùng để dừng chương trình trong một khoảng thời gian mili giây xác định. Đối số truyền vào của hàm có đơn vị là mili giây. Ví dụ, với delay(1000) thì chương trình sẽ dừng trong thời gian 1000 mili giây = 1 giây.
#define pinLED 2                // Khai báo chân kết nối với LED là chân số 2
void setup()
{
  pinMode(pinLED, OUTPUT);      // Khai báo OUTPUT cho LED 13
}
void loop()
{
  digitalWrite(pinLED, HIGH);   // Bật LED (HIGH - có nghĩa là mức điện áp 5V DC)
  delay(1000);                  // Chờ 1000 mili giây = 1s
  digitalWrite(pinLED, LOW);    // Tắt LED (LOW có nghĩa là mức điện áp 0V DC)
  delay(3000);
}

Hàm setup() chỉ chạy 1 lần duy nhất khi chương trình bắt đầu chạy, khi reset board UnoX hoặc khi mới cấp nguồn cho board. Hàm loop() sẽ chaỵ lặp lại liên tục sau khi chạy hàm setup().

Kết quả

Chương trình trên cho kết quả LED sáng trong 1 giây rồi tắt trong 1 giây. Quá trình này lặp đi lặp lại liên tục.

Ứng dụng mở rộng

  • Chớp, tắt các LED để tạo các hiệu ứng đẹp mắt.
  • Làm bảng quảng cáo LED.