#include SoftwareSerial serial_neo(1,0); //tx, rx #include #ifdef __AVR__ #include // Required for 16 MHz Adafruit Trinket #endif // Which pin on the Arduino is connected to the NeoPixels? #define PIN 6 // On Trinket or Gemma, suggest changing this to 1 // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 12 // 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_GRB + NEO_KHZ800); #define DELAYVAL 500 // Time (in milliseconds) to pause between pixels void setup() { serial_neo.begin(9600); // 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. pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) } byte average; void loop(){ pixels.clear(); // Set all pixel colors to 'off' if (serial_neo.available() > 0) { // if we are receiving data from de sensor... average = serial_neo.read(); if (average > 75 ) { pixels.setPixelColor(0, pixels.Color(0, 150, 0)); pixels.setPixelColor(1, pixels.Color(0, 150, 0)); pixels.setPixelColor(2, pixels.Color(0, 150, 0)); pixels.setPixelColor(3, pixels.Color(0, 150, 0)); pixels.setPixelColor(4, pixels.Color(0, 150, 0)); pixels.setPixelColor(5, pixels.Color(0, 150, 0)); pixels.setPixelColor(6, pixels.Color(0, 150, 0)); pixels.setPixelColor(7, pixels.Color(0, 150, 0)); pixels.setPixelColor(8, pixels.Color(0, 150, 0)); pixels.setPixelColor(9, pixels.Color(0, 150, 0)); pixels.setPixelColor(10, pixels.Color(0, 150, 0)); pixels.setPixelColor(11, pixels.Color(0, 150, 0)); pixels.show(); // Send the updated pixel colors to the hardware. delay(DELAYVAL); // Pause before next pass through loop } else if (average <= 75) { pixels.setPixelColor(0, pixels.Color(150, 0, 0)); pixels.setPixelColor(1, pixels.Color(150, 0, 0)); pixels.setPixelColor(2, pixels.Color(150, 0, 0)); pixels.setPixelColor(3, pixels.Color(150, 0, 0)); pixels.setPixelColor(4, pixels.Color(150, 0, 0)); pixels.setPixelColor(5, pixels.Color(150, 0, 0)); pixels.setPixelColor(6, pixels.Color(150, 0, 0)); pixels.setPixelColor(7, pixels.Color(150, 0, 0)); pixels.setPixelColor(8, pixels.Color(150, 0, 0)); pixels.setPixelColor(9, pixels.Color(150, 0, 0)); pixels.setPixelColor(10, pixels.Color(150, 0, 0)); pixels.setPixelColor(11, pixels.Color(150, 0, 0)); pixels.show(); // Send the updated pixel colors to the hardware. delay(DELAYVAL); // Pause before next pass through loop } } }