Hi leute ich habe heute in die wanduhr von meinem sohn den ws2812b LED Ring mit 60Leds verbaut.
nach dieser Anleitung
Ich habe daran noch paar modifikationen vorgenommen. z.b. automatisches dimmen bei umgebungslicht änderrung
nun wollte ich die 1,5volt Batterie aus dem Mechanischen Uhrwerk entfernen und z.b. vom arduino 1,5volt abzweigen. z.b. mittels PWM pin und Kondensator (so wie man eine LED mit PWM dimmen kann)
geht das? weil eine normale batterie im Mechanischenuhrwerk hält ja sehr lange also denke ich das da nicht viel strom fließen wird, und der kondensator würde das PWM signal glätten und somit auf 1,5volt bringen.
ICH WEIß ABER NICHT WIE.
oder hat jemand eine Bessere Idee?
Ich habe für den betrieb einen 3,6volt (18650) Akku und von dort auf 5 volt hochgezogen und dann in den Arduino und LED Streifen.
ich weiß noch nicht wie lange das halten wird auf dem Akku.
Laden tue ich die mit diesem Modul TP4056
und umwandeln von 3,6volt auf 5volt mit einem einfachen stepupwandler.
ja dann werde ich es wohl doch mit diesem machen, wie vorgeschlagen
AMS1117-1.5 //danke für den Tip
aber mal noch was anderes ich habe ja die irfernbedienung mit dran und wollte nun eigentlich wenn ich eine Taste drücke das das unterprogramm von der uhr angeht, dieses aber auch abgebrochen werden kann und ein anderes unterprogramm dann aktiv ist mit einer anderen taste
so das ich z.b. per tastendruck von der uhr auf die simple darstellung der farben wechseln kann.
gedacht habe ich auch noch ein unterprogramm mit ton erkennung so das dann eine equalizer animation auf den leds stattfindet und sollte man dann wieder auf die taste für die uhr drücken sollte es wieder zurückwechseln.
ich habe schon einige bespiele z.b.
case taste1:
uhrloop();
break;
case taste2:
musik();
break;
case taste3:
licht();
break;
so in der art gesehen und auch ausrobiert.
das decodieren der tasten funktioniert super.
wenn der arduino startet leuchtet erstmal nichts bis ich die taste der uhr drücke.
dann läuft diese aber ich kann sie dann nicht einfach unterbrechen und das programm wechseln.
ohje wie blöd von mir
sketch im anhang
neoclock.ino ist die eigentlich hauptdatei die anderen stehen aber im zusammenhang
in der irloop.ino hatte ich mehrer ansäte probiert die ich dann nach unten verschoben und ausgeklammert habe
nun habe ich erstmal im normalen viod loop teil den eintrag irloop(); ausgeklammert weil es nicht funktioniert hat
In C gibt es keine Unterprogramme sondern nur Funktionen.
irrecv.decode(&results);
int value = results.value;
switch(value) {
case 16246807 : //Taste für Uhr
uhrloop();
break;
case 16238647 :
startlicht();
break;
case 16248847 :
allesaus();
break;
Hier rufst Du nur einmal die Funktionen auf. Du mußt den Wert für den aktiven Modus in Funktion der gedrückten Taste speichern und mit diesem Wert die Funktion auswählen.
flexcon:
nun wollte ich die 1,5volt Batterie aus dem Mechanischen Uhrwerk entfernen und z.b. vom arduino 1,5volt abzweigen. z.b. mittels PWM pin und Kondensator (so wie man eine LED mit PWM dimmen kann)
geht das? weil eine normale batterie im Mechanischenuhrwerk hält ja sehr lange
Da die Batterie sehr lange hält, würde ich dir ans Herz legen, die Uhr normal auf Batterie weiterlaufen zu lassen. Sie läuft auch weiter, wenn man keine Lust auf Lichtshow hat oder der Akku nicht geladen ist.
WS2812 zusammen mit IR-Fernbedienung habe ich nicht zum Laufen gebracht, weil das Ansteuern der WS2812 (zeitkritisches Protokoll mit Takt und Daten an einem Pin) blockierend ist. APA102 zusammen mit IR-Fernbedienung hingegen funktioniert, da Takt und Daten auf zwei Pins verteilt sind.
agmue:
WS2812 zusammen mit IR-Fernbedienung habe ich nicht zum Laufen gebracht, weil das Ansteuern der WS2812 (zeitkritisches Protokoll mit Takt und Daten an einem Pin) blockierend ist....
Notfalls muss man da mit einem "Hilfscontroller" ran.
Genau dafür gibt es die "IR to I2C" mit IRQ auf dem ATTiny85.
d.h. ich könnte diesen code dafür nehmen die daten von der ir fernbedinung zu empfangen und zu decodieren und dann wird diese an den arduino übertragen
richtig.