우선 이전에 다루었던 스위치로 led를 제어하는 것과 다를게 없습니다
그 회로에 스위치가 하나 더 추가되었을 뿐입니다
그렇기 때문에 이 글을 보기전에 이전 글을 봐주시기 바랍니다!!
https://hoho325.tistory.com/216
회로 구성
기본적인 설명은 위 글에서 했으므로 바로 회로를 보여드리겠습니다
회로는 fritzing을 이용해 그렸습니다
스위치 하나를 똑같은 방식으로 연결하면 됩니다.
따로 동작하기 위해서 다른 5V와 GND를 이용했습니다.
gpio는 wiringpi 5번(BCM 24번)에 꽂습니다
그리고 스위치 꽂을 때 반드시 꽉 꽂으세요. 왜 안되지 해서 보니까 꽉 안꽂혀있던... ㅠㅠ
실제 꽂으면 위와 같습니다
빵판이 작은것 밖에 없어서 좀 복잡해 보이네요 ㅠㅠ
스위치 2개 이용하기 소스코드(c언어)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include <stdio.h>
#include <wiringPi.h>
#define LED 0
#define SWITCH 4
#define SWITCH2 5
int main(){
if(wiringPiSetup() == -1)
return -1;
// Mode 설정
pinMode(LED, OUTPUT);
pinMode(SWITCH, INPUT);
pinMode(SWITCH2, INPUT);
while(1){
if(digitalRead(SWITCH) == HIGH){
printf("Switch1 was pressed\n");
digitalWrite(LED, HIGH);
}
else{
printf("Switch1 was NOT pressed\n");
digitalWrite(LED, LOW);
}
if(digitalRead(SWITCH2) == HIGH){
printf("Switch2 was pressed\n");
printf("Program turn off\n");
return 0;
}
else
printf("Switch2 was not pressed\n");
delay(500);
}
return 0;
}
~
|
cs |
이 코드도 스위치 1개를 사용할때와 같고 if문이 하나 더 추가되었을 뿐입니다
하나의 스위치는 led를 제어하고
또 하나의 스위치(SWITCH2)는 프로그램을 종료합니다
뭐 다른 led를 제어할 수도 있고 여러가지 활용이 가능합니다!!
라즈베리파이 스위치 2개 이용하기 영상