Project tutorial
네오픽셀을 이용한 무지개 패트병

네오픽셀을 이용한 무지개 패트병

아두이노를 이용해 네오픽셀을 반짝이게 해서 그 위에 패트병을 둬 아름답게 하면 완성!

  • 144 views
  • 0 comments
  • 0 respects

Components and supplies

Necessary tools and machines

커터칼, 종이박스, 테이프

Apps and online services

Ide web
Arduino IDE
processing

About this project

임원 수련회를 갔다 왔더니 조가 짜여있다. (준혁이는 그 날 지각해서 남겨져 있었다고 한다. 그래서 어쩌다가 이렇게 4이 모였다/이상빈은 사진담당이라 안나옵니다)

열심히 무엇을 할지 찾아보고 계시는 우리의 부회장 박성재군

그리고 마음에 드는 것을 찾으셨는지 프리징을 키고 설계도면을 그리신다.

그리고 지시의 따라 커터칼로 상자를 잘라 페트병을 올려놓을 부분을 만들고 있는 디자이너 신준혁

준혁이가 다 오리자 안에 네오픽셀, 아두이노, 배터리를 넣고 조립하고 있는 우리의 하드웨어 담당 박성재군

완성!!(중간과정이 생략된 이유는 네오픽셀 구경하다가 사진을 안찍었어요/영상이 있는데 안올려지네요. mp4파일인데)

그리고 지금까지 포트폴리오를 만들고 있는 우리 회장 민준석

Code

네오픽셀Arduino
아두이노를 이용해 네오픽셀 반짝반짝 거리게 하기
<p>#include <br>#ifdef __AVR__
  #include 
#endif</p><p>#define PIN 6</p><p>// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(36, PIN, NEO_GRB + NEO_KHZ800);</p><p>// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.</p><p>void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
  #if defined (__AVR_ATtiny85__)
    if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  #endif
  // End of trinket special code</p><p>  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}</p><p>void loop() {
  // Some example procedures showing how to display to the pixels:
  colorWipe(strip.Color(255, 0, 0), 50); // Red
  colorWipe(strip.Color(0, 255, 0), 50); // Green
  colorWipe(strip.Color(0, 0, 255), 50); // Blue
//colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW
  // Send a theater pixel chase in...
  theaterChase(strip.Color(127, 127, 127), 50); // White
  theaterChase(strip.Color(127, 0, 0), 50); // Red
  theaterChase(strip.Color(0, 0, 127), 50); // Blue</p><p>  rainbow(20);
  rainbowCycle(20);
  theaterChaseRainbow(50);
}</p><p>// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i</p><p>void rainbow(uint8_t wait) {
  uint16_t i, j;</p><p>  for(j=0; j<256; j++) {
    for(i=0; i</p><p>// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;</p><p>  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}</p><p>//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
  for (int j=0; j<10; j++) {  //do 10 cycles of chasing
    for (int q=0; q < 3; q++) {
      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, c);    //turn every third pixel on
      }
      strip.show();</p><p>      delay(wait);</p><p>      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}</p><p>//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
  for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
    for (int q=0; q < 3; q++) {
      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
      }
      strip.show();</p><p>      delay(wait);</p><p>      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}</p><p>// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}</p>

Schematics

설계도면
그렸었는데 파일이 사라져 사이트에 있는 걸로 대체합니다
Ftgwutsioxj1wos medium mc8t5sr2fc

Comments

Similar projects you might like

Kids RGB LED Star Nightlight

Project tutorial by Unexpected Maker

  • 1,852 views
  • 1 comment
  • 11 respects

LED Color Sequencer

Project tutorial by thefantasticode.Group

  • 4,648 views
  • 10 comments
  • 18 respects

Automatizing Percussion with Solenoids: "The Sound Compass"

Project tutorial by touchmysound

  • 3,535 views
  • 4 comments
  • 13 respects

Dead Bug Valentine

Project tutorial by wrightmac

  • 2,337 views
  • 1 comment
  • 15 respects

Made of Mars + Adafruit Circuit Playground Express + DFRobot

Project tutorial by Kitty Yeung

  • 786 views
  • 0 comments
  • 13 respects

Programming 8x8 LED Matrix

by SAnwandter1

  • 113,886 views
  • 26 comments
  • 105 respects
Add projectSign up / Login