1 //버튼을 누를 때마다 LED 를 모두 켜거나 끄는 프로그램 ver.2 2 //LED 초기상태 0 0 0 0
3 //버튼 한번 누름1 1 1 1 4 //다시 한번 누름0 0 0 0 5 //다시 한번 누름1 1 1 1 6 //같은 형태로 반복함 7
8 #include <wiringPi.h>
9
10 #define BUTTON 21 //버튼이 연결된 핀번호 11 char LED[4]={27, 28, 29, 25}; //LED 가 연결된 핀번호 12 char input_last=1, input_now=1;
13
14 void init();
15 char read_button();
16
17 int main(void){
18 char led=0;
19
20 init();
21
22 while(1){
23 if(read_button()==1)
24 led=!led;
25
26 for(int i=0;i<4;i++)
27 digitalWrite(LED[i], led);
28
29 delay(20);
30 }
31 return 0;
32 } 33
34 void init() 35 {
36 wiringPiSetup();
37 pinMode(BUTTON, INPUT);
38 for(int i=0;i<4;i++){
39 pinMode(LED[i],OUTPUT);
40 digitalWrite(LED[i], LOW);
41 } 42 } 43
44 char read_button() 45 {
46 char result=0;
47
48 input_now=digitalRead(BUTTON);
49 if(input_last==1 && input_now==0) 50 result=1;
51 input_last=input_now;
52
53 return result;
54 }