Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Section #3

❖ make the led on and off by pushing the button


int RedLed = 13;
int YellowLed = 12;
int GreenLed = 8;
int Button = 2;
bool toggle = 0;
void setup()
{
Serial.begin(9600);
pinMode(Button, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(GreenLed, OUTPUT);
}
void loop()
{
Serial.println(digitalRead(2));
if(digitalRead(2) == 1){
toggle = !(toggle); }
digitalWrite(RedLed, toggle);
while(digitalRead(2) == 1){
delay(500);
}}
❖ first we want to print the toggle value:
int RedLed = 13;
int YellowLed = 12;
int GreenLed = 8;
int Button = 2;
int toggle = 0;

void setup()
{
Serial.begin(9600);
pinMode(Button, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(GreenLed, OUTPUT);
}
void loop(){
if(digitalRead(2) == 1){
toggle+=1;
if(toggle == 4){
toggle = 0; }
while(digitalRead(2) == 1){
delay(50); }
Serial.println(toggle); }
}
❖ using button to switch among leds:
int RedLed = 13;
int YellowLed = 12;
int GreenLed = 8;
int Button = 2;
int toggle = 0;

void setup(){
Serial.begin(9600);
pinMode(Button, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(GreenLed, OUTPUT);
}
void loop(){
if(digitalRead(2) == 1){
toggle+=1;
if(toggle == 4){
toggle = 0; }
while(digitalRead(2) == 1){
delay(50); }
}
if(toggle < 4){
SwitchLamps(toggle); }}
void SwitchLamps(int s){
switch(s){
case 0:
Control(0,0,0);
break;
case 1:
Control(1,0,0);
break;
case 2:
Control(0,1,0);
break;
case 3:
Control(0,0,1);
break;
}
}
void Control(int s1, int s2, int s3){
digitalWrite(RedLed, s1);
digitalWrite(YellowLed, s2);
digitalWrite(GreenLed, s3);
}
❖ add the leds will on in dynamic mood:
<adding counter>
int RedLed = 13;
int YellowLed = 12;
int GreenLed = 8;
int Button = 2;
int toggle = 0;
int counter = 0;

void setup(){
Serial.begin(9600);
pinMode(Button, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(GreenLed, OUTPUT);
}

void loop(){
if(digitalRead(2) == 1){
toggle+=1;
if(toggle > 4){
toggle = 0; }
while(digitalRead(2) == 1){
delay(50); } }
if(toggle < 4){
SwitchLamps(toggle);
}else{
SwitchLamps(counter);
counter+=1;
if(counter > 4){
counter = 0;
}
delay(500); } }

void SwitchLamps(int s){


switch(s){
case 0:
Control(0,0,0);
break;
case 1:
Control(1,0,0);
break;
case 2:
Control(0,1,0);
break;
case 3:
Control(0,0,1);
break; } }
void Control(int s1, int s2, int s3){
digitalWrite(RedLed, s1);
digitalWrite(YellowLed, s2);
digitalWrite(GreenLed, s3); }
❖ using millis time:
int RedLed = 7;
int YellowLed = 12;
int GreenLed = 8;
int BlueLed = 13;
int Button = 2;
int toggle = 0;
int counter = 0;
unsigned long previousTime = 0;
unsigned long delayTime = 50;

void setup() {
Serial.begin(9600);
pinMode(Button, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(YellowLed, OUTPUT);
pinMode(GreenLed, OUTPUT); }

void loop() {
if(digitalRead(2) == 1){
toggle+=1;
if(toggle > 4){
toggle = 0; }
while(digitalRead(2) == 1){
delay(50); } }
if(toggle < 4){
SwitchLamps(toggle);
}else{
unsigned long currentTime = millis();
if(currentTime - previousTime > delayTime){
previousTime = currentTime;
SwitchLamps(counter);
counter+=1;
if(counter > 4){
counter = 0; }
}}
Serial.println(toggle1); }
void SwitchLamps(int s){
switch(s){
case 0:
Control(0,0,0);
break;
case 1:
Control(1,0,0);
break;
case 2:
Control(0,1,0);
break;
case 3:
Control(0,0,1);
break; } }
void Control(int s1, int s2, int s3){
digitalWrite(RedLed, s1);
digitalWrite(YellowLed, s2);
digitalWrite(GreenLed, s3);
}

You might also like