Bài 4. Lập trình Led trái tim với Arduino
23/10/2021, bởi Thầy TiiL trong mục: Tự động hóa & RobotBài viết này hướng dẫn các học sinh làm một ví dụ “hấp dẫn”, là điều khiển các đèn led được bố trí theo hình trái tim – Lập trình Led trái tim với Arduino sáng /tắt theo hiệu ứng qui định.
Các chủ đề chính
1. Sơ đồ nối dây
Ở đây, chât “đất” của các đèn led được đấu nối tiếp liên tiếp với nhau, còn các chân “dương” được sử dụng rời rạc và kết nối vào các cổng của Arduino đề lập trình điều khiển.

2. CODE đơn giản: Lập trình Led trái tim với Arduino để SÁNG 1 giây –> TẮT 1 giây và lặp lại
void setup()
{
pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT);
pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT);
pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}void loop()
{
//Sáng tất cả các đèn
digitalWrite(0,HIGH); digitalWrite(1,HIGH); digitalWrite(2,HIGH);
digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH);
digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
delay(1000); //trong thời giang 1s
// Tắt hết tất cả các đèn
digitalWrite(0,LOW); digitalWrite(1,LOW); digitalWrite(2,LOW);
digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW);
digitalWrite(9,LOW);
delay(1000); //trong thời gian 1 giây
}
3. CODE nâng cấp, sử dụng kỹ thuật tạo khối con (chương trình con, hàm)
void setup()
{
pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT);
pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT);
pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}void loop()
{
//Sáng tất cả các đèn
SangTatCa();
delay(1000); //trong thời giang 1s
// Tắt hết tất cả các đèn
TatHet();
delay(1000); //trong thời gian 1 giây
}void SangTatCa() {
digitalWrite(0,HIGH); digitalWrite(1,HIGH); digitalWrite(2,HIGH);
digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH);
digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}
void TatHet() {
digitalWrite(0,LOW); digitalWrite(1,LOW); digitalWrite(2,LOW);
digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW);
digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
Xem chi tiết
Bài viết liên quan
- Nguồn cấp xung clock cho STM32 và Ngoại vi [Lập trình nhúng STM32]
- Lập trình STM32 – Kết nối LCD trực tiếp [Lập trình nhúng STM32]
- Lập trình STM32 - Truyền thông nối tiếp bất đồng bộ UART [Lập trình nhúng STM32]
- Đề cương Lập trình C cho hệ thống nhúng và IoTs [Lập trình dùng Ngôn ngữ C/C++]