-
-
Erfahrener Benutzer
Roboter Genie
ich kenn mich nicht mit Bascom aus, aber hier mal 2 herangehensweisen von mir:
1: Tastendruck wird erfasst und direkt in eine Variable gespeichert, die gegen den richtigen Code verglichen wird, und wenn das erste zeichen falsch ist vermerkst du es in einem Byte als Flag, 1 für richtig, 0 für falsch. Nun kann man den code zb direkt abweisen oder bereits jetzt eine reaktion erfolgen lassen (Log mit Zeit, dass ein Falscher code versucht wurde). Das hat den Vorteil, dass du nicht mit Strings hantierst und wenig Speicher für den Code brauchst
2: Die Tastatur wird erfasst udn in ein Array gespeichert. Dieses Array vergleichst du, nachdem x-zeichen eingegeben wurden mit dem Code-Schlüssel. Das kannst du manuel oder mit fertigen Funktionen machen (C kann sowas, Bascom weiß ich nciht).
Der Vorgang der Tastaturabfrage kann durch einen Interrupt ausgelöst werden, und du hälst jeweils 2 Zähler: 1x Tastendruck, um die Anzahl der eingegeben Zeichen abzufragen, 1x eine Timer-Variable, die automatisch läuft und mit jedem Tastendruck auf 0 zurückgesetzt wird. Ansonsten wiederholt sich das Schema für jede Taste.
In beiden Fällen kannst du nach einer Eingabezeit von zb 30sekunden den Tastaturspeicher löschen, damit ein abgebrochener eingabeversuch zurückgestellt wird.
Auf dem LCD würd ich aber nur sternchen anzeigen lassen, da man sonst den code mitlesen könnte. In diesem Fall wär das LCD reiner Luxus, 2 LEDs oder ein Summer würden auch reichen
Aber wenn wir schon bei luxus sind: du könntest ein LOG anlegen und in ein eeprom speichern um den zugang zu protokolieren, eine RS232 Schnittstelle kann dann zum transfer auf den PC dienen, das ganze kannst du als CSV datei anschauen (CommaSeparatedVariants oder so).
Ausserdem solltest du funktionstasten vorsehen (12tasten-tastatur), dann kannst du im laufenden betrieb per supervisor-modus den code ändern, ohne den controller neu zu programmieren.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen