Hallo, bin ein neuling und nachdem ich jetzt das tut durchgearbeitet habe möchte eine parkhausanzeige für 2 parkdecks mittels lcd darstellenjeweils die ein und ausfahrt von EG und OG besitzen eine lichtschranke die mittels taster simuliert werden. Irgendwie finde ich keinen ansatz. Kan mir jemand helfen? Gruß
Hi, wo genau sind denn die Probleme, bzw. was ist denn als Grundstruktur schon vorhanden? Prinzipiell sehe ich das so, dass Du zwei Einfahrten und zwei Ausfahrten hast. Die beiden Einfahrten registrieren einfahrende Fahrzeuge und dabei wird dann ein Zähler jeweils um eins erhöht. Erreicht der Zähler einen vordefinierten Wert (maximale Stellplatzzahl), dann werden die einfahrten (Schranken) gesperrt. Fährt ein Auto aus einer der beiden Ausfahrten aus, dann wird der Zähler wieder um eins verringert. Wegen der Ausgabe auf LCD schau doch mal ins Tutorial auf der linken Seite, da kann ich Dir wenig helfen. Gruß Fred
Habe schon ein Code(anhang) geschrieben. Nur springt die anzeige immer gleich auf 20. soll halt 0-20 einmal für EG und für OG darstellen. Ich weiß das der code warscheinlich sehr umständlich ist aber wie gesagt bin absoluter neuling. Gruß
Hallo, ich kenn mich jetzt nicht mit Assambler aus, aber entprellst Du deine Taster? Das er gleich von 0 auf 20 springt klingt stark nach prellenden Tastern...
>Wie entprell ich sie denn???
Steht auch im Tutorial, aber egal, mal kurz angerissen:
Dein Programm muss prüfen: Taster gedrückt? Ja? ca. 4ms Sekunden warten.
Taster immer noch gedrückt? Ja? Taster ist wirklich gedrückt.
Weiterhin muss dein Programm auch prüfen, ob der Taster immer noch
gedrückt gehalten wird, sonst rast der Zähler auch bis in den Anschlag.
>Dein Programm muss prüfen: Taster gedrückt? Ja? ca. 4ms Sekunden warten. >Taster immer noch gedrückt? Ja? Taster ist wirklich gedrückt. Wenn Du Pech hast ist das bestenfalls eine Vermutung, ob der Taster wirklich geschlossen ist. Manche (zugegeben nicht uC-freundliche) Taster prellen länger als 65ms... Gruss, Edson
>Wenn Du Pech hast ist das bestenfalls eine Vermutung, ob der Taster >wirklich geschlossen ist. Manche (zugegeben nicht uC-freundliche) Taster >prellen länger als 65ms... Ja, hast natürlich Recht. Besser sollte es man natürlich so machen: Prüfen, x-ms warten, und das mindestens vier mal hintereinander. Wenn der Status viermal in Folge gleich war, so ist er als gültig anzusehen.
Könnt ihr mir vielleicht mal ein Beispiel posten bekomme es irgendwie nicht hin. Gruß
Habe folgendes programm zum entprellen gefunden: def cntr = R16 .def taste = R17 waitfreekey: ;Wartet, bis alle Tasten losgelassen sind. clr cntr nook: in taste, PIND cpi taste, 0b00111111 ;F�r jeden Knopf ein Einser (davor evtl. AND-en). brne waitfreekey inc cntr breq ok rjmp nook ok: ret Kann mir jemand sagen ob das wirklich funktioniert?????
B.K. wrote: > Könnt ihr mir vielleicht mal ein Beispiel posten bekomme es irgendwie > nicht hin. Die Sache mit der aktiven Warterei ist doch Mist. > waitfreekey: ;Wartet, bis alle Tasten losgelassen sind. > clr cntr > nook: in taste, PIND > cpi taste, 0b00111111 ;F�r jeden Knopf ein Einser (davor evtl. > AND-en). > brne waitfreekey > inc cntr > breq ok > rjmp nook > ok: ret Weist du wie schnell dein µC den cntr einmal von 0 bis wieder auf 0 durchgezählt hat? Das geht so schnell, da hat die Taste noch nicht mal zu Prellen angefangen, ist der µC bereits durch. Eine Millisekunde ist für einen µC eine halbe Ewigkeit! Hier findest du eine full-proof Tastenentprellung: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
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.