Archiv verlassen und diese Seite im Standarddesign anzeigen : Elektronisches Code Türschloss
Otti20vt
24.01.2007, 00:13
Abend!
Entschuldigt das ich schon wieder frage. 8-[ Aber ich weiss einfach nicht wo nach ich bei meinem Problem suchen soll. :-s
Ich möchte ein Elektronisches Türschloss realisieren, also bei richtiger Code eingabe soll der Controller ein Relais ansteuern. Das ganze natürlich mit LCD. :-b
Nun habe ich irgendwie kein plan wie ich das anstellen soll.
Wie kann ich z.B. eine abfrage von 4 zeichen machen? Also wenn ich jetzt den Code 1234 eintippe, damit dann Bascom schaut ob der Coder richtig ist. :-k
BlaueLed
24.01.2007, 06:57
Hi,
du kannst eine Matrix Tastatur nehmen. Bascom bietet eine Funktion zum auslesen dieser Tastaturen. Dann schaut man, ob der eingegebene Code mit dem richtigen Code übereinstimmt. Also:
if code = 1234 then Relais = 1
mfg Kay
the_Ghost666
24.01.2007, 10:19
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.
G-Laderjosi
24.01.2007, 11:56
@Otti
Moin Moin
Genau so ein Projekt habe ich auch in Planung, ehrlich gesagt habe ich aber noch nichts gemacht, nur geplant bis jetzt. 8-[
the_Ghost666
24.01.2007, 12:16
ich habs auch mal vorgehabt, in ner lustigen Lightshow-Version. Ich habe mir eine Tastatur mit SMD-Kurzhubtastern gebaut, eben so ne 3x4Matrix. ich wollte darüber noch eine Platine legen, in der für jede Taste Rote, Grüne und Gelbe SMD LEDs sind. Darauf dann selbstgebaute 2x2cm Tasten aus Plexiglas. Die Tastatur sollte gelb leuchten und jede Taste beim Druck grün bestätigt werden. Sobald dann der komplette Code eingegeben wäre, sollte sie komplett rot oder komplett grün werden, je nach richtigem oder falschem Code. Ich hab die SMD Leds hier, bin aber nie über die Phase der einfachen, unbeleuchteten Tastatur hinaus gekommen. seitdem liegt sie in der Schublade.
Ich würde, wenn ichs nochmal aufnehme, auf jeden Fall ne PC schnittstelle und ein EEPROM für den Code und das Protokol einbauen.
Was soll eigentlich gesichert werden? ich hatte darüber nachgedacht ne Zimmertür mit elektromotoren zu verschließen, aber mit Notöffnungsmöglichkeiten (stromausfall etc).
Lemonsquash
24.01.2007, 12:39
Hallo zusammen,
sowas in der Art hatte ich auch mal vor:
- 12er Matrixtastatur (folie oder "plastebox")
- bei richtiger Zahlenkombination Tür aufsperren
- versteckter serieller Anschluss um den code zu ändern (mit eigenem Passwort)
- Schlüssel für den Not- oder Stromausfall
Gescheitert bin ich an der tatsache, das ich "die tür nicht aufgekriegt habe".
D.h. ich habe keine kostengünstige und einfache Möglichkeit gefunden, das
schloß ohne monströse Umbauarbeiten elektrisch zu öffnen bzw. zu schließen.
Aber vielleicht entsteht in dieser Diskussion ja eine gute Idee?! :idea:
Grüße,
Basti
Hallo,
ich wäre nur vorsichtig, den Code sofort zurückzuweisen, wenn eine falsche Zahl eingegeben wurde. Das reduziert die maximal notwendigen versuche um z.B. einen 4-stelligen Code zu knacken von 10000 auf 40.
Gruß Rolf
Lemonsquash
24.01.2007, 13:30
@Rolf:
Richtig! Am besten lässt man den "Besucher" den kompletten code eingeben und zeigt dann nur an, ober richtig ist oder nicht.
Das kann ja dann auch auf verschiedene Art und Weise geschehen, per LCD z.B. oder auch mit LEDs.
Grüße,
Basti
the_Ghost666
24.01.2007, 21:26
jaja, das war ja nur ein beispiel, man kann daraus ja auch ein spiel ala mastermind machen.
Bei ELV gibts Transponder-Schlösser. In ein normales Zylinderschloss (also die richtigen für Haustüren, nicht für innenraum-türen) wird der passende Schlüssel gesteckt, eine Konstruktion nimmt den Schlüssel auf und wird unter der klinke befestigt, sodass ein Getriebemotor das ganze drehen kann. Bei ELV ist die elektronik um einen Funk-Transponder (RFID oder so) zu erkennen mit eingebaut.
Alternativ wäre ein Sperrriegel, der die Tür mechanisch blockiert
Ich such mal nen link
http://shop.elv.de/output/controller.aspx?cid=74&detail=10&detail2=16721
Lemonsquash
25.01.2007, 09:20
ja, diese dinger kenn ich auch. Is aber zum beispiel unpraktisch, wenn
man eine Tür dann doch mit nem Schlüssel öffnen möchte weil beispielsweise
der Transponder verloren gegangen ist. Es gibt schlösser, da kann man nur
einen Schlüssel reinstecken. Wenn also innen schon einer steckt (mit dem Gerät), kann man von außen einfach nicht mehr aufsperren (ich habe z.B. so schließzylinder von Winkhaus, da ist das so).
Wie meinst du das mit dem Sperriegel? Etwa ein stück Metall o.ä. das an der Wand befestigt ist und vor die Tür ragt und per Motor oder so dann weggezogen werden kann?
Wie kriegt man dann die Tür auf, wenn die Codesperre nicht funktioniert? (Zauberwort: Stromausfall...)
Edit: Es gibt natürlich spezielle Schließzylinder, die gleichwohl mit einer
bestimmten elektrischen Spannung / einem Impuls aufschließe, als auch
mit einem Schlüssel (Magnetschließer heißen die glaub ich..), aber das günstigste was ich damals in dem Bereich gefunden habe kostete immer noch knapp 200,00 Euronen. Das is zu teuer!
the_Ghost666
25.01.2007, 10:05
Zauberwort: Schwerkraft
oder eine Öffnung, durch die man dennoch mit ein paar Tricks den Riegel lösen kann (bei größeren Schlüssellochern zb.)
ich hatte nicht vor einen Hochsicherheitssafe zu bauen. Bei so hobby-sachen gibts sicher n recht niedriges Limit. Es könnte dann ja JEDER die Sicherung rausschnippen und rein kommen. Ich hatte ausserdem n Backupakku im Kopf, zb n Motorrad-Bleiakku.
Egal was man da baut, ich würde den Teufel tun und damit meine Haustür oder wirklich sensitive Bereiche sichern. Im Endeffekt ists nicht viel mehr als ein Spielzeug. Würde man es richtig machen, könnte man es nicht bezahlen, oder müsste die Werkzeuge haben sich die Tür selbst zu schmieden (mit Schließbolzen usw). Und selbst dann würd ich meiner Schaltung nicht soweit trauen, dass ich sie wirklich an wichtigen Stellen einsetze. Es gibt so vieles, was man nicht beachtet und dann eine Schwachstelle darstellt. zb Spannungsspitzen, Stromausfall, Elektromagnete, oder einfache Brechstangen.
Lemonsquash
25.01.2007, 10:37
Also mein Plan damals war, damit meine Kellertür zu sichern. Um an die Kellertür (Stahltür, Brandschutzklasse, Winkhaus sicherheitsschließzylinder, gleicher wie an Wohnungstür) ranzukommen, muss man allerdings erstmal
ins Haus rein. Da kenn ich alle Leute die da wohnen und bin mir einigermaßen sicher, dass sich da keiner auch nur anähernd mit ner Brechstange auskennt O:)
Aber prinzipell hast du natürlich recht, ne richtig sichere, professionelle Arbeit ist das wohl nicht, die kostet nämlich richtig geld.
Trotzdem, vielleicht kannst du ja das mit dem Bolzen nochmal genauer erklären?
Mfg.
Basti
EagleStar
19.06.2007, 16:34
Hallo zusammen,
ich habe ebenfalls eine Matrixtastaur verwendet, allerdings nicht für ein Schloss, sondern nur als Eingabeperipherie. Ändert ja nichts! :)
Ich habe die Matrixtastatur von Conrad bezogen (Folientastatur, 3*4). Meine Software ist in Ordnung, um die Tasten abzufragen 3 Pins als Output und 4 Pins für Input.
Das alles funzt auch, wenn ich die Kontakte "von Hand" herstell (Pins verbinden). Wenn ich jetzt aber die Tastatur anschließe geht das nicht.
Mittlerweile bin ich darauf gekommen, dass es wohl an dem Schaltwiderstand von ca 50 Ohm liegen muss.
Kann mir irgend jemand sagen wie ich das jetzt ohne weitere Hardware programmieren muss? (BASCOM)
MfG EagleStar
the_Ghost666
20.06.2007, 09:32
moin,
also wenn du die Tastatur hast, dann würde ich so weitermachen, dass du einen Tastedruck abwartest (polling oder interrupt) und dann, wenn er stattfindet, die taste speicherst. Ausserdem erhöhst du einen zähler.
Die nächste Taste schreibst du abhängig vom zähler in eine weitere Speicherzelle, das passiert halt bis der zähler 4 oder so erreicht, damit hast du die tasten eingelesen. jetzt vergleichst du einfach den mustercode mit dem eingegebenen , speicherzelle für speicherzelle. wenn alle richtig sind, schaltest du zb einen ausgang und rücksetzt ihn nach einer bestimmten zeit (zeit per warteschleife oder interrupt).
EagleStar
20.06.2007, 10:17
Servus,
das Problem ist ja hauptsächlich, dass ich den Tastendruck so nicht erkannt bekomme wegen den 50 Ohm.
Und ich weiß jetzt nicht wie ich die Pins anders konfigurieren kann damit die das auch schnallen?
MfG EagleStar
the_Ghost666
20.06.2007, 11:22
also bei meiner Tastatur war das problem, dass ich 4,7k pullups benutzt habe, aber das wollte nicht, ich hab sie rausgenommen und mit den internen pullups des PIC klappte es dann. Ne alternative ist die Matrixtastatur an einem einzigen AD-Pin anzuschließen. Die Tasten untereinander bekommen widerstände, sodass du klar sagen kannst, wenn die spannung soundsoviel V beträgt, kann es nur die Taste x sein.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.