Dien Tu Bi
99+
Giảm giá!

Code điều khiển led nâng cao

Giá gốc là: 200.000 ₫.Giá hiện tại là: 99.000 ₫.

Danh mục:
const int ledPin = 13;
const int buttonPin = 2;
bool ledState = false;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
  if (digitalRead(buttonPin) == LOW) { // Nếu nhấn nút
    delay(50); // Chống dội phím
    while (digitalRead(buttonPin) == LOW); // Đợi nút nhả ra
    ledState = !ledState; // Đảo trạng thái LED
  ………………………………..
Chọn mua và thanh toán để tải code đầy đủ hơn

Giải thích chi tiết đoạn code nâng cao:

1. Khai báo biến toàn cục

const int ledPin = 13;

const int buttonPin = 2;


bool ledState = false;

  • ledPin: Chân số 13 của Arduino, nơi kết nối LED.
  • buttonPin: Chân số 2 của Arduino, nơi kết nối nút nhấn.
  • ledState: Biến trạng thái LED (true nếu sáng, false nếu tắt).

2. Hàm setup()

void setup() {

pinMode(ledPin, OUTPUT);


pinMode(buttonPin, INPUT_PULLUP);


}

  • pinMode(ledPin, OUTPUT); → Thiết lập chân 13 làm OUTPUT để điều khiển LED.
  • pinMode(buttonPin, INPUT_PULLUP); → Thiết lập chân 2 làm INPUT_PULLUP để đọc trạng thái nút nhấn.
    • INPUT_PULLUP dùng điện trở nội pull-up → Khi không nhấn, chân buttonPin ở mức HIGH.
    • Khi nhấn, chân buttonPin nối GND → chuyển sang mức LOW.

3. Hàm loop() – Điều khiển LED khi nhấn nút

void loop() {

if (digitalRead(buttonPin) == LOW) { // Nếu nhấn nút


delay(50); // Chống dội phím


while (digitalRead(buttonPin) == LOW); // Đợi nút nhả ra

  • digitalRead(buttonPin) == LOW → Kiểm tra nếu nút nhấn bị nhấn.
  • delay(50); → Đợi 50ms để chống dội phím (giảm nhiễu từ nút nhấn).
  • while (digitalRead(buttonPin) == LOW); → Đợi đến khi nút nhả ra mới tiếp tục.

4. Đảo trạng thái LED

ledState = !ledState; // Đảo trạng thái LED
  • Nếu LED đang tắt, ledState = true → bật LED.
  • Nếu LED đang bật, ledState = false → tắt LED.

5. Bật LED với hiệu ứng nhấp nháy

if (ledState) {

for (int i = 0; i < 3; i++) { // Hiệu ứng nhấp nháy


digitalWrite(ledPin, HIGH);


delay(200);


digitalWrite(ledPin, LOW);


delay(200);


}


digitalWrite(ledPin, HIGH); // Bật LED


}

  • Khi ledState == true (LED bật):
    • LED nhấp nháy 3 lần trước khi bật sáng liên tục.

6. Tắt LED khi nút nhấn lần nữa

else {

digitalWrite(ledPin, LOW); // Tắt LED


}

  • Khi ledState == false, LED tắt hoàn toàn.

📌 Kết quả hoạt động:

  1. Bấm nút lần đầu → LED nhấp nháy 3 lần, sau đó bật sáng liên tục.
  2. Bấm nút lần thứ hai → LED tắt.
  3. Tiếp tục nhấn nút → Lặp lại quá trình trên.

Bộ code này giúp tạo hiệu ứng đẹp hơn thay vì chỉ bật/tắt đơn giản. 🚀

Đánh giá

Chưa có đánh giá nào.

Hãy là người đầu tiên nhận xét “Code điều khiển led nâng cao”

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lên đầu trang