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가 가장 길다.

'학교수업' 카테고리의 다른 글

가상현실프로그래밍 2주차  (0) 2021.09.16
정보보호개론 2주차  (0) 2021.09.15
사물인터넷의이해 2주차  (0) 2021.09.12
객체지향프로그래밍 2주차  (0) 2021.09.10
가상현실프로그래밍 1주차  (0) 2021.09.09

+ Recent posts