Hallo liebe Leute... Ich bin dabei eine Passwortabfrage zu programmieren...habe da so ein kleines Projekt in aussicht... naja... nachdem ich mir vor kurtzem einen ATMega32 zugelegt habe... konnte ich mit der Programmation beginnen... dann habe ich mir noch ein 3 x 4 Zahlenfeld gekauft, zudem ein MK2 Board mit einem Isp Stecker... über diese schnittstelle kann ich meinen µC praktisch über Usb programmieren... Jetzt habe ich nur ein problem... Ich komme nicht wirklich weiter...wie gesagt möchte ich eine Passwortabfrage machen... bei der ich das Password aber auch ändern möchte... (so wie bei einem Handy zum Beispiel) nur das Passwort zu vergleichen scheint mir nicht so schwehr zu sein... hatte da vor mit einer 4fachen IF abfrage ran zu gehn...also wenn eine Taste Gedrückt wird wird verglichen... und wenn es nicht stimmt sollte das Programm dennoch 4 tasten drücke abwarten und am ende mitteilen ob das Password richtig ist, falls nicht neuer versuch... sollte der Pin 3 mal falsch eingegeben werden wird die Eingabe während einer gewissen Zeit gesperrt... Zudem wollte ich dann ein Menu machen, indem ich mein Password ändern kann... falls das mir aber zu schwierig wird bevorzuge ich ein festes Password... Hoffe mir kann da jemand helfen ... Gruss Herr Ortmanns
wozu die kurze länge von 4? Bau dir eine Comparefunktion, die zwei array nimmt und die vergleicht. In das Array kannst du ein endmarker schreiben. Oh, wunder, sowas gibts sogar schon: strcmp Basiert zwar auf strings und der Endmarker ist '\0', aber das ist ja egal. Musst halt nur aufpassen, dass dein Passwort und die Eingabe kein \0-CHar enthält, was nicht passieren kann, wenn du nur Alpha-numerische Ascizeichen erlaubst (bzw, wenns ohnehin nur zahlen von 0-9 sind, '0' draufaddierst). edit: oh, sorry, du hast bascom geschrieben. Da musst du wohl sekbst eine alternative Vergleichsfunktion schreiben, oder aus der Bibliothek raussuchen
Man kann in BASCOM strings bzw. Zahlen problemlos vergleichen. Den Agorithmus muss man gemäß seinen eigenen Wünschen schon selbst schreiben. B.
Bascom kann von Haus aus schon Strings vergleichen, soweit kein Problem. Das Einfachste aber wird sein Du legst n Array an, das bei jedem Tastendruck einfach einen Schritt weiter geshiftet wirdund wenn 12 Tastendrücke noch keine Übereinstimmung zur Pin ergibt sperrst Du das Ding einfach indem du n Flag im EEPROM setzt. Dort ins EEPROM gehört auch das Array mit der Pin hin, dann ist das nicht flüchtig und kann auch jederzeit überschrieben werden ohne neu zu flashen. insgesamt eine lösbare Aufgabe. Auch den Zähler für die Tasteneingaben kann man im eeprom anlegen, damit auch sicher nicht geschummelt werden kann.
Hallo ich habe bisher noch nie mit Array programmiert... weder mit direkten schreiben und lesen des Eeprom's... doch denke ich, das es lang dauert sich etwas solches anzulernen... oder irre ich mich da? die ideen klingen jedoch sehr intressannt...nur glaube ich das ich diesen Aufgaben nicht gewachsen bin... @Vlad Tepesch : Ich möchte bei 4 Zeichen bleiben...da man den Pin möglichst leicht behalten sollte und schnell eintippen kann... meine Idee ist folgende...: Ich möchte ein System Bauen, das eine Person in einen Raum lässt nachdem es ein Password eingegeben hat und sein Fingerabdruck gescannt wurde...vllt lass ich das mit dem Fingerabdruck fallen und mach es mit einer Chipkarte(bzw Transponderkarte)... bisher ist noch alles nur eine Idee und ich habe auch erst wenig umgesetzt... jedoch habe ich mir ein Flussdiagramm gezeichnet, das zeigen soll was mein system später machen soll...(siehe Anhang) > bei den einstellungen sollte dann noch Pin ändern hinzukommen... > Mit schlüssel ist der Fingerabdruck oder die Transponder karte gemeint... denke das ich da noch was arbeit habe...
öööhm ... hast Du schonmal in Bascom programmiert? Deine Diagramme schan auf den ersten Blick ja schonmal ganz gut aus, Planung ist wichtig. Steht die Hardware schon? Ein Programmgrundgerüst schonmal erstellt?
ja hebe bereits mehrere "kleinere" programme geschrieben...nichts weltbewegendes... hehe ja die Hardweare steht... ich habe auch einen Leser um Transponder daten zu empfangen und seriel weiter zu schicken... zudiesem leser habe ich bereits ein funktionstüchtiges Programm geschrieben , das ganz einfach anzeigt welcher "schlüssel gerade gelesen wird... das mit dem fingerabdruck währe eine mögliche erweiterung... zunächst möchte ich mich aber schonmal auf ein Passwort und den Transponder schlüssel fixieren... Ein Programmgrundgerüst habe ich jedoch noch nie gemacht... Weis gar nicht genau was ich darunter verstehen soll... Ich errinnere mich wie ich früher mal sowas ähnliches(denke ich mal) in SPS gemacht habe( Siemens)... Wie sähe denn ein solches Programmgrundgerüst aus und was muss beachte weden?... gruss Hermann
hallo...ich habe jetzt eine kleine Passwortabfrage geschrieben di mir jedoch noch gar nicht gefällt... ich arbeite wie bereits gesagt mit einem 3x4 Tastenfeld... und möchte eine Passwort abfrage programmieren , wobei ein Passwort 4 zeichen beinhaltet... Was ich erreicht hebe: - ein Passwort eingeben können - Dieses mit einem im Programmgespeicherten Passwort vergleichen - und darauf eine Aktion ausfüheren (hier eine Led für eine Sekunde ausschalten) Was ich noch gerne hätte... und erreichen möchte: - mein Programm strukturierter aufsetzen (ist noch nur zum testen) - Alles über die Matrix (Zahlenfeld) steuern - eine Lösch funktion schreiben (sehr grosses problem) - für mehrere Benutzer gebrauchen können/// d.h. viele verschiedene Passwörter miteinander vergleichen Hoffe mir kann jemand einen Tipp geben besondes zum löschen des Eintrages... (jeweils eine stelle) Ich habe schon an ein Unterprogramm zur Tastenabfrage gedacht... Gruss Hermann
ui ui ui ... erster Tip, verbanne GOTO aus Deiner zu verwendenden Befehlsliste. Ich kenne nur eine einzige sinnvolle Verwendung für diesen Befehl wo ich ihn auch benutze, zum Sprung in den Bootloader vom Hauptprogramm aus. Ansonsten verwende Schleifen, Verzweigungen und Subprozeduren, das macht den COde deutlich besser lesbar und vermeidet Spaghetticode. Wenn ich den Code richtig lese verwendest Du für die Eingabe die UART, keine Tastatur. Das macht die Geschichte deutlich einfacher. ... aber Deinen Code passend umzustricken käme aufs Neuprogrammieren heraus. Schau Dir mal "Call und Gosub" an, dann noch URXC Interrupt und "Overlay" Variablen ... damit dürfte sich Dein Problem schon erschalgen lassen.
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.