Parkhauszähler mit lcd ausgabe

Gast #706359
Lesenswert?

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ß
Gast #706367
Lesenswert?

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
Gast #706375
Lesenswert?

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ß
Angehängte Dateien:
#706422
Lesenswert?

>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.
Gast #706435
Lesenswert?

>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
#706444
Lesenswert?

>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.
Gast #707000
Lesenswert?

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?????
#707308
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren