일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 도커 컨테이너
- 1987파이썬
- 백준 바이러스
- CRUD
- 백준 점프
- 장애물인식프로그램 파이썬
- express
- 소프티어 지도자동구축
- jenkins
- 백준 등수매기기
- 지도자동구축 파이썬
- 소프티어 장애물인식프로그램
- 금고털이 파이썬
- 파이썬 평범한배낭
- MySQL완전삭제
- 프로그래머스
- 백준 평범한배낭
- 백준 전쟁 파이썬
- 백준 점프 파이썬
- 백준 피아노체조
- 백준 전쟁-전투
- 등수매기기 파이썬
- 파이썬데이터분석라이브러리
- express mongodb
- 백준
- 백준 예산
- MongoDB
- 백준 A->B
- 백준알파벳파이썬
- 피아노체조 파이썬
- Today
- Total
바위 뚫는중
[Arduino] 아두이노 LED 블링크, 버튼 연결 저항 본문
다이오드 & 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이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐
풀다운
플로팅 상태의 값을 끌어 내림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 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이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐
풀다운
플로팅 상태의 값을 끌어 내림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 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이 아닌 미결정 상태, 버튼을 누르지 않은)상태일 때의 값을 끌어 올림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 전류는 0V(GND)가 아닌 센서출력 방향으로 흘러서 센서출력핀에서는 1(HIGH) 값을 가짐
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 전류는 가장 전압이 낮은 지점으로 흐르고, 모든 전류는 0V(GND)방향으로 흐르게 되어 센서출력핀으로 흐르는 전류가 없기 때문에 0V(LOW) 값을 가짐
풀다운
플로팅 상태의 값을 끌어 내림
- 스위치가 열려 있을 때
- 스위치가 열려있어서 5V(VCC)와 연결되지 않게되어 전류가 센서출력방향으로 흐르지 않게 되어 센서출력핀에서는 0(LOW) 값을 갖게 됨
- 스위치가 닫혀 있을 때
- 스위치가 닫혀있어서 회로는 모두 연결되게 되어 전류는 0V(GND)방향으로 흘러야 하나, 0V와 연결된 저항 때문에 흐르지 못하고 센서 출력방향으로 흘러서 센서출력 핀에서는 1(HIGH) 값을 갖게 됨
일반적으로 푸시버튼을 사용할 때 풀다운 타입이 우리가 아는 ON/OFF와 유사하다
회로연결예시
'Arduino' 카테고리의 다른 글
[Arduino] 아두이노 시리얼 통신, 디지털 데이터 입출력 함수 (0) | 2023.03.04 |
---|---|
[Arduino] 마이크로 컨트롤러와 아두이노, IDE 설치 (0) | 2023.03.04 |