Làm đèn nhấp nháy trên xe cảnh sát

Nội dung chính, cần nắm

Đây là một ví dụ về sự sáng tạo cực kỳ đơn giản với Arduino và LED. Qua bài viết này, tôi muốn chia sẻ cho các bạn rằng, chúng ta chỉ cần biết một ít kiến thức về Arduino là có thể làm được những ứng dụng độc đáo ngay. Cụ thể, là bạn chỉ cần đọc qua bài Bài 2: Cách làm đèn LED nhấp nháy theo yêu cầu là có thể làm được ví dụ trong bài viết này rồi. Khá là hay đấy nhé!

Hôm nay chúng ta sẽ làm được gì

Phần cứng

Lắp mạch

Lập trình

int ledDelay = 50; // delay trong 50 mili giây (ms)
int redPin = 5;
int bluePin = 6;


void setup() {
    pinMode(redPin, OUTPUT); //pinMode đèn đỏ là OUTPUT
    pinMode(bluePin, OUTPUT); //pinMode đèn xanh là OUTPUT

}

void loop() {

    digitalWrite(redPin, HIGH); // bật đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(redPin, LOW); // tắt đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(redPin, HIGH); // bật đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(redPin, LOW); // tắt đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(redPin, HIGH); // bật đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(redPin, LOW); // tắt đèn đỏ
    delay(ledDelay); // đợi 50ms
    
    delay(100); // delay midpoint by 100ms
    
    digitalWrite(bluePin, HIGH); // bật đèn xanh
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(bluePin, LOW); // tắt đèn xanh
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(bluePin, HIGH); // bật đèn xanh
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(bluePin, LOW); // tắt đèn xanh
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(bluePin, HIGH); // bật đèn xanh
    delay(ledDelay); // đợi 50ms
    
    digitalWrite(bluePin, LOW); // tắt đèn xanh
    delay(ledDelay); // đợi 50ms


}

Lời kết

Một ứng dụng hay không quá phức tạp như bạn nghĩ đâu, bạn có thể dùng ATTiny13 để lập trình cho nó nhỏ hơn, phù hợp với các dự án làm sa bàn! Ngoài ra, bạn có thể tham khảo bài viết Cách xuất file .HEX từ Arduino IDE và mô phỏng Arduino trên phần mềm Proteus để thử mô phỏng trên Proteus nếu không có điều kiện sở hữu một bé Arduino. Mình xin chia sẻ file Proteus và file hex của nó tại đây.

Chúc các bạn thành công!

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Điều khiển 8 đèn LED qua wifi, sử dụng Arduino và ESP8266

Với mục đích giúp các bạn tiếp cận với các thiết bị IOT gần hơn. Hôm nay mình sẽ hướng dẫn các bạn viết chương trình điều khiển 8 LED qua mạng wifi. Và hơn thế nữa, nếu kết hợp với VPN hoặc mở port thì chúng ta có thể làm hơn thế nữa!

lên
48 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

for

Hàm for có chức năng làm một vòng lặp. Vậy vòng lặp là gì? Hãy hiểu một cách đơn giản, nó làm đi làm lại một công việc có một tính chất chung nào đó. Chẳng hạn, bạn bật tắt một con LED thì dùng digitalWrite xuất HIGH delay rồi lại LOW rồi lại delay. Nhưng nếu bạn muốn làm nhiều hơn 1 con LED thì mọi đoạn code của bạn sẽ dài ra (không đẹp và khi chỉnh sửa thì chẳng lẻ ngồi sửa lại từng dòng?

lên
24 thành viên đã đánh giá bài viết này hữu ích.

analogRead()

Nhiệm vụ của analogRead() là đọc giá trị điện áp từ một chân Analog. Trên mạch Arduino UNO có 6 chân Analog In, được kí hiệu từ A0 đến A5. Trên các mạch khác cũng có những chân tương tự như vậy với tiền tố "A" đứng đầu, sau đó là số hiệu của chân.

lên
17 thành viên đã đánh giá bài viết này hữu ích.