바위 뚫는중

[Arduino] 아두이노 LED 블링크, 버튼 연결 저항 본문

Arduino

[Arduino] 아두이노 LED 블링크, 버튼 연결 저항

devran 2023. 3. 4. 20:07
반응형

다이오드 & LED

다이오드

양극에서 음극으로 순방향으로만 전류가 흐름

LED Light Emitting Diode 발광 다이오드

순방향 연결에서 빛을 냄

화학물질에 따라 다양한 색상이 빛을 냄

리모컨의 적외선 LED, 살균 소독용 자외선 LED 등도 존재

데이터 핀에 연결하여 비트 단위 데이터 확인

스케치의 블링크 함수

void pinMode(unit8_t pin, unit8_t mode)

  • 매개변수
    • pin: 설정하고자 하는 핀 번호
    • mode: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: HIGH(1) 또는 LOW(0)
  • 반환값: 없음

void delay(unsigned long ms)

  • 매개변수
    • ms: 밀리초 단위의 지연 시간
  • 반환값: 없음
int led = 13; //디지털 13번 핀에 LED 연결

void setup(){
	pinMode(led, OUTPUT); //13번 핀을 출력모드로 설정
}

void loop(){
	digitalWrite(led, HIGH); // HIGH = ON 출력
	delay(1000); //1000ms 1초 대기
	digitalWrite(led, LOW); // LOW = OFF 출력
	delay(1000);
}

위의 코드를 이용하면 13번 핀에 연결된 LED가 불이 켜지고 1초 대기 불이 꺼지고 1초대기를 무한 반복하게 됨

회로연결예시

다이오드 & LED

다이오드

양극에서 음극으로 순방향으로만 전류가 흐름

LED Light Emitting Diode 발광 다이오드

순방향 연결에서 빛을 냄

화학물질에 따라 다양한 색상이 빛을 냄

리모컨의 적외선 LED, 살균 소독용 자외선 LED 등도 존재

데이터 핀에 연결하여 비트 단위 데이터 확인

스케치의 블링크 함수

void pinMode(unit8_t pin, unit8_t mode)

  • 매개변수
    • pin: 설정하고자 하는 핀 번호
    • mode: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: HIGH(1) 또는 LOW(0)
  • 반환값: 없음

void delay(unsigned long ms)

  • 매개변수
    • ms: 밀리초 단위의 지연 시간
  • 반환값: 없음
int led = 13; //디지털 13번 핀에 LED 연결

void setup(){
	pinMode(led, OUTPUT); //13번 핀을 출력모드로 설정
}

void loop(){
	digitalWrite(led, HIGH); // HIGH = ON 출력
	delay(1000); //1000ms 1초 대기
	digitalWrite(led, LOW); // LOW = OFF 출력
	delay(1000);
}

위의 코드를 이용하면 13번 핀에 연결된 LED가 불이 켜지고 1초 대기 불이 꺼지고 1초대기를 무한 반복하게 됨

회로연결예시

출처: https://webnautes.tistory.com/565

13번에는 LED의 긴다리

GND에는 LED의 짧은다리를 연결해줌

이때, 긴다리와 짦은다리 사이 저항을 연결해 주면, LED에 입력되는 전류를 낮춰서 LED가 파손되는 것이 방지됨

푸시버튼 연결을 위한 데이터 입력 함수

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

int digitalRead(unit8_t pin)

  • 매개변수
    • pin: 핀 번호
  • 반환값
    • HIGH(1) 또는 LOW(0)
int pushButton = 2;
void setup() { 
	Serial.begin(9600); pinMode(pushButton, INPUT);
}
void loop() {
	int buttonState = digitalRead(pushButton); Serial.println(buttonState);
}

풀업 & 풀다운

푸시버튼은 스위치의 역할을 하는 센서로 다른 센서와 기능을 ON/OFF 시켜주는 역할을 한다!

풀업과 풀다운의 차이는 저항(레지스터)의 위치가 다르다는 것

풀업 방식: 저항 5V에 연결 / 풀다운 방식: 저항 0V에 연결

풀업

