# 명칭
LED, 발광다이오드
# 기능
전기를 주면 빛을 낸다
# LED 예제
목표 : LED에 전기를 주거나 주지 않아서 깜박이게 만들기
준비물 : 아두이노 키트, LED 1개, 220옴 저항 1개
## 회로도
## 코드 (Sketch)
// 아두이노 보드의 디지털 13번 핀에 LED의 +극을 연결
// 13번 핀의 이름을 led로 할당
int led = 13;
// 초기 설정
void setup() {
// 디지털 13번 핀을 출력으로 설정
pinMode(led, OUTPUT);
}
// 반복 실행
void loop() {
digitalWrite(led, HIGH); // 전압을 1(HIGH)로 줘서 led를 켬
delay(1000); // 1초 동안 기다림
digitalWrite(led, LOW); // 전압을 0(LOW)로 줘서 led를 끔
delay(1000); // 1초 동안 기다림
}
## 코드 (codeiPlus)
## 디버깅
* 회로 확인하기
- LED의 +극이 13번 핀에, -극이 GND 핀에 제대로 연결되어 있나요?
* 코드 확인하기
- ledPin 값을 13으로 저장했는지,
- 한 번은 전기를 보내고 한 번은 전기를 보내지 않았는지?
## 시뮬레이션
목표 : LED 2개를 번갈아 가면 깜박이게 만들기
준비물 : 아두이노 보드, 브래드보드, 점퍼케이블, LED 2개, 저항(330옴) 2개
## 회로도
## 코드 (Sketch)
// code start
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delay(200);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
delay(200);
}
// code end
## 코드 (codeiPlus)
목표 : LED 1개를 서서히 켜졌다가 서서히 꺼지도록 하기
준비물 : 아두이노보드, 브래드보드, LED 1개, 저항 2200옴 1개
## 회로도
## 코드 (Sketch)
int value = 0;
int ledPin = 11;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (value = 0; value <= 255; value++) {
analogWrite(ledPin,value);
delay(10);
}
for (value = 255; value >= 0; value--) {
analogWrite(ledPin,value);
delay(10);
}
}
## 코드 (CodeiPlus)
## 디버깅
* 회로 확인하기
- LED의 +극이 11번 핀에, -극이 GND 핀에 제대로 연결되어 있나요?
- 330옴 저항과 LED의 +극이 연결되어 있나요?
* 코드 확인하기
- ledPin 값을 11으로 저장했는지,
- 반복문에 사용되는 value 값이 제대로 증가 또는 감소하나요?