// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library
#include <Adafruit_NeoPixel.h>
#define PIN 10
#define NUMPIXELS 24
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
uint32_t counter;
uint16_t fakeMinutes, fakeHours;
char buffer[6];
void iterate_pixels(uint8_t index)
{
if (index == 0) {
pixels.clear();
pixels.show();
return;
}
for (int i = 0; i < index; i++) {
pixels.setPixelColor(i, Adafruit_NeoPixel::Color(255, 0, 255));
pixels.show();
}
}
void setup() {
Serial.begin(9600);
pixels.begin(); // This initializes the NeoPixel library.
}
void loop() {
snprintf(buffer, sizeof(buffer), "%02d:%02d", fakeHours, fakeMinutes);
Serial.println(buffer);
counter++;
fakeMinutes = counter % 60;
fakeHours = trunc(counter / 60);
static int oldNumHalfHour = -1;
int numHalfHour = fakeHours * 2 + (fakeMinutes > 30);
if (oldNumHalfHour != numHalfHour) {
oldNumHalfHour = numHalfHour;
Serial.print("Contatore mezzore: ");
Serial.println(numHalfHour);
iterate_pixels(numHalfHour);
}
delay(500);
}