코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-11-05 15:58:54
NO | 부품명 | 수량 | 상세설명 |
1 | iPlatz A1620 | 1 | 아두이노 |
2 | NeoPixel | 4 | stick형, adafruit |
3 | 점퍼케이블 | ||
4 | 리튬 배터리 | 1 | 3.7V |
5 | 스위치 | 1 | |
6 | 저항 | 1 | 330옴 저항 |
부품명 | iPlatz | Neopixel | 점퍼케이블 | 리튬 배터리 | 스위치 | 저항 |
부품 사진 |
#include <Adafruit_NeoPixel.h>
#define PIN 8
int pushButton = 7;
boolean onoff = false;
int prevState = 0;
int buttonState;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(32, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
strip.begin();
strip.show(); // Initialize all pixels to 'off'
pinMode(pushButton, INPUT);
}
void loop() {
buttonState = digitalRead(pushButton);
if(prevState == 0 && buttonState == 1) {
onoff = true;
prevState = 1;
}
Serial.println(onoff);
if(onoff) {
delay(1000);
rainbowCycle(20);
}
else {
for(uint16_t i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i,strip.Color(0, 0, 0));
strip.show();
}
delay(10);
}
}
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i< strip.numPixels(); i++) {
buttonState = digitalRead(pushButton);
if(buttonState == 0)
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
else if(buttonState == 1) {
prevState = 0;
onoff = false;
}
}
strip.show();
delay(wait);
}
}
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}
수박쨈