S0,S1푸쉬스위치가 있고 RGB LED가있는데
s0는 On/OFF
s1는 RGB 모드변환할때
S0는 토글스위치로 한번누르면 ON OFF되도록하고
s1은 전원스위치가 ON이면 무한으로 깜빡이면서 누르면 모드변환
전원스위치가 OFF이면 한번 깜빡이면서 누르면 모드변환
이렇게 짜려고하는데 전원 OFF일때 모드변환은 잘되거든? 근데 전원버튼 누르면 ON이안됨
결론은 토글스위치를 못만들겠는데 어떻게 만듬?...
int s0,s1,m;
void LED_R(void){ //실행함수들
while(1){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
digitalWrite(12,LOW);
digitalWrite(11,LOW);
m=1;
}
void LED_G(void){
digitalWrite(13,LOW);
while(1){
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
delay(1000);
}
digitalWrite(11,LOW);
m=2;
}
void LED_B(void){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
while(1){
digitalWrite(11,HIGH);
delay(1000);
digitalWrite(11,LOW);
delay(1000);
m=0;
}
}
void LED_R2(void){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
m=1;
Serial.println("LED0 R");
}
void LED_G2(void){
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
m=2;
Serial.println("LED0 G");
}
void LED_B2(void){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
delay(1000);
digitalWrite(11,LOW);
m=0;
Serial.println("LED0 B");
}
void setup() {
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
s0=0;
s1=0;
m=0;
}
void loop() {
int a;
s0=digitalRead(2);
s1=digitalRead(3);
if(s0 == 0){
if(a == 0){
a=1;
Serial.println("ON");}
else{
a=0;
Serial.println("OFF");}
} //스위치1 -토글스위치만들예정
if(a==0){
if(s1 == 0){
if(m == 0){
LED_R2();
}
else if(m == 1)
{
LED_G2();
}
else if(m == 2){
LED_B2();
}
}
}
if(a==1){
if(s1 == 0){
if(m == 0)
{
LED_R();
}
else if(m == 1)
{
LED_G();
}
else if(m == 2)
{
LED_B();
}
}
}
delay(50);
}
댓글 0