Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const byte _nLED = 60; // Number of LEDs in your underlights device
- const byte _dLED = 4; // DIN Pin (PIN 4 is recommended)
- #include <Adafruit_NeoPixel.h>
- Adafruit_NeoPixel _LED = Adafruit_NeoPixel(_nLED, _dLED, NEO_GRB + NEO_KHZ800);
- // NOVATION'S PALLETE
- const byte _r[128] = {0, 28, 125, 255, 255, 255, 85, 24, 255, 255, 85, 36, 255, 255, 85, 24, 134, 81, 28, 16, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 134, 81, 24, 12, 255, 255, 85, 24, 255, 255, 85, 32, 255, 150, 117, 65, 0, 0, 0, 0, 0, 36, 125, 28, 255, 186, 174, 97, 12, 0, 0, 0, 61, 121, 174, 61, 255, 134, 113, 0, 57, 85, 53, 89, 49, 134, 210, 255, 255, 182, 142, 130, 57, 16, 12, 20, 20, 101, 166, 219, 215, 255, 158, 101, 28, 219, 125, 154, 142, 61, 113, 223, 158, 53, 24, 4, 182, 61, 178, 73};
- const byte _g[128] = {0, 28, 125, 255, 73, 0, 0, 0, 186, 81, 28, 24, 255, 255, 85, 24, 255, 255, 85, 40, 255, 255, 85, 24, 255, 255, 85, 24, 255, 255, 85, 28, 255, 255, 85, 24, 194, 166, 65, 12, 134, 85, 28, 4, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 20, 53, 81, 97, 57, 85, 81, 0, 69, 0, 125, 28, 0, 255, 235, 255, 138, 255, 166, 40, 0, 0, 24, 32, 73, 223, 255, 255, 255, 255, 255, 138, 81, 125, 28, 0, 125, 174, 255, 89, 40, 73, 77, 20, 28, 57, 0, 81, 105, 223, 223, 178, 28, 255, 255, 150, 101, 61, 113, 255, 0, 0, 206, 65, 174, 49, 93, 20};
- const byte _b[128] = {0, 28, 125, 255, 73, 0, 0, 0, 105, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 73, 0, 0, 0, 93, 24, 12, 0, 134, 85, 28, 16, 182, 150, 53, 16, 255, 255, 81, 24, 255, 255, 85, 24, 255, 255, 85, 24, 255, 255, 97, 45, 255, 255, 85, 24, 134, 81, 28, 16, 0, 0, 0, 0, 0, 53, 125, 255, 77, 202, 125, 28, 0, 45, 4, 8, 0, 134, 255, 255, 255, 255, 121, 0, 0, 4, 20, 0, 36, 109, 202, 255, 194, 231, 255, 89, 0, 0, 0, 4, 0, 12, 53, 40, 89, 24, 8, 61, 24, 36, 45, 12, 45, 105, 186, 255, 255, 61, 113, 255, 0, 0, 0, 0, 0, 0, 0, 0};
- const byte _pStart = 36; // First note in array
- bool update = false;
- void noteOn(byte ch, byte p, byte v) {
- _LED.setPixelColor(p - _pStart, _r[v], _g[v], _b[v]);
- update = true;
- }
- void noteOff(byte ch, byte p, byte v) {
- _LED.setPixelColor(p - _pStart, 0, 0, 0);
- update = true;
- }
- void sysEx(byte *data, unsigned int length) {
- if (length == 6) {
- _LED.setPixelColor(*(data+1) - _pStart, *(data+2), *(data+3), *(data+4));
- update = true;
- }
- }
- void setup() {
- _LED.begin();
- _LED.show();
- usbMIDI.setHandleNoteOn(noteOn);
- usbMIDI.setHandleNoteOff(noteOff);
- usbMIDI.setHandleSystemExclusive(sysEx);
- }
- void loop() {
- while (usbMIDI.read());
- if (update) {
- _LED.show();
- update = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement