Làm hiệu ứng LED nhấp nháy rượt đuổi nhau đơn giản với 5 LED

Giới thiệu

Nhằm mang đến một ví dụ vui về các đèn LED, mình đã viết bài này. Hi vọng, các newbie cảm thấy thích thú với những gì Arduino làm được và cùng chúng tớ phát triển Arduino. Đây là một ví dụ cực kì dễ vì vậy đừng ngại gì mà không lắp thử, bạn nhé!

Nội dung cần nắm

Qua bài này, bạn sẽ làm quen hơn nữa với cách mà Arduino thực hiện một dự án. Bạn nên tham khảo các đường dẫn trong code nếu chưa hiểu về câu lệnh đó!

Phần cứng

Lắp mạch

Lập trình

//hàm setup() chỉ chạy duy nhất một lần khi khởi động arduino hoặc sau khi bạn nhấn nút reset
// http://arduino.vn/reference/setup-va-loop
void setup() {
  // khởi tạo các chân 2, 3, 4, 5, 6 là OUTPUT
  // nghĩa là ta sẽ sử dụng những chân này với nhiệm vụ xuất tín hiệu điện
  // bạn tham khảo tại trang http://arduino.vn/reference/pinmode
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}
// sau khi chạy hàm setup(), arduino sẽ chạy hàm loop() liên tục lặp đi lặp lại không bao giờ nghỉ
// http://arduino.vn/reference/setup-va-loop
void loop() {
  
  //Nếu bạn chưa biết hàm digitalWrite có ý nghĩa gì, xin tham khảo tại http://arduino.vn/reference/digitalwrite  
  digitalWrite(2, HIGH); //bật đèn led nối với chân digital 2
  //Nếu bạn chưa biết hàm delay có ý nghĩa gì, xin tham khảo tại http://arduino.vn/reference/delay
  delay(60); // đợi 60 mili giây = 0.06 giây
  digitalWrite(2, LOW); //tắt đèn led nối với chân digital 2
  digitalWrite(3, HIGH); //bật...digital 3
  delay(60);// dừng 60 ms
  digitalWrite(3, LOW); // tắt ... digital 3
  digitalWrite(4, HIGH); //....
  delay(60);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  delay(60);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  delay(60);
  digitalWrite(6, LOW);
  // reverse
  digitalWrite(6, HIGH);
  delay(60);
  digitalWrite(6, LOW);
  digitalWrite(5, HIGH);
  delay(60);
  digitalWrite(5, LOW);
  digitalWrite(4, HIGH);
  delay(60);
  digitalWrite(4, LOW);
  digitalWrite(3, HIGH);
  delay(60);
  digitalWrite(3, LOW);
  digitalWrite(2, HIGH);
  delay(60);
  digitalWrite(2, LOW);
}

Video

Lời kết

Hãy chế thứ gì đó thật cool nào

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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

millis()

millis() có nhiệm vụ trả về một số - là thời gian (tính theo mili giây) kể từ lúc mạch Arduino bắt đầu chương trình của bạn. Nó sẽ tràn số và quay số 0 (sau đó tiếp tục tăng) sau 50 ngày.

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

Nạp firmware cho Arduino bằng Xloader - Nạp chương trình cho Arduino bằng Xloader

Trong một số trường hợp bạn chỉ có File hex không có file chương trình hay muốn nạp cho nhiều mạch ứng dụng, dùng phần mềm Arduino IDE sẽ hơi bất tiện và mất nhiều thời gian hơn. Hoặc đơn giản hơn, bạn muốn bảo vệ source code của mình khi gửi cho khách. Đó là lý do chúng ta biên dịch ra file hex và gửi file hex thay vì gửi chương trình.

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