int i = 0; char buf[20]; int color[5]; // NeoPixel Ring simple sketch (c) 2013 Shae Erisson // Released under the GPLv3 license to match the rest of the // Adafruit NeoPixel library #include #ifdef __AVR__ #include // Required for 16 MHz Adafruit Trinket #endif // Which pin on the Arduino is connected to the NeoPixels? #define PIN 16 // On Trinket or Gemma, suggest changing this to 1 // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 4// Popular NeoPixel ring size // When setting up the NeoPixel library, we tell it how many pixels, // and which pin to use to send signals. Note that for older NeoPixel // strips you might need to change the third parameter -- see the // strandtest example for more information on possible values. Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRBW + NEO_KHZ800); #define DELAYVAL 500 // Time (in milliseconds) to pause between pixels void setup() { // These lines are specifically to support the Adafruit Trinket 5V 16 MHz. // Any other board, you can remove this part (but no harm leaving it): #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // END of Trinket-specific code. Serial.begin(115200); pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) pixels.show(); // Turn OFF all pixels ASAP pixels.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) } void loop() { if (Serial.available()) { pixels.clear(); // Set all pixel colors to 'off' buf[i] = Serial.read(); if (buf[i] == 'e') { // set 'e' at the end of the last caracter buf[i] = '\0'; Serial.println(buf); color[0] = atoi(strtok(buf, ",")); color[1] = atoi(strtok(NULL, ",")); // use NULL from second group color[2] = atoi(strtok(NULL, ",")); pixels.setPixelColor(0, color[0], color[1], color[2], 0); pixels.setPixelColor(1, color[0], color[1], color[2], 0); pixels.setPixelColor(2, color[0], color[1], color[2], 0); pixels.setPixelColor(3, color[0], color[1], color[2], 0); pixels.show(); // Send the updated pixel colors to the hardware. //send back data to processing Serial.println("color[0],color[1],color[2]"); // Serial.println(color[1]); // Serial.println(color[2]); i = 0; } else { i++; } } }