임베디드기초 2주차
1.브레드보드
부품 납땜이 없이 회로를 쉽게 구성할 수 있게 하는 전기 회로 개발 도구
프로토타이핑으로 부름
핀이 내부적으로 연결되어 각 전기/전자 부품 연결이 쉽다.
2.LED(발광다이오드)
발광다이오드(Light Emitting Diode)의 약자이다.
다른 다이오드와 마찬가지로 애노드(+)에소 캐소드(-)방향으로만 전류가 흐른다.
따라서 +,-방향 고려하여 연결하는게 중요
애노드와 캐소드
+ = 애노드 (anode)
- = 캐소드 (cathode)
위에서 봤을때 플라스틱 끝이 평평한 곳이 캐소드
다리가 긴 쪽이 애노드
일반적 LED는 2V접압 2mA의 전류 소모
아두이노는 5V 전압 사용 -> 저항을 이용하여 해결
(저항 사용하지 않고 LED 사용시 LED가 타버리거나 손상)
옴의 법칙
V=IR
V=전압 단위: V(볼트) 정의:(두 전위의 차)
I=전류 단위: A(암페어) 정의:(전위 높은곳->낮은곳)
R=저항 단위:
Ω(옴)
정의:(전류의 흐름을 방해하는 정도)
PWM(Pulse Width Modulation 펄스폭 변조)
순수 아날로그적인 제어를모방
PWM을 사용하면 디지털 신호를 아날로그 신호와 비슷하게 만들 수 있다.
PWM은 신호를켜거나 끄는 방식으로 네모파형의 듀티비를 변조하여 사용
- 듀티비(Duty Cycle) : 전체 주기에서 HIGH상태(또는 On 상태)가 차지하는 비율
아두이노 Uno에서는 ~3,~5,~6,~9,~10,~11 번 핀에서 PWM출력 가능.
0V = LOW = 0
5V = HIGH = 1
analogWrite()함수는 두 번째 인자 값에 네모파형 듀티비 지정
0 = 항상 듀티비는 0% (항상 LOW)
255 = 항상 듀티비는 100% (항상 HIGH)
127 = 50% (반 HIGH 반 LOW)
ADC출력 : 8비트 0~255
PWM사용 시기 : LED 밝기 조절, 모터 속도 조절시 사용
LED의 전류의 전압을 낮추지 않고 밝기를 어둡게 하려면?
PWM 듀티비로 LED 밝기 조절
->50% 파형으로 할 시, 눈이 자각하는 속도보다 LED가 더 빨리 깜빡여 어두워 보인다.
아두이노 네모파형 주파수 = 490Hz
주기=1초/490Hz = 1000ms/500Hz = 2ms
즉 네모파형 주기 2ms
듀티비 50% 일 경우 1ms동안 LED On 1ms동안 LED off 효과
=>너무 짧아서 어두워보임.
버튼을 누르면 작업이 되게 설정하는데 어떻게 하면 버튼 눌림을 감지하는가?
->버튼 누르면 HIGH값 인식
->버튼 누르지 않으면 연결되지 않은 플로팅 상태(floating)가 된다. (입력값 불안정)
->이 문제는 풀다운(pull-down)저항으로 해결
풀다운 저항은?
사용 안 함 => 누름 5V(HIGH) 안누름 플로팅
사용 => 누름 5V(HIGH) 안누름 0V(Low)
사용중에
누르면 전류는 저항이 거의없는 5V 경로 따라 내부 회로쪽으로 흐름
누르지 않으면 전류는 내부 회로에서 GND쪽으로 흐름 거의0V(LOW)에 가까운 전류
digitalRead함수는 켜져있나 꺼져있나를 HIGH/LOW로 받음
ex) digitalRead(BUTTON) == HIGH => 버튼이 켜져있는가?
버튼을 계속 눌러야만 LED가 켜지는 방식이 불편
=>한 번 누르면 켜지고 누르면 꺼지는 방식(toggle s/w) -> 토글 방식
문제점 : 스위치 바운싱(진동 잡음) 효과를고려해야한다!!
버튼을 누르면
이상 LOW->누름->HIGH
현실 LOW->누름->LOW와 HIGH사이를 왔다갔다(스위치 바운싱) 진동처럼 -> HIGH
이는 기계적인 현상이라 발생할 수 밖에 없다.
이를 해결하는 방식 : 디바운싱(debouncing)
1.이전 버튼 상태, 현재 버튼 상태를 저장
2.현재 버튼 상태를 읽어옴
3.입력값이 이전 버튼 상태와 다를 경우 바운싱이 끝날 때 까지 5ms(보통 스위치 바운싱의 시간)동안 기다린다.
4.5ms 후 버튼 상태를 다시 읽어 그 값을 현재 버튼 상태에 저장
5.이전 상태가 LOW 현재가 HIGH면 LED 상태 전환
6.이전 상태에 현재 상태 대입
7.단계 2부터 반복
RGB LED
내부에 R,G,B 광원이 내장
범용 캐소드 RGB LED는 다리가 4개
각 색상 애노드(+)핀 3개 공용 캐소드(-)핀 1개
캐소드(-)핀 1개 Ground가 가장 길다.