ksp gửi vào
- 77407 lượt xem
Để làm được bài này, bạn cần chuẩn bị Arduino IDE Classic, các bản Arduino 1.5.x, 1.6.x phải chỉnh sửa nhiều hơn thì mới làm được!
Giới thiệu
Đèn giao thông đã quá quen thuộc với các bạn phải không nào. Với những ánh đèn đầy màu sắc này, bạn có tạo thành một cột đèn giao thông cực kì đơn giản cho sa bàn của bạn. Hôm nay, chúng ta sẽ dành ra khoảng 20 phút để làm mạch đèn đầy sáng tạo này nhé. Qua bài viết này, mình hi vọng bạn sẽ học cách sử dụng bé ATTiny13 để lập trình những ứng dụng yêu cầu kích thước bé nhé.
Kiến thức cần biết
Phần cứng
- Arduino Uno
- Breadboard
- Dây cắm breadboard
- 3 điện trở 560 Ohm (hoặc 220 Ohm hoặc 1kOhm)
- 3 đèn LED màu (đỏ, vàng, xanh)
- 1 ATTiny13
Lắp mạch
Lập trình và giải thích
Mục đích của tớ khi viết bài này là giúp các cậu thực hành với vi điều khiển ATTiny13, vì vậy phần lập trình vô cùng đơn giản, và chỉ bao gồm các hàm pinMode, delay và digitalWrite! Ngoài ra, cuối bài viết này là một file proteus giúp các bạn làm quen hơn với phần mềm này, nếu các bạn chưa biết về proteus xin 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
int greenled = 0; int yellowled = 1; int redled = 4; void setup() { //pinMode các đèn led pinMode(greenled, OUTPUT); pinMode(yellowled, OUTPUT); pinMode(redled, OUTPUT); // cài đặt timer TCCR0B |= _BV(CS02) ; } void _delay(word time = 1) { // Xây dựng lại hàm delay for (word i = 1; i<=time;i++) { delayMicroseconds(150); } } void loop() { digitalWrite(greenled, HIGH); //Bật đèn xanh trong 5 giây _delay(5000); digitalWrite(greenled, LOW); //Tắt đèn xanh, bật đèn vàng trong 1 giây digitalWrite(yellowled, HIGH); _delay(1000); digitalWrite(yellowled, LOW); //tắt đèn vàng bật đèn đỏ trong 5 giây digitalWrite(redled, HIGH); _delay(5000); digitalWrite(redled,LOW);//Tắt đèn đỏ }
Khi bạn "lên mạch" thì nó đơn giản như thế này nè :D
Bạn có thể download file Proteus này tại đây (nhớ chỉnh lại đường dẫn Program file nhé, và nếu bạn muốn file hex ngay thì nó đây).
Kết luận
Con mèo nó kêu meo meo, đó là điều hiển nhiên phải không nào? Vì vậy, đừng lo lắng, bạn đã có mục tiêu là làm được ngay thôi, hi vọng qua bài viết này, bạn sẽ càng hoàn thiện các kĩ năng của mình và hoàn thiện các dự án táo bạo hơn!