#include "Adafruit_NeoPixel.h" #define PIN 11 // Parameter 1 = number of pixels in strip // Parameter 2 = 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) Adafruit_NeoPixel strip = Adafruit_NeoPixel(16, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' for ( int i = 2; i<10; i++) pinMode(i, OUTPUT); for ( int i = 2; i<10; i++) digitalWrite(i, HIGH); Serial.begin(57600); for ( int i = 0; i<16; i++) strip.setPixelColor(i, 10, 10, 10); strip.show(); DDRE |= B10111111; // PORTB |= B11110000; // DDRB |= B11110000; } void refresh1(int time) { PORTD &= B11111110; if (time > 0) delayMicroseconds(time); PORTD |= B10010011; PORTD &= B11111101; if (time > 0) delayMicroseconds(time); PORTD |= B10010011; PORTD &= B11101111; if (time > 0) delayMicroseconds(time); PORTD |= B10010011; PORTD &= B01111111; if (time > 0) delayMicroseconds(time); PORTD |= B10010011; PORTB &= B11101111; if (time > 0) delayMicroseconds(time); PORTB |= B11110000; PORTB &= B11011111; if (time > 0) delayMicroseconds(time); PORTB |= B11110000; PORTB &= B10111111; if (time > 0) delayMicroseconds(time); PORTB |= B11110000; PORTB &= B01111111; if (time > 0) delayMicroseconds(time); PORTB |= B11110000; } void refresh2(unsigned long time) { PORTD &= B01101100; //if (time > 0) delayMicroseconds(time); delay(1000); PORTD |= B10010011; PORTB &= B00001111; //if (time > 0) delayMicroseconds(time); delay(1000); PORTB |= B11110000; } void refresh3(unsigned long time) { if (time > 0) delayMicroseconds(time); //delay(1000); PORTE |= B01000000; if (time > 0) delayMicroseconds(time); //delay(1000); PORTE &= B10111111; //Serial.println(analogRead(A5)); // if (time > 0) delayMicroseconds(time); // //delay(1000); // PORTD |= B10010011; // PORTB &= B11011111; // if (time > 0) delayMicroseconds(time); // //delay(1000); // PORTB |= B00100000; } unsigned long time = 0; void loop() { //if (time > 0) delayMicroseconds(time); //delay(1000); PORTE |= B01000000; //if (time > 0) delayMicroseconds(time); //delay(1000); PORTE &= B10111111; //refresh1(0); // refresh3(10); } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i