스위치를 눌렀을 때 case로 첫번째 값과 두번째 값을 기억시켜 누를 때 마다 불이 꺼지거나 켜지거나 하게 코드를 적었다. void setup() { pinMode(13,INPUT_PULLUP); pinMode(12,OUTPUT); Serial.begin(9600); } int a=0; int b=0; void loop() { Serial.println(digitalRead(13)); if(digitalRead(13) && b!=digitalRead(13)){ switch(a){ case 0:{ digitalWrite(12,1); a=1; break; } case 1:{ digitalWrite(12,0); a=0; break; } } } b=digitalRead(13);
- 초음파 센서를 추가해 거리 15 안에 들어오면 불이 켜지는 코드 (일회용 ㅜ) #define TRIG_PIN 7 #define EHCO_PIN 6 #define LED_PIN 12 void setup() { pinMode(TRIG_PIN, OUTPUT); pinMode(EHCO_PIN, INPUT); pinMode(13,INPUT_PULLUP); pinMode(12,OUTPUT); Serial.begin(9600); } int a=0; int b=0; void loop() { int distance = 0; digitalWrite(TRIG_PIN, 1); delayMicroseconds(10); digitalWrite(TRIG_PIN, 0); distance = pulseIn(EHCO_PIN, 1)/58.2; { Serial.println(digitalRead(13)); if(digitalRead(13) && b!=digitalRead(13)){ switch(a){ case 0:{ if(distance <=15);{ digitalWrite(12,1); a=1; break;} } case 1:{ if(distance <20);{ digitalWrite(12,0); a=0; break;} } } } b=digitalRead(13); }} 두 번째 코드를 했을 때 초음파로 켜지는건 처음 1번이라 많이 아쉬운 기분이 든다... 2주 뒤에 오면 이 코드를 다시 바꿔 초음파와 스위치 둘 다 동시에 작동하는 코드를 만들고싶다.
|