For my digital sensors assignment, I used the sun and the moon as an inspiration. I used a yellow LED to represent the sun and a blue LED to represent the moon.
Implementation:
When the yellow button is pressed, the yellow LED – a.k.a. the Sun – lights up and when the blue button is pressed, the blue LED – a.k.a. the moon – lights up. When both buttons are pressed at the same time, they each blink and alternate for 1 second with an interval of 0.5 seconds, representing the cycle of the sun and the moon.
Circuit schematics:
Video:
Code:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int yellowLED = 13; //labeling the digital output for the yellow LED
int blueLED = 9; //labeling the digital output for the blue LED
voidsetup(){
pinMode(yellowLED, OUTPUT);
pinMode(blueLED, OUTPUT);
pinMode(A0, INPUT);
pinMode(A2, INPUT);
}
voidloop(){
int switchPositionYellow = digitalRead(A0);
int switchPositionBlue = digitalRead(A2);
if(switchPositionYellow == HIGH){//if the yellow button is pressed, the yellow LED is turned on
digitalWrite(yellowLED, HIGH);
digitalWrite(blueLED, LOW);
}
elseif(switchPositionBlue == HIGH){// if the blue button is pressed, the blue LED is turned on
digitalWrite(yellowLED, LOW);
digitalWrite(blueLED, HIGH);
}
else{
digitalWrite(yellowLED, LOW); //if both buttons aren't pressed, the LEDs are turned off
digitalWrite(blueLED, LOW);
}
if(switchPositionYellow == HIGH && switchPositionBlue == HIGH){//if both buttons are pressed,
//both LEDS will blink and will alternate
digitalWrite(yellowLED, HIGH);
delay(1000);
digitalWrite(yellowLED, LOW);
delay(500);
digitalWrite(blueLED, HIGH);
delay(1000);
digitalWrite(blueLED, LOW);
delay(500);
}
}
int yellowLED = 13; //labeling the digital output for the yellow LED
int blueLED = 9; //labeling the digital output for the blue LED
void setup() {
pinMode(yellowLED, OUTPUT);
pinMode(blueLED, OUTPUT);
pinMode(A0, INPUT);
pinMode(A2, INPUT);
}
void loop(){
int switchPositionYellow = digitalRead(A0);
int switchPositionBlue = digitalRead(A2);
if (switchPositionYellow == HIGH) { //if the yellow button is pressed, the yellow LED is turned on
digitalWrite(yellowLED, HIGH);
digitalWrite(blueLED, LOW);
}
else if (switchPositionBlue == HIGH) { // if the blue button is pressed, the blue LED is turned on
digitalWrite(yellowLED, LOW);
digitalWrite(blueLED, HIGH);
}
else {
digitalWrite(yellowLED, LOW); //if both buttons aren't pressed, the LEDs are turned off
digitalWrite(blueLED, LOW);
}
if (switchPositionYellow == HIGH && switchPositionBlue == HIGH) { //if both buttons are pressed,
//both LEDS will blink and will alternate
digitalWrite(yellowLED, HIGH);
delay(1000);
digitalWrite(yellowLED, LOW);
delay(500);
digitalWrite(blueLED, HIGH);
delay(1000);
digitalWrite(blueLED, LOW);
delay(500);
}
}
int yellowLED = 13; //labeling the digital output for the yellow LED
int blueLED = 9; //labeling the digital output for the blue LED
void setup() {
pinMode(yellowLED, OUTPUT);
pinMode(blueLED, OUTPUT);
pinMode(A0, INPUT);
pinMode(A2, INPUT);
}
void loop(){
int switchPositionYellow = digitalRead(A0);
int switchPositionBlue = digitalRead(A2);
if (switchPositionYellow == HIGH) { //if the yellow button is pressed, the yellow LED is turned on
digitalWrite(yellowLED, HIGH);
digitalWrite(blueLED, LOW);
}
else if (switchPositionBlue == HIGH) { // if the blue button is pressed, the blue LED is turned on
digitalWrite(yellowLED, LOW);
digitalWrite(blueLED, HIGH);
}
else {
digitalWrite(yellowLED, LOW); //if both buttons aren't pressed, the LEDs are turned off
digitalWrite(blueLED, LOW);
}
if (switchPositionYellow == HIGH && switchPositionBlue == HIGH) { //if both buttons are pressed,
//both LEDS will blink and will alternate
digitalWrite(yellowLED, HIGH);
delay(1000);
digitalWrite(yellowLED, LOW);
delay(500);
digitalWrite(blueLED, HIGH);
delay(1000);
digitalWrite(blueLED, LOW);
delay(500);
}
}
Future Improvements:
In the future, I want to uphold and develop the concept Moresby including an analog sensor that detects light. When the light shines, “the sun” – yellow LED – would turn on, and when the light does not shine, “the moon” – blue LED – would turn on.