부품설명

자주 사용하는 부품들의 사용법에 대하여 알아봅니다.

LED 깜박이기

2014-07-25 02:51:04

개요

 

이번에는 LED 하나를 연결한 후 연결된 LED의 깜박임을 조절해 보겠습니다.

키보드 caps lock 키를 누를 때 켜지는 빛부터
크리스마스 장식 전구까지 모두 LED를 활용 한 것입니다.
이처럼 LED는 우리 주변에서 흔히 사용됩니다.

출처 : 위키피디아


     

출처 : www.bitrebels.com / www.ecouterre.com / www.karnar.com
 
 
LED의 종류가 다양한 만큼 활용할 수 있는 곳도 많이 있습니다.
신발, 옷 뿐만이 아니라 여러분이 빛을 내고 싶은 어느 곳이든지 적용할 수 있습니다.

LED 한 개를 연결하고 밝히는 법을 배운다면 여러개를 밝히는 것 또한 쉬울 것입니다.

이제부터 실습을 해봅시다.
  1. 먼저 브레드보드 레이아웃을 보고 부품들을 연결하세요.
  2. 연결 후, 스케치를 복사한 후 아두이노에 업로드 하세요.

실습 후, 회로와 관련된 지식이나 소프트웨어 지식이 없이도 

몇 분만에 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

 

 

 

 

하드웨어 making

 

브레드보드

 

전자 회로도

 

센서 연결

LED 긴 핀(+) 아두이노 13번 핀
LED 짧은 핀(-) 저항

 * LED 색깔은 상관없습니다.
  

 

 

소프트웨어 coding

 

// 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);		
}

 

 

 

 

소프트웨어 & 하드웨어 설명

 

1. 사전설명

스케치와 회로도를 같이 보면서 설명을 하겠습니다.

우선, 스케치에서 보이는 //, /* */는 주석입니다.

부연 설명들을 적어 놓는 것으로 스케치가 업로드 될 때 //, /* */ 부분은 검증되지 않습니다. 

또 스케치를 볼 때 주석을 참고해서 보면 이해하기 쉬울 것입니다. 

 

위의 브레드보드 레이아웃이나 회로도를 보면, LED와 아두이노 UNO의 디지털 13번 핀이 연결되어 있습니다. 

디지털 13번 핀에서 출력되는 디지털 값에 의해서 LED의 on/off가 결정될 것입니다. 

 

2. 스케치 

1. LED와 13번 연결하기:

처음에 led라는 변수가 나옵니다. 이 변수에는 13이라는 숫자가 저장됩니다.
나중에 디지털 13번 핀에 관한 설정을 할 때 13이라는 숫자 대신 사용될 것 입니다.

 

// LED를 디지털 13번 핀에 연결합니다. 
int  led = 13;

 

// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
void setup() {
  // 디지털 13번핀을 출력 핀으로 설정합니다. 
  pinMode(led, OUTPUT);   
}
 
 
2. setup함수를 통한 초기화 : 

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);    
}
 
 

3. loop함수를 통한 아두이노 동작시키기 :

loop함수도 setup( )처럼 필수로 존재해야 하며, 전원이 꺼질 때 까지 무한히 실행됩니다.

만약 loop()안에 LED를 ON/OFF 하는 것을 적어두었다면 계속해서 실행되기 때문에 LED가 계속 켜졌다 꺼짐을 반복할 것입니다. 즉 깜박거리게 될 것입니다.

 

digitalWrite함수는 특정핀의 출력값을 결정합니다.

HIGH이면 연결된 전압을  LOW이면 0V를 출력시킵니다.

이를 통해서 LED 점등을 조절 할 수 있습니다.

delay함수는 일시정지 같은 기능으로 1000은 1초를 의미합니다.

만약 빨리 깜박이게 하려면 숫자를 줄이면 됩니다. 

 


 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

LED, 아두이노

박병욱 2016-11-25 16:28:17

남들 다하는 아두이노 이제 나도 시작합니다