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útdelay(50); // Chống dội phímwhile (digitalRead(buttonPin) == LOW); // Đợi nút nhả raledState = !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
- 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 (- truenếu sáng,- falsenếu tắt).
2. Hàm setup()
- 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 buttonPinnối GND → chuyển sang mức LOW.
 
- INPUT_PULLUP dùng điện trở nội pull-up → Khi không nhấn, chân 
3. Hàm loop() – Điều khiển LED khi nhấn nút
- 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
- 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
- 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
- Khi ledState == false, LED tắt hoàn toàn.
📌 Kết quả hoạt động:
- Bấm nút lần đầu → LED nhấp nháy 3 lần, sau đó bật sáng liên tục.
- Bấm nút lần thứ hai → LED tắt.
- 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.