새소식

라즈베리파이

라즈베리파이4b에 스위치 2개 연결하여 led 제어하기(wiringpi)

  • -

우선 이전에 다루었던 스위치로 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개 이용하기 영상

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.