코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-07-25 02:51:04
이번에는 LED 하나를 연결한 후 연결된 LED의 깜박임을 조절해 보겠습니다.
키보드 caps lock 키를 누를 때 켜지는 빛부터
크리스마스 장식 전구까지 모두 LED를 활용 한 것입니다.
이처럼 LED는 우리 주변에서 흔히 사용됩니다.
몇 분만에 LED 하나를 빛 낼 수 있다는 것을 알게 될 것입니다.
본 학습에는 총 5종류의 부품이 필요합니다.
NO | 부품명 | 수량 |
1 | 아두이노 우노 R3 | 1 |
2 | 5mm LED | 1 |
3 | 330Ω 저항 | 1 |
4 | 브레드 보드 | 1 |
5 | 점퍼 케이블 | 4 |
부품명 | 330Ω resister | Breadboard | Arduino UNO R3 | Jumper cable | LED |
파트 | X1 | X1 | X1 | X4 | X1 |
센서 연결
LED 긴 핀(+) | 아두이노 13번 핀 |
LED 짧은 핀(-) | 저항 |
* LED 색깔은 상관없습니다.
// LED를 디지털 13번 핀에 연결합니다.
int led = 13;
// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
void setup() {
// 디지털 13번핀을 출력 핀으로 설정합니다.
pinMode(led, OUTPUT);
}
// setup() 함수가 호출된 이후, loop() 함수가 호출되며,
// 블록 안의 코드를 무한히 반복 실행합니다.
void loop() {
// LED를 ON 합니다.
digitalWrite(led, HIGH);
// 1초간 대기합니다.
delay(1000);
// LED를 OFF 합니다.
digitalWrite(led,LOW);
// 1초간 대기합니다.
delay(1000);
}
스케치와 회로도를 같이 보면서 설명을 하겠습니다.
우선, 스케치에서 보이는 //, /* */는 주석입니다.
부연 설명들을 적어 놓는 것으로 스케치가 업로드 될 때 //, /* */ 부분은 검증되지 않습니다.
또 스케치를 볼 때 주석을 참고해서 보면 이해하기 쉬울 것입니다.
위의 브레드보드 레이아웃이나 회로도를 보면, LED와 아두이노 UNO의 디지털 13번 핀이 연결되어 있습니다.
디지털 13번 핀에서 출력되는 디지털 값에 의해서 LED의 on/off가 결정될 것입니다.
처음에 led라는 변수가 나옵니다. 이 변수에는 13이라는 숫자가 저장됩니다.
나중에 디지털 13번 핀에 관한 설정을 할 때 13이라는 숫자 대신 사용될 것 입니다.
// LED를 디지털 13번 핀에 연결합니다.
int led = 13;
// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
void setup() {
// 디지털 13번핀을 출력 핀으로 설정합니다.
pinMode(led, OUTPUT);
}
setup함수는 필수 함수로써, 스케치가 다시 시작 될 때 한번만 실행됩니다.
본격 작동이 시작되기 전에 지정해야 할 설정을 이 함수 안에 적으면 됩니다.
위에 setup함수 안에 pinMode함수는 특정 핀을 입력, 출력을 사용할 것인지 결정하는 것입니다.
디지털 13번 핀을 출력으로 사용할 것이므로 led와 OUTPUT이라고 입력합니다.
입력의 경우 INPUT이라고 입력하면 됩니다.
// setup() 함수가 호출된 이후, loop() 함수가 호출되며,
// 블록 안의 코드를 무한히 반복 실행합니다.
void loop() {
// LED를 ON 합니다.
digitalWrite(led, HIGH);
// 1초간 대기합니다.
delay(1000);
// LED를 OFF 합니다.
digitalWrite(led,LOW);
// 1초간 대기합니다.
delay(1000);
}
loop함수도 setup( )처럼 필수로 존재해야 하며, 전원이 꺼질 때 까지 무한히 실행됩니다.
만약 loop()안에 LED를 ON/OFF 하는 것을 적어두었다면 계속해서 실행되기 때문에 LED가 계속 켜졌다 꺼짐을 반복할 것입니다. 즉 깜박거리게 될 것입니다.
digitalWrite함수는 특정핀의 출력값을 결정합니다.
HIGH이면 연결된 전압을 LOW이면 0V를 출력시킵니다.
이를 통해서 LED 점등을 조절 할 수 있습니다.
delay함수는 일시정지 같은 기능으로 1000은 1초를 의미합니다.
만약 빨리 깜박이게 하려면 숫자를 줄이면 됩니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!