728x90
반응형

저번엔 NeoPixel 가지고 빨강, 초록, 파랑, 노랑색을 켜보았다.

이번엔 빨강 Blink, 초록 Fade in, 파랑 Fade out을 구현해보았다.

#include <Adafruit_NeoPixel.h>

int led = 11; // 11번 Pin을 +로 사용

Adafruit_NeoPixel pixels(1, led, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin();
}

void loop() {
  // 빨간색 Blink(2초)
  for(int i = 0; i <= 20; i += 1)  {
    pixels.setPixelColor(0, 250, 0, 0);
    pixels.show(); 
    delay(50);  
    pixels.setPixelColor(0, 0, 0, 0);
    pixels.show(); 
    delay(50);  
  }  
  // 초록색 Fade in(2초)
  for(int brightness = 0; brightness <= 250; brightness += 5) {
    pixels.setPixelColor(0, 0, brightness, 0);
    pixels.show(); 
    delay(40);  
  }
  // 파란색 Fade out(2초)
  for(int brightness = 250; brightness >= 0; brightness -= 5) {  
    pixels.setPixelColor(0, 0, 0, brightness);
    pixels.show(); 
    delay(40);  
  }
}

빨강색 blink는 2초동안 총 20번 껐다 켜지도록 했다.

2초 동안 초록색이 천천히 켜지고, 2초 동안 파란색이 천천히 꺼진다. 

 

잘 됨

 

728x90
반응형
728x90
반응형

NeoPixel을 사용해서 빨간색, 초록색, 파란색, 노란색, 흰색을 켜보았다.

(아두이노 extension board와 NeoPixel이 필요하고, Adafruit_NeoPixel 라이브러리를 설치해야 한다)

#include <Adafruit_NeoPixel.h> // 사용하기 전 라이브러리 설치 필수

int led = 11; // 11번 Pin을 +로 사용           

// 첫 번째 led 사용, 11번 pin 사용
Adafruit_NeoPixel pixels(1, led, NEO_GRB + NEO_KHZ800); 

void setup() {
  pixels.begin();
}

void loop() {
  pixels.setPixelColor(0, 255, 0, 0);     // 빨간색
  pixels.show(); 
  delay(1000);                            // 1초간 딜레이
  pixels.setPixelColor(0, 0, 255, 0);     // 초록색
  pixels.show(); 
  delay(1000);                            // 1초간 딜레이
  pixels.setPixelColor(0, 0, 0, 255);     // 파란색
  pixels.show(); 
  delay(1000);                            // 1초간 딜레이
  pixels.setPixelColor(0, 255, 255, 0);   // 노란색
  pixels.show(); 
  delay(1000);                            // 1초간 딜레이
  pixels.setPixelColor(0, 255, 255, 255); // 흰색
  pixels.show(); 
  delay(1000);                            // 1초간 딜레이
}

 

회로는 아래와 같이 생겼다.

회로도

실행시키면 색이 예쁘게 잘 나오는 것을 확인할 수 있다.

그냥 보면 눈이 아픈 수준이라 밝기를 255에서 100으로 줄여야 될 것 같다. 

github: https://github.com/kimjinho1/Arduino

 

kimjinho1/Arduino

Contribute to kimjinho1/Arduino development by creating an account on GitHub.

github.com

728x90
반응형
728x90
반응형

이번엔 LED 2개를 동시에 blink 해봤다. 

LED1은 1초 주기로 깜빡이고, LED2는 2초 주기로 깜빡이도록 구현해봤다. 

int LED1 = 11; // 11번 Pin을 +로 사용
int LED2 = 10; // 10번 Pin을 +로 사용

void setup() {
  // LED는 입력을 받는게 아니라 그저 출력할 뿐이므로 OUTPUT으로 설정
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT); 
}

void loop() {
  digitalWrite(LED1, HIGH); // LED1 킴
  digitalWrite(LED2, HIGH); // LED2 킴
  delay(1000);             // 1초간 딜레이
  digitalWrite(LED1, LOW);  // LED1 끔
  delay(1000);             // 1초간 딜레이
  digitalWrite(LED1, HIGH); // LED1 킴
  digitalWrite(LED2, LOW);  // LED2 끔
  delay(1000);             // 1초간 딜레이
  digitalWrite(LED1, LOW); // LED1 킴
  delay(1000);             // 1초간 딜레이
}

 

회로는 아래와 같은 느낌이다.

회로도

github: https://github.com/kimjinho1/Arduino

 

kimjinho1/Arduino

Contribute to kimjinho1/Arduino development by creating an account on GitHub.

github.com

728x90
반응형
728x90
반응형

LED가 1초 동안 켜지고 1초 동안 꺼지도록 구현해보았다(blink).

int LED = 11; // 11번 Pin을 +로 사용

void setup() {
  // LED는 입력을 받는게 아니라 그저 출력할 뿐이므로 OUTPUT으로 설정
  pinMode(LED, OUTPUT); 
}

void loop() {
  digitalWrite(LED, HIGH); // LED를 킴
  delay(1000);             // 1초간 딜레이
  digitalWrite(LED, LOW);  // LED를 끔
  delay(1000);             // 1초간 딜레이
}

 

회로는 아래와 같은 느낌이다. 

저항이 꼭 필요한 것은 아니라서, 저항 빼버리고 11번 Pin 선을 LED에 직접 박아도 잘 실행된다. 

회로도

github: https://github.com/kimjinho1/Arduino

 

kimjinho1/Arduino

Contribute to kimjinho1/Arduino development by creating an account on GitHub.

github.com

728x90
반응형

+ Recent posts