Hallo forum und gemeinde
Mit den Transistor wahr ein fehler soory, das programm geht in Powerdown und kann danach keine taste drücken?
Verleicht die taster falsch angeschlossen oder in programm?
Danke
Gruß T Sch.
Hallo forum und gemeinde
Mit den Transistor wahr ein fehler soory, das programm geht in Powerdown und kann danach keine taste drücken?
Verleicht die taster falsch angeschlossen oder in programm?
Danke
Gruß T Sch.
Hallo,
funktioniert den die Fernbedienung grundsätzlich?
Verstehe ich das richtig, daß nach Nutzung der Fernbedienung, also Einschalten eines Gerätes per FB, die FB in Powerdown geht und sich dann aber nicht mehr aufwecken läßt?
Das Aufwecken soll dann durch Drücken einer der Tasten zum Einschalten eines Gerätes geschehen?
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hallo Bastler,
ich habe mir das Programm nochmal angeschaut. Es sollte alles funktionieren wenn die richtige Treiberschaltung für die IR-LED nach der Bascom Hilfe verwendet wird.
Allerdings muß an den INT0 (PD2) noch ein Pullup Widerstand angebracht werden oder der interne Pullup mit PORTD.2 = 1 eingeschaltet werden. Sonst floatet der Eingang PD2, hat also keinen definierten Pegel wenn keine Taste gedrückt ist.
Die Funktion von Led_gelb ist mir nicht klar. Sie wird über PIND.3 oder PIND.4 eingeschaltet aber im weiteren Programm nicht mehr ausgeschaltet. Der Powerdown schaltet sie auch nicht ab, da in dem Zustand nur der Oszillator gestoppt wird aber die Portzustände nicht geändert werden. Sie bleibt also immer eingeschaltet auch während des Powerdowns, wenn sie irgendwann einmal eingeschaltet wurde!
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
So auf ein neues
Hier die schaltung:
Anhang 32897
Und der endwurf
Anhang 32898
Den code ist hier:
wenn ich unten den powerdown aktivere geht es nur einmal, warum? Bitte um Rat DankeCode:$regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 'Ddrd = &B00000010 Config Portd.6 = Output Led_gelb Alias Portd.6 'LED GELB - Ob Programm Arbeitet ( Nur zum TESTEN) Config Portd.2 = Input Portd.2 = 1 Config Portd.3 = Input Portd.3 = 1 Config Portd.4 = Input Portd.4 = 1 Config Portd.5 = Input Portd.5 = 1 Config Portd.5 = Input Portd.6 = 1 Config Int0 = Low Level Enable Interrupts On Int0 Isr_int0 Disable Int0 Dim Geraet As Byte , Kommando As Byte Dim Togglebit As Byte Togglebit = 0 Do If Pind.3 = 0 Then Led_gelb = 1 Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 1 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando Waitms 50 Gosub Code End If If Pind.4 = 0 Then Led_gelb = 1 Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 2 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando Waitms 50 Gosub Code End If If Pind.5 = 0 Then Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 4 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando Waitms 50 Gosub Code End If Loop End Code: Togglebit = 0 Geraet = 0 Rc5send Togglebit , Geraet , Kommando Waitms 80 Enable Int0 Led_gelb = 0 'Powerdown Return End Isr_int0: Disable Int0 Return
Gruß T Sch.
WAS geht nur einmal? Welche Taste drückst Du? Was erwartest Du?wenn ich unten den powerdown aktivere geht es nur einmal, warum? Bitte um Rat Danke
Wie ich das sehe, wird RC5SEND zweimal vor dem Powerdown aufgerufen. Das erste Mal nach dem Tastendruck und das zweite Mal im Unterprogramm "Code".
Denn geht es in den Powerdown. Beim nächsten Tastendruck wird der ATTINY wieder über den Lowlevel Interrupt aktiviert und das Spiel beginnt von vorne.
Wenn Du nicht schreibst, was exakt Du tust und dann daraufhin erwartest - was Dein Programm genau tun soll, kann ich Dir nicht weiterhelfen.
Wozu ist gelb_LED da?
Gruß
Searcher
- - - Aktualisiert - - -
Vielleicht doch noch:
Wenn vor dem powerdown der INT0 enabled wird, kann dieser INT0 auch auftreten. Wenn er also nach ENABLE INT0 und vor dem powerdown auftritt, wird INT0 in der ISR disabled. Danach kommt das powersave, aus dem der µC dann nicht mehr durch den disabelten INT0 geweckt werden kann.
Abhilfe: Die ISR leer lassen, also das DISABLE INT0 rauslöschen und zB nach jeder Tastenabfrage nach dem IF PIND ... einfügen. also etwa so:
Hab es in den Kommentaren gesehen.Code:. . If Pind.3 = 0 Then Disable INT0 Led_gelb = 1 . . . . Isr_int0: Return . .
Gruß
Searcher
PS: Interesante Lösung. Mich stört aber noch, das die Tasten nicht entprellt sind. Es fehlt ein Abblockkondensator über dem ATTiny2313 und eventuell noch ein Pufferelko ... und die waitms
Deine Anhänge aus dem letzten post kann ich nicht öffnen. Im Schaltplan aus dem ersten post fehlen zB die Werte für die Widerstände.
Geändert von Searcher (21.09.2017 um 22:24 Uhr)
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hallo Searcher und Forum
Also die RC5 Fernbedinung soll ja mal in ein handgeäuse verbaut werden, nur so mal neben bei
Zur Funktion der Fernbedinung:
-----------------------------------------------------------------------------
Wenn ich TASTE1 Drücke soll das programm code senden in POWERDOWN gehen.
beim erneuten drücken der TASTE1 code senden und un POWERDOWN gehen
-----------------------------------------------------------------------------
Wenn ich TASTE2 Drücke soll das programm code senden in POWERDOWN gehen.
beim erneuten drücken der TASTE2 code senden und un POWERDOWN gehen
-----------------------------------------------------------------------------
Wenn ich TASTE3 Drücke soll das programm code senden in POWERDOWN gehen.
beim erneuten drücken der TASTE3 code senden und un POWERDOWN gehen
-----------------------------------------------------------------------------
so hätte ich das gerne, aber leider geht das nicht
hier der code den ich geändert habe:
wenn ich den code zum chip sende alles ok soweit und dann auf die TASTE1 Drücke wird nicht mal der code gesendet und (led_gelb) geht an und bleibt an nichts geht mehr, auser neu programieren....Code:$regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 'Ddrd = &B00000010 Config Portd.6 = Output Led_gelb Alias Portd.6 'LED GELB - Ob Programm Arbeitet ( Nur zum TESTEN) Config Portd.2 = Input Portd.2 = 1 Config Portd.3 = Input Portd.3 = 1 Config Portd.4 = Input Portd.4 = 1 Config Portd.5 = Input Portd.5 = 1 Config Portd.5 = Input Portd.6 = 1 Config Int0 = Low Level Enable Interrupts On Int0 Isr_int0 Disable Int0 Dim Geraet As Byte , Kommando As Byte Dim Togglebit As Byte Togglebit = 0 'NEU Led_gelb = 0 'NEU Do If Pind.3 = 0 Then Led_gelb = 1 Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 1 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando 'NEU Disable Int0 'NEU Waitms 50 Gosub Code End If If Pind.4 = 0 Then Led_gelb = 1 Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 2 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando 'NEU Disable Int0 'NEU Waitms 50 Gosub Code End If If Pind.5 = 0 Then Geraet = 0 'Blinker / Lauflicht / Radio Kommando = 4 'Was wird geschaltet Rc5send Togglebit , Geraet , Kommando 'NEU Disable Int0 'NEU Waitms 50 Gosub Code End If Loop End Code: 'Togglebit = 0 'AUS 'Geraet = 0 'AUS 'Rc5send Togglebit , Geraet , Kommando 'AUS Waitms 80 Enable Int0 Led_gelb = 0 Powerdown Return End Isr_int0: 'Disable Int0 'AUS Return
noch was zur schaltung, der abblokkodensator ist im IC-Halterrung verbaut und der kondensator ja der fehlt wahr ja auf schnell gemacht.....
Soweit erst mal danke und Lieben Gruß
T. Sch.
Hallo Bastler,
ich habe im Code ein paar Stellen farbig markiert:
Wo ist TASTE1 angeschlossen? Bei PORTD.1 fehlt Aktivierung von Pullup (oben in grün hinzugefügt)...dann auf die TASTE1 Drücke wird nicht mal der code gesendet und (led_gelb) geht an und bleibt an nichts geht mehr, auser neu programieren....
Portd.5 ist sowieso Input und wird darüber hinaus auch zwei Mal als Input konfiguriert.
Fuses richtig gesetzt? Insbesondere CKDIV8 für 8MHz Systemtakt.
Das DISABLE INT0 würde ich direkt nach dem IF PIN Befehl einfügen. Das Verhalten kenne ich auch nicht genau und kann ich im Augenblick auch nicht testen.
Sonst fällt mir im Augenblick nichts Neues ein
Gruß
Searcher
Geändert von Searcher (23.09.2017 um 13:51 Uhr)
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Lesezeichen