Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /************************************
- * *
- * Arduino for Kids *
- * Fun with LEDs *
- * www.youtube.com/learnelectronics *
- * arduino0169@gmail.com *
- * *
- * Hookup guide: *
- * *
- * Pin 2 Led1 Red 1k *
- * Pin 3 Led2 Red 1k *
- * Pin 4 Led3 Green 1k *
- * Pin 5 Led4 Green 1k *
- * Pin 6 Led5 Yellow 470R *
- * Pin 7 Led6 Green 1k *
- * Pin 8 Led7 Green 1k *
- * Pin 9 Led8 Red 1k *
- * Pin10 Led9 Red 1k *
- * *
- ************************************
- */
- int dly = 100; //delay variable, how long to wait between doing things (100=1/10sec)
- void larsen(){ //subroutine called larsen, like Knight Rider
- digitalWrite(2,LOW); //set led to off
- digitalWrite(3,LOW); //set led to off
- digitalWrite(4,LOW); //set led to off
- digitalWrite(5,LOW); //set led to off
- digitalWrite(6,LOW); //set led to off
- digitalWrite(7,LOW); //set led to off
- digitalWrite(8,LOW); //set led to off
- digitalWrite(9,LOW); //set led to off
- digitalWrite(10,LOW); //all leds are initially off
- digitalWrite(2,HIGH); //turn on led1
- delay(dly/2); //wait for 1/2 of our delay
- digitalWrite(2,LOW); //turn led1 off
- delay(dly/2); //wait for 1/2 of our delay
- digitalWrite(3,HIGH); //do the same with led2
- delay(dly/2);
- digitalWrite(3,LOW);
- delay(dly/2);
- digitalWrite(4,HIGH); //do the same with led3
- delay(dly/2);
- digitalWrite(4,LOW);
- delay(dly/2);
- digitalWrite(5,HIGH); //do the same with led4
- delay(dly/2);
- digitalWrite(5,LOW);
- delay(dly/2);
- digitalWrite(6,HIGH); //do the same with led5
- delay(dly/2);
- digitalWrite(6,LOW);
- delay(dly/2);
- digitalWrite(7,HIGH); //do the same with led6
- delay(dly/2);
- digitalWrite(7,LOW);
- delay(dly/2);
- digitalWrite(8,HIGH); //do the same with led7
- delay(dly/2);
- digitalWrite(8,LOW);
- delay(dly/2);
- digitalWrite(9,HIGH); //do the same with led8
- delay(dly/2);
- digitalWrite(9,LOW);
- delay(dly/2);
- digitalWrite(10,HIGH); //do the same with led9
- delay(dly/2);
- digitalWrite(10,LOW);
- delay(dly/2);
- digitalWrite(9,HIGH); //do the same with led10
- delay(dly/2);
- digitalWrite(9,LOW);
- delay(dly/2);
- digitalWrite(8,HIGH); //now we go back down until we reach led1
- delay(dly/2);
- digitalWrite(8,LOW);
- delay(dly/2);
- digitalWrite(7,HIGH);
- delay(dly/2);
- digitalWrite(7,LOW);
- delay(dly/2);
- digitalWrite(6,HIGH);
- delay(dly/2);
- digitalWrite(6,LOW);
- delay(dly/2);
- digitalWrite(5,HIGH);
- delay(dly/2);
- digitalWrite(5,LOW);
- delay(dly/2);
- digitalWrite(4,HIGH);
- delay(dly/2);
- digitalWrite(4,LOW);
- delay(dly/2);
- digitalWrite(3,HIGH);
- delay(dly/2);
- digitalWrite(3,LOW);
- delay(dly/2);
- }
- void upndown(){ //subroutine upndown (fades leds on and off)
- digitalWrite(2,LOW); //start with all leds off
- digitalWrite(3,LOW);
- digitalWrite(4,LOW);
- digitalWrite(5,LOW);
- digitalWrite(6,LOW);
- digitalWrite(7,LOW);
- digitalWrite(8,LOW);
- digitalWrite(9,LOW);
- digitalWrite(10,LOW);
- int x = 1; //keep track of if we are going up or down
- for (int i = 0; i > -1; i = i + x){ //count from 0 to 255
- analogWrite(5, i); //set led brightness to the count
- analogWrite(6,i); // do the same with other led
- if (i == 255) x = -1; // switch direction at peak
- delay(10);
- }
- x = 1;
- for (int i = 0; i > -1; i = i + x){ //same as above just different leds
- analogWrite(10, i);
- analogWrite(9,i);
- if (i == 255) x = -1;
- delay(10);
- }
- }
- void ctrout(){ //start at the center and move outward
- digitalWrite(6,HIGH); //center LED on
- delay(dly); //wait
- digitalWrite(7,HIGH); //turn on first pair
- digitalWrite(5,HIGH);
- delay(dly); //wait
- digitalWrite(8,HIGH); //turn on next outer pair
- digitalWrite(4,HIGH);
- delay(dly); //wait
- digitalWrite(9,HIGH); //turn on thrid pair
- digitalWrite(3,HIGH);
- delay(dly); //wait
- digitalWrite(10,HIGH); //turn on outer pair
- digitalWrite(2,HIGH);
- delay(dly*6); //wait 6 times as long with all leds on
- digitalWrite(2,LOW); //turn all leds off
- digitalWrite(3,LOW);
- digitalWrite(4,LOW);
- digitalWrite(5,LOW);
- digitalWrite(6,LOW);
- digitalWrite(7,LOW);
- digitalWrite(8,LOW);
- digitalWrite(9,LOW);
- digitalWrite(10,LOW);
- delay(dly*8); //wait 8 times as long with all leds off
- }
- void outin() { //start from the outside and move in turning off each pair as the next lights
- digitalWrite(10,HIGH); //outer pair on then off
- digitalWrite(2,HIGH);
- delay(dly);
- digitalWrite(10,LOW);
- digitalWrite(2,LOW);
- digitalWrite(9,HIGH); //next inner pair on then off
- digitalWrite(3,HIGH);
- delay(dly);
- digitalWrite(9,LOW);
- digitalWrite(3,LOW);
- digitalWrite(8,HIGH); //next inner pair on then off
- digitalWrite(4,HIGH);
- delay(dly);
- digitalWrite(8,LOW);
- digitalWrite(4,LOW);
- digitalWrite(7,HIGH); //next inner pair on then off
- digitalWrite(5,HIGH);
- delay(dly);
- digitalWrite(7,LOW);
- digitalWrite(5,LOW);
- digitalWrite(6,HIGH); //center led on then off
- delay(dly);
- digitalWrite(6,LOW);
- delay(dly*8); //wait extra long at the end
- }
- void setup() {
- // put your setup code here, to run once:
- pinMode(2,OUTPUT); //set pin 2 for output
- pinMode(3,OUTPUT); //set pin 3 for output
- pinMode(4,OUTPUT); //set pin 4 for output
- pinMode(5,OUTPUT); //set pin 5 for output
- pinMode(6,OUTPUT); //set pin 6 for output
- pinMode(7,OUTPUT); //set pin 7 for output
- pinMode(8,OUTPUT); //set pin 8 for output
- pinMode(9,OUTPUT); //set pin 9 for output
- pinMode(10,OUTPUT); //set pin 10 for output
- digitalWrite(2,LOW); //start with all leds off
- digitalWrite(3,LOW);
- digitalWrite(4,LOW);
- digitalWrite(5,LOW);
- digitalWrite(6,LOW);
- digitalWrite(7,LOW);
- digitalWrite(8,LOW);
- digitalWrite(9,LOW);
- digitalWrite(10,LOW);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- for (int i=0; i <= 2; i++){ //do what's inside the {} brackets 3 times
- ctrout(); //call subroutine ctrout
- delay(10); //very small delay
- }
- for (int i=0; i <= 2; i++){ //do what's inside the {} brackets 3 times
- outin(); //call subroutine outin
- delay(10);
- }
- for (int i=0; i <= 2; i++){ //do what's inside the {} brackets 3 times
- upndown(); //call subroutine upndown
- delay(10);
- }
- for (int i=0; i <= 2; i++){ //do what's inside the {} brackets 3 times
- larsen(); //call subroutine larsen
- delay(10);
- }
- //end of the program
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement