Wenn ich alles ohne Schleife mache geht es... Gibt halt mehr Code aber es Funktioniert so...
Erster Teil geschaft
Gruss
Philipp
#include <Adafruit_NeoPixel.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
#define BRIGHTNESSDAY 255 // full on
#define BRIGHTNESSNIGHT 150 // half on
#define PIN 5
#define NUMPIXELS 114
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRBW + NEO_KHZ800);
int mm1 = 0;
int hh = 0;
int mm = 0;
int ss = 0;
int mm5erRest = 0;
int mm5er = 0;
int hhdisplay = 0;
int R = 0;
int G = 0;
int B = 0;
int W = 255;
int test = 0;
void setup() {
pixels.setBrightness(BRIGHTNESSDAY);
pixels.begin();
pixels.clear();
if (! rtc.begin()) {
//Oben Links
pixels.setPixelColor(112, 255, 0, 0, 0);
// Oben Rechts
pixels.setPixelColor(113, 255, 0, 0, 0);
// Unten Rechts
pixels.setPixelColor(110, 255, 0, 0, 0);
// Unten Links
pixels.setPixelColor(111, 255, 0, 0, 0);
}
if (rtc.lostPower()) {
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
//Oben Links
pixels.setPixelColor(112, 255, 0, 0, 0);
// Oben Rechts
pixels.setPixelColor(113, 0, 255, 0, 0);
// Unten Rechts
pixels.setPixelColor(110, 0, 0, 255, 0);
// Unten Links
pixels.setPixelColor(111, 0, 0, 0, 255);
}
pixels.show();
delay(2000);
}
void loop() {
DateTime now = rtc.now();
hh = now.hour(), DEC;
mm = now.minute(), DEC;
ss = now.second(), DEC;
if (mm != mm1 ) {
if ((hh < 7) | (hh >= 19)) {
pixels.setBrightness(BRIGHTNESSNIGHT);
} else {
pixels.setBrightness(BRIGHTNESSDAY);
}
mm5erRest = mm % 5;
mm5er = mm - mm5erRest;
if (hh >= 13) {
hhdisplay = hh - 12;
}
if (mm5erRest == 0) {
pixels.clear();
}
if (mm5erRest == 1) {
//Oben Links
pixels.setPixelColor(112, R, G, B, W);
}
else if (mm5erRest == 2) {
//Oben Links
pixels.setPixelColor(112, R, G, B, W);
// Oben Rechts
pixels.setPixelColor(113, R, G, B, W);
}
else if (mm5erRest == 3) {
//Oben Links
pixels.setPixelColor(112, R, G, B, W);
// Oben Rechts
pixels.setPixelColor(113, R, G, B, W);
// Unten Rechts
pixels.setPixelColor(110, R, G, B, W);
}
else if (mm5erRest == 4) {
//Oben Links
pixels.setPixelColor(112, R, G, B, W);
// Oben Rechts
pixels.setPixelColor(113, R, G, B, W);
// Unten Rechts
pixels.setPixelColor(110, R, G, B, W);
// Unten Links
pixels.setPixelColor(111, R, G, B, W);
}
if (mm5er == 5 || mm5er == 25 || mm5er == 35 || mm5er == 55) {
//FÜF
pixels.setPixelColor(0, R, G, B, W);
pixels.setPixelColor(1, R, G, B, W);
pixels.setPixelColor(2, R, G, B, W);
}
if (mm5er == 10 || mm5er == 50) {
//ZÄÄ
pixels.setPixelColor(19, R, G, B, W);
pixels.setPixelColor(20, R, G, B, W);
pixels.setPixelColor(21, R, G, B, W);
}
if (mm5er == 15 || mm5er == 45) {
//VIERTU
pixels.setPixelColor(11, R, G, B, W);
pixels.setPixelColor(12, R, G, B, W);
pixels.setPixelColor(13, R, G, B, W);
pixels.setPixelColor(14, R, G, B, W);
pixels.setPixelColor(15, R, G, B, W);
pixels.setPixelColor(16, R, G, B, W);
}
if (mm5er == 20 || mm5er == 40) {
//ZWÄNZG
pixels.setPixelColor(27, R, G, B, W);
pixels.setPixelColor(28, R, G, B, W);
pixels.setPixelColor(29, R, G, B, W);
pixels.setPixelColor(30, R, G, B, W);
pixels.setPixelColor(31, R, G, B, W);
pixels.setPixelColor(32, R, G, B, W);
}
if (mm5er == 25 || mm5er == 30 || mm5er == 35) {
//HAUBI
pixels.setPixelColor(36, R, G, B, W);
pixels.setPixelColor(37, R, G, B, W);
pixels.setPixelColor(38, R, G, B, W);
pixels.setPixelColor(39, R, G, B, W);
pixels.setPixelColor(40, R, G, B, W);
}
if (mm5er == 0) {
//UHR
pixels.setPixelColor(107, R, G, B, W);
pixels.setPixelColor(108, R, G, B, W);
pixels.setPixelColor(109, R, G, B, W);
}
if (mm5er == 5 || mm5er == 10 || mm5er == 15 || mm5er == 20 || mm5er == 35) {
//AB
pixels.setPixelColor(33, R, G, B, W);
pixels.setPixelColor(34, R, G, B, W);
}
if (mm5er == 25 || mm5er == 40 || mm5er == 45 || mm5er == 50 || mm5er == 55) {
//VOR
pixels.setPixelColor(22, R, G, B, W);
pixels.setPixelColor(23, R, G, B, W);
pixels.setPixelColor(24, R, G, B, W);
}
hhdisplay = hh;
if (mm >= 25) { // ab der 25 Minuten ist es immer "vor" der nächsetn Stunde
if (hh == 0 || hh == 12) { // bei 12 Uhr vor "Ein" Uhr
hhdisplay = 1;
}
else
hhdisplay = hh + 1;
}
switch (hhdisplay) {
case 1:
case 13:
//EIS
pixels.setPixelColor(52, R, G, B, W);
pixels.setPixelColor(53, R, G, B, W);
pixels.setPixelColor(54, R, G, B, W);
break;
case 2:
case 14:
//Zwöi
pixels.setPixelColor(48, R, G, B, W);
pixels.setPixelColor(49, R, G, B, W);
pixels.setPixelColor(50, R, G, B, W);
pixels.setPixelColor(51, R, G, B, W);
break;
case 3:
case 15:
pixels.setPixelColor(44, R, G, B, W);
pixels.setPixelColor(45, R, G, B, W);
pixels.setPixelColor(46, R, G, B, W);
break;
case 4:
case 16:
//Vieri
pixels.setPixelColor(55, R, G, B, W);
pixels.setPixelColor(56, R, G, B, W);
pixels.setPixelColor(57, R, G, B, W);
pixels.setPixelColor(58, R, G, B, W);
pixels.setPixelColor(59, R, G, B, W);
break;
case 5:
case 17:
//Füfi
pixels.setPixelColor(60, R, G, B, W);
pixels.setPixelColor(61, R, G, B, W);
pixels.setPixelColor(62, R, G, B, W);
pixels.setPixelColor(63, R, G, B, W);
break;
case 6:
case 18:
//Sächsi
pixels.setPixelColor(71, R, G, B, W);
pixels.setPixelColor(72, R, G, B, W);
pixels.setPixelColor(73, R, G, B, W);
pixels.setPixelColor(74, R, G, B, W);
pixels.setPixelColor(75, R, G, B, W);
pixels.setPixelColor(76, R, G, B, W);
break;
case 7:
case 19:
//Sibni
pixels.setPixelColor(66, R, G, B, W);
pixels.setPixelColor(67, R, G, B, W);
pixels.setPixelColor(68, R, G, B, W);
pixels.setPixelColor(69, R, G, B, W);
pixels.setPixelColor(70, R, G, B, W);
break;
case 8:
case 20:
//Achti
pixels.setPixelColor(77, R, G, B, W);
pixels.setPixelColor(78, R, G, B, W);
pixels.setPixelColor(79, R, G, B, W);
pixels.setPixelColor(80, R, G, B, W);
pixels.setPixelColor(81, R, G, B, W);
break;
case 9:
case 21:
//Nüni
pixels.setPixelColor(82, R, G, B, W);
pixels.setPixelColor(83, R, G, B, W);
pixels.setPixelColor(84, R, G, B, W);
pixels.setPixelColor(85, R, G, B, W);
break;
case 10:
case 22:
//Zähni
pixels.setPixelColor(95, R, G, B, W);
pixels.setPixelColor(96, R, G, B, W);
pixels.setPixelColor(97, R, G, B, W);
pixels.setPixelColor(98, R, G, B, W);
break;
case 11:
case 23:
//Öufi
pixels.setPixelColor(88, R, G, B, W);
pixels.setPixelColor(89, R, G, B, W);
pixels.setPixelColor(90, R, G, B, W);
pixels.setPixelColor(91, R, G, B, W);
break;
case 0:
case 12:
case 24:
//Zwöufi
pixels.setPixelColor(99, R, G, B, W);
pixels.setPixelColor(100, R, G, B, W);
pixels.setPixelColor(101, R, G, B, W);
pixels.setPixelColor(102, R, G, B, W);
pixels.setPixelColor(103, R, G, B, W);
pixels.setPixelColor(104, R, G, B, W);
break;
}
//ES
pixels.setPixelColor(9, R, G, B, W);
pixels.setPixelColor(10, R, G, B, W);
//ISCH
pixels.setPixelColor(4, R, G, B, W);
pixels.setPixelColor(5, R, G, B, W);
pixels.setPixelColor(6, R, G, B, W);
pixels.setPixelColor(7, R, G, B, W);
pixels.show();
}
mm1 = mm;
}