Hallo erst mal! Ich möchte mit einem mega8 eine RGB Led ansteuern jetzt habe ich volgendes Problem: ich habe ein Blinklicht bei dem ich mit einem Taster verschieden Farben auswählen kann. Leider habe ich eine ich das Polling verfahren genommen und jetzt ist es so das der Taster mal geht und mal nicht. Hier das Programm in Basic: 'Erzeugt ein Blinklicht und wechselt die Farbe bei Tastendruck zwischen RGBCMY Config Portc.5 = Output Config Portc.4 = Output Config Portd.5 = Output Config Portd.4 = Input Config Portd.3 = Input Rot Alias Portc.4 'Rot Gruen Alias Portd.5 'Gruen Blau Alias Portc.5 'Blau Taster2 Alias Pind.3 Dim A As Byte Dim B As Integer Config Debounce = 15 'Hauptprogramm Do Gosub Tasterabfrage If A > 6 Then A = 1 Select Case A Case 1 : Gosub Rot1 Case 2 : Gosub Gruen1 Case 3 : Gosub Blau1 Case 4 : Gosub Cyan1 Case 5 : Gosub Magenta1 Case 6 : Gosub Yellow1 End Select Loop End Tasterabfrage: Debounce Taster2 , 1 , Aplus1 , Sub Return Aplus1: Incr A Return Rot1: Incr B Set Rot Reset Rot Return Gruen1: Set Gruen Waitms 500 Reset Gruen Waitms 500 Return Blau1: Set Blau Waitms 500 Reset Blau Waitms 500 Return Cyan1: Set Blau Set Gruen Waitms 500 Reset Blau Reset Gruen Waitms 500 Return Magenta1: Set Rot Set Blau Waitms 500 Reset Rot Reset Blau Waitms 500 Return Yellow1: Set Rot Set Gruen Waitms 500 Reset Rot Reset Gruen Waitms 500 Return hat mir jemand eine bessere Lösung. Denn die 500ms Wartezeit sind vom zu lange, dass der Taster bei jedem druck reagiert. Dankschee für eure hilfe im Vorraus!
Hallo, nimm hald einfach n timer, dann kannst du den taster während der warteschleife abfragen!! MFG Mixer P.S. Andere Sprache wär au net schlecht!
ich hab ne rgb ansteuerung gemacht, die stufenlos die farbe ändert, ala regenbogen :-) wenns dich interessiert...is aber asm
Dankschee für eure schnellen Antworten! Jedoch haben die mich leider nicht so weitergebracht. Einen Farbwechsler habe ich schon selbst mit einer PWM realisiert. Trotzdem danke. Schaut schon nett aus :-) Ich denke ich sollte diesen Waitms befehl irgend wie durch eine Variable ersetzten die ich hochzählen lasse. So könnte ich doch immer hin und her springen. Oder nicht? Hat mir dafür jemand eine Lösung? Gruß Minze P.S. Andere Sprache geht nicht weil ist nicht!
@ Minze Fresh (doenerfresh) >Ich denke ich sollte diesen Waitms befehl irgend wie durch eine Variable >ersetzten die ich hochzählen lasse. So könnte ich doch immer hin und her >springen. Ja. >Hat mir dafür jemand eine Lösung? Ein Timer. AVR-Tutorial: Timer Geht auch mit BASCOM sehr gut. >P.S. Andere Sprache geht nicht weil ist nicht! Wozu? BASCOM ist gut! MfG Falk
Düsentrieb wrote: > ich hab ne rgb ansteuerung gemacht, die stufenlos die farbe ändert, ala > regenbogen :-) > wenns dich interessiert...is aber asm Würde mich echt interessieren, könntest es ja vielleicht in die Codesammlung stellen?
Hallo Falk! Gut dann werde ich mich wohl in diese Timergeschichte einlesen müssen. Ich habe ja schon für die PWM den Timer0 benutzt. Da kann das auch nicht viel anderst gehen. Oder? BASCOM ist sehr gut! Ich bin überhaupt erst seit 2 Wochen am Programmieren und hab vorher nix gekonnt und hab jetzt immerhin schon ein paar kleine Programme in BASCOM zum laufen bekommen. Wenn mein Programm läuft wie es sein soll werde ich es euch stolz Präsentieren. Wer mir noch einen Schups in die richtige Richtung geben kann! Gerne! Gruß Minze
Habe mein Programm letzlich in die Codesammlung geladen, schau mal nach TLC5922, dafür brauchst du dann auch keine PWM mehr und hast den Controller entlastet. Das Programm kann bisher faden und ein Lauflicht ist auch integriert Gruß Kai
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.