플로팅 (스위치가 0과 1이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐

풀다운

플로팅 상태의 값을 끌어 내림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 0V(GND)방향으로 흘러야 하나, 0V와 연결된 저항 때문에 흐르지 못하고 센서 출력방향으로 흘러서 센서출력 핀에서는 1(HIGH) 값을 갖게 됨

일반적으로 푸시버튼을 사용할 때 풀다운 타입이 우리가 아는 ON/OFF와 유사하다

회로연결예시

출처: https://wikidocs.net/30758

출처: https://webnautes.tistory.com/565

13번에는 LED의 긴다리

GND에는 LED의 짧은다리를 연결해줌

이때, 긴다리와 짦은다리 사이 저항을 연결해 주면, LED에 입력되는 전류를 낮춰서 LED가 파손되는 것이 방지됨

푸시버튼 연결을 위한 데이터 입력 함수

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

int digitalRead(unit8_t pin)

  • 매개변수
    • pin: 핀 번호
  • 반환값
    • HIGH(1) 또는 LOW(0)
int pushButton = 2;
void setup() { 
	Serial.begin(9600); pinMode(pushButton, INPUT);
}
void loop() {
	int buttonState = digitalRead(pushButton); Serial.println(buttonState);
}

풀업 & 풀다운

푸시버튼은 스위치의 역할을 하는 센서로 다른 센서와 기능을 ON/OFF 시켜주는 역할을 한다!

풀업과 풀다운의 차이는 저항(레지스터)의 위치가 다르다는 것

풀업 방식: 저항 5V에 연결 / 풀다운 방식: 저항 0V에 연결

풀업

플로팅 (스위치가 0과 1이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐

풀다운

플로팅 상태의 값을 끌어 내림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 0V(GND)방향으로 흘러야 하나, 0V와 연결된 저항 때문에 흐르지 못하고 센서 출력방향으로 흘러서 센서출력 핀에서는 1(HIGH) 값을 갖게 됨

일반적으로 푸시버튼을 사용할 때 풀다운 타입이 우리가 아는 ON/OFF와 유사하다

회로연결예시

출처: https://wikidocs.net/30758

다이오드 & LED

다이오드

양극에서 음극으로 순방향으로만 전류가 흐름

LED Light Emitting Diode 발광 다이오드

순방향 연결에서 빛을 냄

화학물질에 따라 다양한 색상이 빛을 냄

리모컨의 적외선 LED, 살균 소독용 자외선 LED 등도 존재

데이터 핀에 연결하여 비트 단위 데이터 확인

스케치의 블링크 함수

void pinMode(unit8_t pin, unit8_t mode)

  • 매개변수
    • pin: 설정하고자 하는 핀 번호
    • mode: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: HIGH(1) 또는 LOW(0)
  • 반환값: 없음

void delay(unsigned long ms)

  • 매개변수
    • ms: 밀리초 단위의 지연 시간
  • 반환값: 없음
int led = 13; //디지털 13번 핀에 LED 연결

void setup(){
	pinMode(led, OUTPUT); //13번 핀을 출력모드로 설정
}

void loop(){
	digitalWrite(led, HIGH); // HIGH = ON 출력
	delay(1000); //1000ms 1초 대기
	digitalWrite(led, LOW); // LOW = OFF 출력
	delay(1000);
}

위의 코드를 이용하면 13번 핀에 연결된 LED가 불이 켜지고 1초 대기 불이 꺼지고 1초대기를 무한 반복하게 됨

회로연결예시

출처: https://webnautes.tistory.com/565

13번에는 LED의 긴다리

GND에는 LED의 짧은다리를 연결해줌

이때, 긴다리와 짦은다리 사이 저항을 연결해 주면, LED에 입력되는 전류를 낮춰서 LED가 파손되는 것이 방지됨

푸시버튼 연결을 위한 데이터 입력 함수

void digitalWrite(unit8_t pin, unit8_t valude)

  • 매개변수
    • pin: 핀 번호
    • value: INPUT, OUTPUT, INPUT_PULLUP 중 하나
  • 반환값: 없음

int digitalRead(unit8_t pin)

  • 매개변수
    • pin: 핀 번호
  • 반환값
    • HIGH(1) 또는 LOW(0)
int pushButton = 2;
void setup() { 
	Serial.begin(9600); pinMode(pushButton, INPUT);
}
void loop() {
	int buttonState = digitalRead(pushButton); Serial.println(buttonState);
}

풀업 & 풀다운

푸시버튼은 스위치의 역할을 하는 센서로 다른 센서와 기능을 ON/OFF 시켜주는 역할을 한다!

풀업과 풀다운의 차이는 저항(레지스터)의 위치가 다르다는 것

풀업 방식: 저항 5V에 연결 / 풀다운 방식: 저항 0V에 연결

풀업

플로팅 (스위치가 0과 1이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐

풀다운

플로팅 상태의 값을 끌어 내림

  1. 스위치가 열려 있을 때
  2. 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
  3. 스위치가 닫혀 있을 때
  4. 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 0V(GND)방향으로 흘러야 하나, 0V와 연결된 저항 때문에 흐르지 못하고 센서 출력방향으로 흘러서 센서출력 핀에서는 1(HIGH) 값을 갖게 됨

일반적으로 푸시버튼을 사용할 때 풀다운 타입이 우리가 아는 ON/OFF와 유사하다

회로연결예시

출처: https://wikidocs.net/30758

반응형