Chase Led with Arduino

8:22:00 AM
Công nghệ chiếu sáng led có rất nhiều ưu điểm , điển hình là tuổi thọ cao, giá thành hợp lý, ít gây ô nhiễm môi trường,……trong tương lai không xa, đèn led sẽ trở thành một phần quan trọng trong cuộc sống hàng ngày của con người với những ưu điểm của nó.
 Ưu điểm của LED- Hiệu quả: LED có hiệu suất phát sáng cao hơn bóng sợi đốt.
- Kích thước: Kích thước của bóng LED rất nhỏ, vì vậy có thể bố trí dễ dàng trên mạch in.
- Thời gian bật tắt nhanh: Led có thời gian bật và tắt rất nhanh kể từ lúc có tác động(micro giây). Điều này rất quan trọng trong thông tin liêc lạc, lĩnh vực yêu cầu có thời gian đáp ứng nhanh.
- Tuổi thọ đèn cao: Đây là ưu điểm lớn nhất của đèn LED, tuổi thọ của đèn LED vào khoảng 35.000 đến 50.000 giờ, lớn hơn nhiều lần so với bóng huỳnh quang và sợi đốt.
- Độ bền cao: LED được làm từ vật liệu bán dẫn, nên rất khó bị phá huỷ bởi sự va đập...
- An toàn: LED không gây độc hại, rất thân thiện với môi trường.

Ứng dụng của LED LED có rất nhiều ứng dụng trong thực tiễn ngày nay nhưng tựu trung lại bao gồm ba lĩnh vực chính:
- LED làm bộ phận hiển thị trong các thiết bị điện điện tử, đèn quảng cáo, trang trí, đèn giao thông...
- LED còn ứng dụng trong lĩnh vực chiếu sáng vì những ưu điểm của nó hoàn toàn có thể thay thế những nguồn sáng thông thường khác.
- LED còn được ứng dụng trong lĩnh vực điện tử viễn thông như trong thiết bị điều khiển từ xa, cảm biến hồng ngoại, công nghệ truyền dữ liệu qua tia hồng ngoại(IrDA), LED UV khử trùng nước.


 Ảnh mô phỏng protues.

chase led arduino

Code chương trình.
int ledPins[] = {2,3,4,5,6,7,8,9};
void setup()
{
  int index;
  for(index = 0; index <= 7; index++)
  {
    pinMode(ledPins[index],OUTPUT);
     }
}

void loop()
{
    oneAfterAnotherNoLoop();  // Light up all the LEDs in turn
}

void oneAfterAnotherNoLoop()
{
  int delayTime = 100; // time (milliseconds) to pause between LEDs
  digitalWrite(ledPins[0], HIGH);  //Turns on LED #0 (pin 2)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[1], HIGH);  //Turns on LED #1 (pin 3)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[2], HIGH);  //Turns on LED #2 (pin 4)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[3], HIGH);  //Turns on LED #3 (pin 5)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[4], HIGH);  //Turns on LED #4 (pin 6)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[5], HIGH);  //Turns on LED #5 (pin 7)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[6], HIGH);  //Turns on LED #6 (pin 8)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[7], HIGH);  //Turns on LED #7 (pin 9)
  delay(delayTime);                //wait delayTime milliseconds  

  // turn all the LEDs off:

  digitalWrite(ledPins[7], LOW);   //Turn off LED #7 (pin 9)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[6], LOW);   //Turn off LED #6 (pin 8)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[5], LOW);   //Turn off LED #5 (pin 7)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[4], LOW);   //Turn off LED #4 (pin 6)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[3], LOW);   //Turn off LED #3 (pin 5)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[2], LOW);   //Turn off LED #2 (pin 4)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[1], LOW);   //Turn off LED #1 (pin 3)
  delay(delayTime);                //wait delayTime milliseconds
  digitalWrite(ledPins[0], LOW);   //Turn off LED #0 (pin 2)
  delay(delayTime);                //wait delayTime milliseconds  
}
void oneAfterAnotherLoop()
{
  int index;
  int delayTime = 100; // milliseconds to pause between LEDs
   for(index = 0; index <= 7; index++)
  {
    digitalWrite(ledPins[index], HIGH);
    delay(delayTime);                
  }                                  
  for(index = 7; index >= 0; index--)
  {
    digitalWrite(ledPins[index], LOW);
    delay(delayTime);
  }               
}
void oneOnAtATime()
{
  int index;
  int delayTime = 100; // milliseconds to pause between LEDs
   for(index = 0; index <= 7; index++)
  {
    digitalWrite(ledPins[index], HIGH);  // turn LED on
    delay(delayTime);                    // pause to slow down
    digitalWrite(ledPins[index], LOW);   // turn LED off
  }
}
void pingPong()
{
  int index;
  int delayTime = 100; // milliseconds to pause between LEDs
  for(index = 0; index <= 7; index++)
  {
    digitalWrite(ledPins[index], HIGH);  // turn LED on
    delay(delayTime);                    // pause to slow down
    digitalWrite(ledPins[index], LOW);   // turn LED off
  }
  for(index = 7; index >= 0; index--)
  {
    digitalWrite(ledPins[index], HIGH);  // turn LED on
    delay(delayTime);                    // pause to slow down
    digitalWrite(ledPins[index], LOW);   // turn LED off
  }
}
void marquee()
{
  int index;
  int delayTime = 200; // milliseconds to pause between LEDs
    for(index = 0; index <= 3; index++) // Step from 0 to 3
  {
    digitalWrite(ledPins[index], HIGH);    // Turn a LED on
    digitalWrite(ledPins[index+4], HIGH);  // Skip four, and turn that LED on
    delay(delayTime);                      // Pause to slow down the sequence
    digitalWrite(ledPins[index], LOW);     // Turn the LED off
    digitalWrite(ledPins[index+4], LOW);   // Skip four, and turn that LED off
  }
}
void randomLED()
{
  int index;
  int delayTime;
  index = random(8);    // pick a random number between 0 and 7
  delayTime = 100;

  digitalWrite(ledPins[index], HIGH);  // turn LED on
  delay(delayTime);                    // pause to slow down
  digitalWrite(ledPins[index], LOW);   // turn LED off
}

Share this

Related Posts

Previous
Next Post »