초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

아두이노 우노 R3-LED 촛불효과

2014-08-04 16:52:10

개요

 


시중에서 볼 수 있는 캔들 라이트입니다.
이 제품의 특징은 실제 촛불과 유사하게 바람에 흔들리는 불빛을 구현하는 것입니다.
아두이노에서는 짧은 코딩만으로도 불특정하게 LED의 밝기를 제어함으로써 흔들리는 불빛을 구현할수 있습니다.
그럼 실습을 통해 적색과 노란색 LED를 혼합하여 촛불의 색을 구현하고, 자신만의 캔들라이트를 만들어 봅시다.


 

 

 

 

 

미리보기 동영상


 

 

 

 

 

부품목록

 

본 학습에는 총 5종류의 부품이 필요합니다.

 

NO 부품명 수량 상세설명
1 아두이노 우노 R3 1 아두이노
2 브레드 보드 1 브레드 보드
3 5mm Red LED 1 LED
4 5mm Yellow LED 2 LED
5 220Ω 저항 3 저항
7 점퍼 케이블 7 점퍼 케이블

 

  아두이노 우노 R3 브레드 보드 5mm Red LED 5mm Yellow LED 220Ω 저항 점퍼 케이블
P
A
R
T
S


x 1



x 1



x 1



x 2



x 3



x 7

 

 

 

 

 

 

하드웨어 making


브레드보드


 

전자 회로도

 

소프트웨어 coding

 

아래의 코드를 아두이노에 업로드 합니다.

 

// LED Fire Effect
// 출처 - http://www.instructables.com/id/Realistic-Fire-Effect-with-Arduino-and-LEDs/

int ledPin1 = 10;//10번핀을 ledPin1로 선언
int ledPin2 = 9;//9번핀을 ledPin2로 선언
int ledPin3 = 11;//11번핀을 ledPin3로 선언

void setup()
{
pinMode(ledPin1, OUTPUT);//ledPin1을 출력으로 설정합니다.
pinMode(ledPin2, OUTPUT);//ledPin2를 출력으로 설정합니다.
pinMode(ledPin3, OUTPUT);//ledPin3을 출력으로 설정합니다.
}

void loop() {
analogWrite(ledPin1, random(120)+135);//0부터119까지의 임의의 값과 135 고정값을 더한 값을 출력합니다.
analogWrite(ledPin2, random(120)+135);
analogWrite(ledPin3, random(120)+135);
delay(random(100));//0부터 99까지 임의의 값을 대기합니다.
}
 

 

 

 

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


Random()함수는 가상의 난수를 생성합니다.
random(max) 처럼 최대값을 설정하거나,
random(min, max)  최소값과 최대값을 설정할수 있습니다.
랜덤값은 최소값과 최대값 사이에 -1 한 난수로 생성됩니다.

 

 

void loop() {
analogWrite(ledPin1, random(120)+135);//0부터119까지의 임의의 값과 135 고정값을 더한 값을 출력합니다.
analogWrite(ledPin2, random(120)+135);
analogWrite(ledPin3, random(120)+135);
delay(random(100));//0부터 99까지 임의의 값을 대기합니다.


0부터 119사이의 임의의 값과 135의 고정값을 더하여 엘이디의 밝기 값을 출력하였습니다.
이는 LED가 완전히 꺼지는 경우를 제한합니다.

 

 

 

 

 

kocoafabeditor

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

LED, 아두이노