420
이 기사에서는 Aurdino Uno를 사용하여 조명 ON/OFF를 위한 푸시 버튼 제어 시스템을 만드는 방법을 배우게 됩니다.
버튼만 클릭하면 불이 켜지는 것을 원하시나요? 이 프로젝트는 Arduino Uno를 사용하여 LED가 작동되는 간단한 푸시 버튼 제어 시스템 개발의 단계별 프로세스를 안내합니다. Arduino와 전자공학의 위대한 세계에 대한 훌륭한 소개입니다!
필요한 하드웨어:
- 아두이노 우노
- 푸시 버튼
- 주도의
회로도 및 하드웨어 연결
푸시 버튼의 한 단자를 핀 4에 연결하고 다른 단자를 GND에 연결합니다.
버튼을 눌렀을 때 Led를 출력으로 사용하고 있으므로 원하는 필수 작업으로 교체할 수 있습니다.
암호
Arduino 코드는 푸시 버튼 제어 시스템의 기능을 정의합니다.
//Assigning the pins to variables
int led = 13;
int button_pin = 4;
// In setup() we set the button pin as a digital input and we activate the internal pull-up resistor using the INPUT_PULLUP macro, led pin as output and begin a serial communication between host and arduino to see the status.
void setup() {
pinMode(button_pin, INPUT_PULLUP);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop(){
// Read the value of the input. It can either be 1 or 0
int buttonValue = digitalRead(button_pin);
Serial.println(buttonValue);
if (buttonValue == LOW){
Serial.println(“button pressed”);
digitalWrite(led,HIGH);
}
else {
Serial.println(“button released”);
digitalWrite(led, LOW);
}
}
코드 설명
제공된 코드에는 Arduino Uno를 사용하여 푸시 버튼이 있는 LED를 제어하고 버튼 상태를 모니터링하기 위한 직렬 통신이 포함되어 있습니다. 각 진술을 이해합시다.
변수 초기화:
int led = 13;
: 이 줄은 변수에 숫자 13을 할당합니다.led
. 이는 LED에 연결된 Arduino Uno의 디지털 핀을 나타냅니다.int button_pin = 4;
: 이 줄은 변수에 숫자 4를 할당합니다.button_pin
. 이는 푸시 버튼에 연결된 디지털 핀을 나타냅니다.
설정 기능:
pinMode(button_pin, INPUT_PULLUP);
: 이 줄은button_pin
디지털 입력으로. 그만큼INPUT_PULLUP
매크로는 Arduino의 내부 풀업 저항을 활성화합니다. 이 저항은 버튼을 누르지 않을 때 일정한 HIGH 신호를 보장하여 코드를 단순화합니다.pinMode(led, OUTPUT);
: 이 줄은led
핀을 디지털 출력으로 사용하여 Arduino가 LED 상태(켜기/끄기)를 제어할 수 있도록 합니다.Serial.begin(9600);
: 이 라인은 초당 9600비트의 전송 속도로 Arduino와 컴퓨터(호스트) 간의 직렬 통신을 시작합니다. 이를 통해 Arduino에 연결된 컴퓨터 소프트웨어에서 버튼의 상태를 확인할 수 있습니다.
루프 기능:
int buttonValue = digitalRead(button_pin);
: 이 줄은 연결된 버튼의 현재 상태를 읽습니다.button_pin
그리고 그것을 변수에 저장합니다.buttonValue
. 풀업 저항으로 인해,buttonValue
버튼을 누르지 않으면 HIGH가 되고, 누르면 LOW가 됩니다.Serial.println(buttonValue);
: 이 줄은 다음의 값을 인쇄합니다.buttonValue
(1 또는 0)을 직렬 모니터에 연결하여 컴퓨터 소프트웨어에서 버튼 상태를 볼 수 있습니다.if (buttonValue == LOW) { ... } else { ... }
: 값을 확인하는 if-else 문입니다.buttonValue
.- 만약에
buttonValue
LOW(버튼을 눌렀다는 의미):Serial.println(“button pressed”);
: 이 줄은 “버튼을 눌렀습니다”를 직렬 모니터에 인쇄합니다.digitalWrite(led, HIGH);
: 이 라인은 다음을 설정하여 LED를 켭니다.led
HIGH로 고정합니다.
- 그렇지 않은 경우(버튼을 누르지 않았음을 의미):
Serial.println(“button released”);
: 이 줄은 “버튼 해제됨”을 직렬 모니터에 인쇄합니다.digitalWrite(led, LOW);
: 이 라인은 다음을 설정하여 LED를 끕니다.led
LOW로 고정하세요.
- 만약에