방향(+, -)이 있는 전자 부품
순방향으로 전압을 가하면 빛이나는 반도체
LED: 빛(Light)을 내는(Emitting) 다이오드(Diode)
LED는 보통 2V 내외에서 동작한다.
그 이상의 전압을 가하면 타버린다.
아두이노의 출력은 5V이다.
저항이 3V를 감당하고, LED에 2V정도 공급하려면?
200~300옴 정도의 저항을 직렬로 달아준다.
// 설정함수: 한번만 실행
void setup() {
// 내장LED(LED_BUILTIN)와 연결된 디지털핀을 출력으로 설정
pinMode(LED_BUILTIN, OUTPUT);
}
// 루프함수: 영원히 계속 실행
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED 켜기(HIGH는 5V 전압)
delay(1000); // 1초(1000밀리초) 동안 기다림
digitalWrite(LED_BUILTIN, LOW); // LED 끄기(LOW는 0V 전압)
delay(1000); // 1초(1000밀리초) 동안 기다림
}
[질문] 위 세개의 회로는 서로 같은가?
동작전압: 5V
GND: GND
R : 빨강
Y : 노랑
G : 초록
녹색(2초) → 노랑(0.5초) → 빨강(2초)
능동부저, 수동부저 구별하기 [바로가기]
1초에 한번씩 비프음을 발생하는 buzzer() 함수 작성
n회 비프음 발생 beep(n) 작성
#define piezoPin 2 // 부저
void setup() {
pinMode(piezoPin, OUTPUT);
}
void loop() {
//buzzer();
beep(3);
delay(1000);
}
// 부저가 1초 간격으로 동작
void buzzer(){
digitalWrite(piezoPin , HIGH);
delay(1000);
digitalWrite(piezoPin , LOW);
delay(1000);
}
// 비프음 n회 발생
void beep(int n) {
for (int i = 0; i < n; i++) {
digitalWrite(piezoPin , HIGH); // 비프 울림
delay(20);
digitalWrite(piezoPin , LOW); // 비프 꺼짐
if(n>1) delay(30);
}
}