LED_BUILTIN

1. LED_BUILTIN trong Arduino là gì?

LED_BUILTIN là một hằng số được định nghĩa trong Arduino IDE để biểu thị chân kết nối với đèn LED tích hợp sẵn trên bo mạch Arduino.
Hầu hết các bo mạch Arduino (như Arduino Uno, Mega, Nano, v.v.) đều có một đèn LED tích hợp mà bạn có thể sử dụng để thử nghiệm nhanh các chương trình hoặc chức năng mà không cần thêm phần cứng bên ngoài.

2. Chi tiết về LED_BUILTIN

  1. Vị trí của LED_BUILTIN:

    • Đèn LED này thường được kết nối với một chân GPIO cụ thể trên vi điều khiển, và giá trị của LED_BUILTIN sẽ tương ứng với số của chân đó.
    • Ví dụ:
      • Arduino Uno: LED_BUILTIN tương ứng với chân 13.
      • Arduino Nano: LED_BUILTIN tương ứng với chân 13.
      • Arduino Mega: LED_BUILTIN tương ứng với chân 13.
      • Arduino Leonardo: LED_BUILTIN tương ứng với chân 13.
      • ESP32/ESP8266: LED_BUILTIN có thể tương ứng với các chân khác (tùy thuộc vào module cụ thể).
  2. Mục đích của LED_BUILTIN:

    • Dễ dàng kiểm tra mã nguồn mà không cần kết nối các thiết bị ngoại vi.
    • Hữu ích cho các ví dụ và bài học lập trình cơ bản (như ví dụ Blink mặc định của Arduino IDE).
  3. Cách sử dụng:

    • LED_BUILTIN được sử dụng giống như bất kỳ chân GPIO nào khác.
    • Bạn có thể bật hoặc tắt đèn LED bằng cách sử dụng các hàm như digitalWrite().

3. Ví dụ sử dụng LED_BUILTIN

Blink LED (Nhấp nháy đèn LED tích hợp):
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // Đặt LED_BUILTIN làm đầu ra
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // Bật LED
  delay(1000);                      // Chờ 1 giây
  digitalWrite(LED_BUILTIN, LOW);   // Tắt LED
  delay(1000);                      // Chờ 1 giây
}
Điều khiển LED tích hợp bằng nút bấm:
const int buttonPin = 2;  // Chân kết nối nút bấm

void setup() {
  pinMode(buttonPin, INPUT);        // Đặt nút bấm làm đầu vào
  pinMode(LED_BUILTIN, OUTPUT);     // Đặt LED_BUILTIN làm đầu ra
}

void loop() {
  int buttonState = digitalRead(buttonPin);  // Đọc trạng thái nút bấm
  if (buttonState == HIGH) {
    digitalWrite(LED_BUILTIN, HIGH);         // Bật LED khi nút bấm được nhấn
  } else {
    digitalWrite(LED_BUILTIN, LOW);          // Tắt LED khi nút bấm không được nhấn
  }
}

4. Lưu ý khi sử dụng LED_BUILTIN

  1. Khác biệt giữa các bo mạch:

    • Một số bo mạch có thể không định nghĩa LED_BUILTIN, trong trường hợp này, bạn cần sử dụng số chân cụ thể mà LED được kết nối.
    • Trên ESP32 hoặc ESP8266, chân của LED tích hợp có thể khác với Arduino truyền thống.
  2. Khi sử dụng các bo mạch có nhiều LED:

    • Một số bo mạch như ESP32 hoặc ESP8266 có nhiều LED tích hợp. Bạn cần kiểm tra tài liệu để biết chính xác chân kết nối.
  3. Độ sáng LED:

    • Nếu đèn LED quá sáng hoặc không sáng, bạn có thể điều chỉnh bằng cách sử dụng điện trở thích hợp (trong trường hợp dùng LED ngoài).