Download presentation
Presentation is loading. Please wait.
Published bySri Sanjaya Modified 6년 전
1
컬러 LED바 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 컬러 LED바 이해 및 프로그램 실습 응용 작품 만들기
2
준비물 준비하기 아두이노 보드 (SPL-Duino V2 초보자용 보드) USB 케이블 키패드센서, 컬러 Led바
브레드보드 실습 키트
3
브레드보드 배선 구성하기 전원 연결 아래 그림과 같이 브레드 보드를 연결해줍니다.
4
브레드보드 배선 구성하기 3핀 LED바 준비하기 디지털 센서 센서 선(s)으로 센서의 데이터 값을 읽고 쓰고 합니다.
빨간색 선은 V (Voltage)를 의미합니다. 검정색 선은 G (GND)를 의미합니다.
5
브레드보드 배선 구성하기 센서 연결 LED바를 아래 그림과 같이 연결해줍니다. LED 소자 : D2번핀에 연결 흰색 – 초록색
빨간색 – 빨간색 검은색 – 검은색
6
for(i=0; i<=10; i++) for반복문 이해하기 for 반복문이란? for 반복문
- 지정변수의 초기값을 설정하고 반복을 멈출 곳을 설정(종결값)하여 변수의 증감을 설정 - 지정변수의 값을 변화조건에 의해 증감을 시켜 종결값에 도달하게 되면 반복을 멈춤 for(i=0; i<=10; i++) 초기값 종결값 변화조건
7
for반복문 이해하기 for(i=0; i<=10; i++) { } for 반복문 i는 0으로 초기값을 설정하고
해당 명령이 실행될 때마다 {}안에 있는 문장을 실행합니다.
8
for반복문 이해하기 명령문_1; for(i=0; i<=10; i++) { 명령문_2; 명령문_3; } 명령문_4;
조건에 부합하여 for문을 나가 명령문_4를 실행하게 됩니다. i가 0이고 10보다 작거나 같으니 i++을 해줍니다. 이 동작을 할 때마다 명령문_2와 명령문_3이 실행됩니다.
9
for반복문 이해하기 for(i=0; i<=10; i++) 명령문_1; 명령문_2 for 반복문 for문의 사용법
단일 명령어를 수행할 경우 for문안에 명령문이 하나일 경우 for문 바로 다음에 있는 명령문 하나만 반복하게 됩니다. for문이 실행되어 명령문_1;을 반복하고 명령문_2;를 실행하게 됩니다. for(i=0; i<=10; i++) 명령문_1; 명령문_2
10
for반복문 이해하기 for(i=0; i<=10; i++) { 명령문_1; 명령문_2; } for 반복문
2개 이상의 명령어를 수행할 경우 2개 이상의 명령문을 반복시키기 위해선 {}를 사용해줘야 합니다. 사용하지 않을 시 하나의 명령문만 반복되게 됩니다. {}사용함으로써 {}안에 있는 모든 명령문이 반복하게 됩니다. for(i=0; i<=10; i++) { 명령문_1; 명령문_2; }
11
for반복문 이해하기 for 반복문 void setup() { Serial.begin(115200); } void loop()
for (int i = 1;i <= 10;i=i+1) Serial.println(i); delay(10000); 소스를 실행시켜 i의 변화되는 모습을 관찰할 수 있습니다. for의 초기값이랑 조건을 변화 시켜 직접 확인 해보십시오.
12
라이브러리 추가하기 LED바 라이브러리 추가하기 http://nulsom.com/source/NS_Rainbow.zip
위 주소를 입력하여 파일을 다운받습니다.
13
라이브러리 추가하기 LED바 라이브러리 추가하기
C:\Users\”사용자이름”\Documents\Arduino\libraries 다운받은 압축파일을 풀어서 위 경로에 복사해줍니다. 일반적으로 문서의 위치에 있습니다. “사용자이름”은 컴퓨터 로그인 네임입니다.
14
라이브러리 추가하기 LED바 라이브러리 추가하기 1 다음과 같이 예제를 확인하면 라이브러리가 추가된 것을 확인할 수 있습니다.
2 3
15
LED바 이해하기 3핀 LED바 특징 디지털 센서 - 컨트롤러 내장형 풀컬러 고휘도 LED(WS2812B) 사용
- 높은 광도로 주간에도 색상 식별이 가능 - LED 내부 컨트롤러 포함으로 LED 드라이버 회로 구성없이 사용 가능 - 마이크로 컨트롤러 포트 하나로 LED 제어 가능 - FULL COLOR 24bit RGB (16,777,216가지) 색상 표현 가능
16
LED바 이해하기 LED바 LED바 명령어 이해하기 #include <NS_Rainbow.h>
프로그램 가장 첫 줄에 써줍니다. NS_Rainbow ns_stick = NS_Rainbow(N_CELL,PIN); - LED바의 세팅 명령어 입니다. N_CELL은 LED바의 사용할 LED의 개수(한 개의 LED바는 8개의 셀) PIN은 사용할 디지털 핀 번호를 적습니다. ns_stick.begin(); - LED바 시작 명령어입니다. void setup()에서 써줍니다.
17
LED바 이해하기 LED바 LED바 명령어 이해하기 ns_stick.setColor(n, RED, GREEN, BLUE);
전부 숫자값을 입력하는 곳입니다. 첫 번째에는 몇 번째의 LED바를 사용할지 지정해 줄 수 있습니다. 참고로 0번부터 시작하니 첫번째 LED바를 사용하기 위해선 1이 아닌 0을 입력해야 합니다. RED는 빨간색의 색상값을 입력합니다. 입력값은 0~255입니다. (0,255,0,0)를 입력하였다면 LED바의 첫 번째 LED가 빨간색으로 지정됩니다. GREEN은 초록색의 색상값을 입력하는 곳입니다. BLUE는 파란색의 색상값을 입력하는 곳입니다. ns_stick.show(); - 위의 색상 명령어를 입력하고 바로 다음에 입력해줘야 하는 명령어입니다. 색상값을 세팅만 하면 표시가 되지 않습니다. ns_stick.show();를 사용해야 세팅된 색상값이 실제 표시가 됩니다. ns_stick.clear(); - LED바를 초기화 해주는 명령어입니다. 마찬가지로 이 명령어를 사용한 뒤 ns_stick.show();를 바로 써주어야 합니다.
18
LED바 이해하기 LED바 LED바 명령어 적용하기 #include <NS_Rainbow.h>
NS_Rainbow ns_stick = NS_Rainbow(8,2); void setup() { delay(100); ns_stick.begin(); } void loop() { unsigned int t = 500; ns_stick.setColor(0, 255, 0, 0); ns_stick.show(); delay(t); ns_stick.setColor(1, 0, 255, 0); ns_stick.setColor(2, 0, 0, 0); ns_stick.setColor(3, 0, 0, 255); ns_stick.setColor(4, 255, 255, 255); ns_stick.setColor(5, 255, 255, 0); ns_stick.setColor(6, 0, 255, 255); ns_stick.setColor(7, 255, 0, 255); ns_stick.clear(); 소스를 입력해서 LED바의 색상을 확인해봅니다. LED바의 헤더파일을 불러와 2번 디지털핀에 설정하여 8개의 LED바를 사용합니다. 색상값을 바꾸어 여러 가지 색상을
19
응용 작품 만들기 실습 미션) for문을 이용하여 led바가 순차적으로 켜지게 하고 전부 켜지면 led바를 전부 끄고 반복하는 문장을 만드시오
20
응용 작품 만들기 코드 예시) 실습 #include <NS_Rainbow.h>
NS_Rainbow ns_stick = NS_Rainbow(8,2); void setup() { delay(100); ns_stick.begin(); } void loop() { unsigned int t = 1000; for(int i=0; i<=7; i++) { ns_stick.setColor(0, 255, 0, 0); ns_stick.show(); delay(t); ns_stick.clear(); 코드 예시)
21
응용 작품 만들기 실습 미션) 키패드 센서를 이용하여 LED바의 색상을 바꾸는 문장을 작성하시오
22
응용 작품 만들기 코드 예시) 실습 #include <NS_Rainbow.h>
NS_Rainbow ns_stick = NS_Rainbow(8,2); int green = 0; int white = 143; int blue = 743; int yellow = 506; int red = 328; void setup() { delay(100); ns_stick.begin(); } void loop() { unsigned int t = 1000; int a = analogRead(0); if (a == green) { ns_stick.clear(); ns_stick.show(); for(int i=0; i<=7; i++) ns_stick.setColor(0, 0, 255, 0); else if (a == white) ns_stick.setColor(0, 255, 255, 255); else if (a == blue) ns_stick.setColor(0, 0, 0, 255); else if (a == yellow) ns_stick.setColor(0, 255, 255, 0); else if (a == red) ns_stick.setColor(0, 255, 0, 0); 코드 예시)
Similar presentations