Bà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 nội dung 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