ArduinoでNeopixcel SK6812を動かす [Arduino]
今回は、Arduino・M5Stack・M5StickCでNeopixcelを動かしました。
配線
制御側
GNDーGND(黒線)
GPIO(どれか)ー制御ピン(緑線)
電源側
(モバイルバッテリー)
5V -5V(赤線)
GNDーGND(黒線)
絵は後程記載します
Adafruit_NeoPixel.hは、あらかじめライブラリーマネージャーからダウンロードしておきましょう
ソースコード
M5Stack・M5Stickを使うときはヘッダーを忘れずに
ポイント
明るさを暗くするには色を混ぜる量をすべて同じ比で減らす
動かすと、LEDが順番にずれながらひかっていきます
配線
制御側
GNDーGND(黒線)
GPIO(どれか)ー制御ピン(緑線)
電源側
(モバイルバッテリー)
5V -5V(赤線)
GNDーGND(黒線)
絵は後程記載します
Adafruit_NeoPixel.hは、あらかじめライブラリーマネージャーからダウンロードしておきましょう
ソースコード
#include <M5StickC.h> #include <Adafruit_NeoPixel.h> #define PIN 0 //信号端子のピン番号 #define LED_NUM 50 //LEDの数 Adafruit_NeoPixel ledtape = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800); //3つめのパラメータは使うLEDテープの制御ICがWS2812ならNEO_KHZ800 / WS2811ならNEO_KHZ400 void setup() { M5.begin(); ledtape.begin(); ledtape.show(); //一旦全てOFFの状態で反映 } void loop() { uint16_t i, j; for(j=0; j <256; j++) { for(i=0; i < ledtape.numPixels(); i++) { ledtape.setPixelColor(i, rotateColor((((i) * 256 / ledtape.numPixels()) + j) & 255)); } ledtape.show(); delay(0); } } //RGBの色の移り変わり関数 uint32_t rotateColor(byte WheelPos) { byte n; n = 10; if(WheelPos < 85) { return ledtape.Color((WheelPos * 3) / n, (255 - WheelPos * 3) / n, 0); } else if(WheelPos < 170) { WheelPos -= 85; return ledtape.Color((255 - WheelPos * 3) / n, 0, (WheelPos * 3) / n); } else { WheelPos -= 170; return ledtape.Color(0, (WheelPos * 3) / n, (255 - WheelPos * 3) / n); } }
M5Stack・M5Stickを使うときはヘッダーを忘れずに
ポイント
明るさを暗くするには色を混ぜる量をすべて同じ比で減らす
動かすと、LEDが順番にずれながらひかっていきます
2021-01-16 13:50
nice!(0)
コメント(0)
コメント 0