//.............................................................................. void RxBluetooth() /* Weltuhr über Bluetooth gesteuert */ { char RxBluTth = Serial.read(); switch (RxBluTth) { case 'h': // Zeit Stunde einlesen SollStunde=Serial.parseInt(); if( SollStunde < 0 or SollStunde >= 24) SollStunde = 0; SerSollZeitDatum(); Serial.println(F(" Stunde")); break; case 'm': // Zeit Minute einlesen SollMinute=Serial.parseInt(); if( SollMinute < 0 or SollMinute >= 60) SollMinute = 0; SerSollZeitDatum(); Serial.println(F(" Minute")); break; case 's': // Zeit Sekunde einlesen SollSekunde=Serial.parseInt(); if( SollSekunde < 0 or SollSekunde >= 60) SollSekunde = 0; SerSollZeitDatum(); Serial.println(F(" Sekunde")); break; case 'T': // Datum Tag einlesen SollTag=Serial.parseInt(); if( SollTag < 1) SollTag = 1; if( SollTag > 31) SollTag = 31; SerSollZeitDatum(); Serial.println(F(" Tag")); break; case 'W': // Datum Wochentag einlesen SollWochentag=Serial.parseInt(); if( SollWochentag < 0) SollWochentag = 0; if( SollWochentag > 6) SollWochentag = 6; SerSollZeitDatum(); Serial.println(F(" Wochentag")); break; case 'M': // Datum Monat einlesen SollMonat=Serial.parseInt(); if( SollMonat < 1) SollMonat = 1; if( SollMonat > 12) SollMonat = 12; SerSollZeitDatum(); Serial.println(F(" Monat")); break; case 'J': // Datum Jahr einlesen SollJahr=Serial.parseInt(); if( SollJahr < 2000) SollJahr = 2000; if( SollJahr > 2059) SollJahr = 2059; SerSollZeitDatum(); Serial.println(F(" Jahr")); break; case 't': // Temperatur in °C DS1820.requestTemperatures(); // Start Temperatur Wandlung starten IstTempC= DS1820.getTempCByIndex(0); // Temperatur auslesen Serial.print(F("Temperatur = ")); if (IstTempC < 100) Serial.print(F(" ")); if (IstTempC < 10) Serial.print(F(" ")); Serial.print(IstTempC,1); Serial.println(F(" °C")); break; case 'S': // Umschaltung Sommerzeit NzSz = 1; Serial.println(F(" Umschaltung auf Sommerzeit (MESZ)")); break; case '+': // Positive Weiterschaltung Ort, wenn Raster = 0 Raster = 0; Stadt +=1; if (Stadt >= AnzahlStadt) {Stadt = 0;}; Serial.println(F(" Positive Weiterschaltung Ort, Raster = 0")); break; case '-': // Negative Weiterschaltung Ort, wenn Raster = 0 Raster = 0; Stadt -=1; if (Stadt < 0) {Stadt = AnzahlStadt-1;}; Serial.println(F(" Negative Weiterschaltung Ort, Raster = 0")); break; case 'R': // Einstellung Raster für Anzeige Ort (0 bis 45) case 'r': Raster=Serial.parseInt(); if (Raster <= -AnzahlStadt) {Raster = -AnzahlStadt +1;}; if (Raster >= AnzahlStadt) {Raster = AnzahlStadt -1;}; Serial.print(F(" Einstellung Raster für Anzeige Ort (")); Serial.print(Raster); Serial.println(F(")")); break; case 'O': // Anzeige Ort, direkte Anwahl über Nummer (0 bis 45) case 'o': Stadt=Serial.parseInt(); Raster = 0; if (Stadt < 0) {Stadt = 0;}; if (Stadt >= AnzahlStadt) {Stadt = AnzahlStadt -1 ;}; Serial.print(F(" Einstellung Raster für Anzeige Ort (")); Serial.print(Stadt); Serial.println(F(")")); break; case 'K': // Kontrolle Zeit und Datum case 'k': SerSollZeitDatum(); Serial.println(F(" Kontrolle")); break; case 'Z': // Aktuelle Zeit und Datum case 'z': SerIstZeitDatum(); Serial.println(F(" Aktuell")); break; case 'E': // Zeit und Datum Übernehmen case 'e': set = 0; SerSollZeitDatum(); Serial.println(F(" Übernahme")); break; case '?': // Info aktuelle Vorgabewerte Serial.println(""); delay(100); Serial.println("--- Info Terminal Start ---"); delay(100); Serial.println(F("Uhr mit UTC und Zeitzonen")); delay(100); Serial.println(F(" h Eingabe Zeit Stunde")); delay(100); Serial.println(F(" m Eingabe Zeit Minute")); delay(100); Serial.println(F(" s Eingabe Zeit Sekunde")); delay(100); Serial.println(F("T Eingabe Datum Tag")); delay(100); Serial.println(F("W Eingabe Datum Wochentag (0-6 / So-Sa)")); delay(100); Serial.println(F("M Eingabe Datum Monat")); delay(100); Serial.println(F("J Eingabe Datum Jahr")); delay(100); Serial.println(F(" t Ausgabe Temperatur in °C")); delay(100); Serial.println(F("+ Positive Weiterschaltung Ort, wenn Raster = 0")); delay(100); Serial.println(F("- Negative Weiterschaltung Ort, wenn Raster = 0")); delay(100); Serial.println(F("R r Einstellung Raster für Anzeige Ort (0 bis 45)")); delay(100); Serial.println(F("O o Anzeige Ort, direkte Anwahl über Nummer (0-45)")); delay(100); Serial.println(F("Z z Aktuelle Zeit und Datum")); delay(100); Serial.println(F("E e Übernahme Zeit und Datum")); delay(100); Serial.println(F("? Information Steuerbefehle")); delay(100); Serial.println(F("--- Info Terminal Ende ---")); delay(100); Serial.println(F("")); break; default: Serial.println(F("Befehl ist ungueltig")); delay(100); } } //..............................................................................