Bounce Effect Night Lamp

About: To-be-engineer

This effect can be explained as follows:
An array of 6 leds is arranged. The blinking starts from both the end, i.e.,0 and the 5th led and will continue till the 2nd and the3rd led respectively. Then the blinking will start in the backward direction, i.e., from the 2nd to 0 and 3rd to the 5th. This process will continue as long as the lights are off.

LDR(Light Dependent Resistance) is used to control the blinking of leds.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Components Required:

1. Arduino Uno board (You may use any other also)

2. Leds x 6

3. Light Dependent Resistance(LDR)

4. Breadboard

5. Jumper wires

6. Resistors (1k)

7. USB cable

Step 2: Code

// Create array for LED pins
byte ledPin[]={4, 5, 6, 7, 8, 9};

int delayLed(50); //Delay between changes

int currentLed1=0;

int currentLed2=5;

int direction1=1;

int direction2=-1;

int sensePin=A0;

unsigned long changeTime;

void setup()

{ // put your setup code here, to run once:

for(int i=0, j=5;i<3 && j>2;i++, j--) //set all pins to output

{ pinMode(ledPin[i], OUTPUT);

pinMode(ledPin[j], OUTPUT); }

changeTime=millis();

}

void loop()

{ // put your main code here, to run repeatedly:

int val=analogRead(sensePin); //read the value of the LDR

if(val>1000) //setting condition for LDR

{ if((millis()-changeTime)> delayLed) //if it has been delayLed ms since last change

{

for(int i=0, j=5;i<6 && j>2; i++, j--) //turn of all LEDs

{

digitalWrite(ledPin[i], LOW);

digitalWrite(ledPin[j], LOW);

}

digitalWrite(ledPin[currentLed1], HIGH); //turn on the current LED

digitalWrite(ledPin[currentLed2], HIGH);

currentLed1+=direction1; //increment by the direction value

currentLed2+=direction2;

if (currentLed1==0) //to change the direction if we reach the end

{

direction1=1;

}

if(currentLed2==5 )

{

direction2=-1;

}

if(currentLed1==2)

{

direction1=-1;

}

if(currentLed2==3)

{

direction2=1;

}

changeTime=millis();

}

}

else

{

for(int i=0; i<6;i++)

{

digitalWrite(ledPin[i], LOW);

}

}

}

Step 3: Connections:

The connections for the night lamp are quite simple. Make sure you connect the leds to the correct Arduino pins.

Step 4: Run the Code

Now you have your own 'bounce effect' night lamp. You can modify as per requirements :)

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    2 Discussions