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
- 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]
- Tài liệu Thực hành Lập trình nhúng STM32 [Kho tài liệu học lập trình]
- Bài 5. Điều khiển độ sáng đèn với Cảm biến ánh sáng [Tự động hóa & Robot]
- Lập trình STM32 – Kết nối LCD trực tiếp [Lập trình nhúng STM32]