Projekt 37b: Keyless Entry – Ansteuerung und Identifizierung
Autoren:
Betreuer: Prof. Schneider
Aufgabe
Rüsten Sie ein Schließfach eines Spindes so um, dass dieses elektronisch geöffnet und verschlossen werden kann.
Erwartungen an die Projektlösung
- Einsatz einer von Matlab unterstützten HW (z. B. Raspberry Pi, Galileo, oder Arduino)
- Elektronisches Öffnen und Schließen eines Spindes
- Möglichkeit der Anwendung auf n (z. B. n=12) Schließfächer
- Robuste Funktion
- Morphologischer Kasten zur Lösungsfindung
- z.B. Anbindung einer Webcam zum Einlesen eines Barcodes
- Programmierung der Hardware via Simulink
- Schnittstelle zu Projekt 37a
- Test und wiss. Dokumentation
- Machen Sie spektakuläre Videos, welche die Funktion visualisieren.
- Live Vorführung während der Abschlusspräsentation
Schwierigkeitsgrad
Mittel (***)
Einleitung
Das Projekt ist Teil des GET-Fachpraktikums, welches Bestandteil des Bachelor Studiums Mechatronik und des Master Studiengangs Business and Systems Engineering ist. Das Projekt 37 dieses Praktikums besteht darin, ein System zu entwerfen, mit dessen Hilfe ein Schließfach elektronisch geöffnet werden kann. Dieses Projekt ist aufgeteilt in einen Teil a), der sich mit dem Schließmechanismus beschäftigt und einen Teil b), der sich mit der Identifizierung und Ansteuerung beschäftigt. Thema dieses Artikels ist der Teil b) dieses Projektes. Zielsetzung unsererseits ist es, eine funktionierende elektronische Erkennung zu realisieren, die eine Art der elektronischen Identifizierung darstellt. Sollte diese Identifizierung erfolgreich verlaufen sein und die elektronisch erhaltenen Informationen in einer Datenbank der berechtigten Zugangscodes vorhanden sein, wird ein Öffnungsbefehl an den Schließmotor weitergegeben.
Verwendete Bauteile
1x Arduino Uno R3 1x Debo RFID 522 10x Jumper Wire female to male 4x Jumper Wire male to male 1x Breadboard 1x LED Rot 1x LED Grün 2x 250Ω Widerstand 5x RFID Chip
Projekt
Projektplan
Zunächst haben wir uns mit den verschiedenen Möglichkeiten, wie ein „Keyless Entry“ System realisierbar ist, befasst und zur Findung der idealen Lösung einen morphologischen Kasten entwickelt.
Entscheidungskriterien waren hierbei die Einfachheit der Realisierung, da uns nur begrenzte Zeit zur Verfügung steht, die Zuverlässigkeit der gewählten Lösung und die Integrationsmöglichkeiten. Ein weiterer großer Vorteil der RFID (Abk. für radio-frequency Identification, zu deutsch: Identifizierung mithilfe elektromagnetischer Wellen) Technologie ist außerdem, dass diese von der Hochschule auch bei den Studentenausweisen und Mensakarten verwendet wird. Wir haben also bei der Softwareentwicklung ein Augenmerk darauf gelegt, dass auch diese Möglichkeiten der Identifizierung je nach spezifischem Wunsch gegeben sind.
Projektziel
Projektdurchführung
Wir haben zunächst den RFID Sensor mit dem Arduino UNO Board verbunden. Eine Anleitung, wie dies sinnvoll möglich ist, ist in Abb. 1 zu sehen:
Abb1: Verbindungsmöglichkeit des Arduino Microcontrollers mit dem RFID Reader RD522 [1]
Nachdem wir diesen Aufbau erstellt hatten, beschäftigten wir uns mit der Programmierung des Arduino. Erste hilfreiche Informationen, über den Auslesevorgang des RFID Chips fanden wir bei der Recherche im Internet. Ebenfalls auseinandergesetzt haben wir uns mit der Möglichkeit, Daten auf dem Arduino möglichst clever für den Anwendungsfall zu speichern. Bei der Recherche, wie man auf dem Microcontroller gespeicherte Daten aus mehreren Programmen abfragen kann, stießen wir auf die Möglichkeiten, Daten auf dem EEPROM (electrically erasable programmable read-only memory) zu speichern. Da der EEPROM ein nichtflüchtiger Speicher ist, bietet eine solche Dateispeicherung außer dem Dateizugriff aus mehreren Programmen auch den Vorteil, dass Daten bei einem Stromausfall gespeichert bleiben.
Wir haben uns basierend auf diesen Informationen einige Funktionen überlegt, die für die Anwendung „Keyless Entry“ relevant sind. Als hilfreiche Funktionen definierten und implementierten wir folgende: SaveNewCard (byte code [], byte Stelle) Speichert die Informationen eines RFID Chips, die im Array Code [] abgelegt sind an der übergebenen Stelle. Die Stelle stellt nicht die im EEPROM belegten Plätze dar, sondern ist eine rein anschauliche Zahl, aus der die Speicherplätze im EEPROM berechnet werden. boolean CheckCard (byte Code []) Liefert einen booleschen Wert, der die Information enthält, ob der übergebene Code zu den auf dem EEPROM gespeicherten Codes zählt (true) oder nicht (false). void deleteCard (byte Pos) Löscht (Überschreibt mit 0) die Information des Chips, der an Stelle ‚Pos‘ abgespeichert ist. Dies hat die Lösung mehrerer Speicherzellen zur Folge, deren Positionen das Programm errechnet.
Wir haben das Programm außerdem mit der Funktion gestaltet, dass es auf 4 Byte, sowie auch auf 8 Byte große RFID Codes angewandt werden kann. Mithilfe der 8 Byte Variante, kann das Programm derart gestaltet werden, dass die Öffnungsfunktion mithilfe der Mensa-Karten oder des Studierenden Ausweises vorgenommen werden kann. Der Aufbau ist derart gestaltet, dass die grüne LED leuchtet, wenn der erkannte Chip zulässig ist und die rote LED leuchtet, falls der erkannte Chip nicht zulässig ist.
Projektfortführung
Mit dem von uns durchgeführten Projekt haben wir einen guten Grundstein gelegt, um mithilfe dieser Funktionen ein Schließfach System betreiben zu können. Das System besitzt gute Weiterentwicklungsmöglichkeiten um einen Systembus zu integrieren (Bsp. 4 abführende Drähte zur Informationsweitergabe statt einem). Mithilfe eines solchen Systembusses wäre es möglich, mit dem Arduino Microcontroller in Verbindung mit dem RFID Reader mehrere Schließfächer zu steuern und den Befehl nur an eines der Schließfächer weiterzugeben.
Ergebnis
Zusammenfassung
Weblinks
- Keyless Go bei Wikipedia
- Nymi biometrischer Zugang
- Video: Nymi
- Strichcode
- 2D-Code
- Mobile Tagging
- A New Method for Bar Code Localization and Recognition
- Barcode recognition
- Barcode Recognition Using Live Video Acquisition
- Universal Product Code - UPC
- Barcode Recognition
- YouTube: How Barcodes Work
Literatur
- Bernhard Lenk: Handbuch der automatischen Identifikation. Band 1-3: 2D-Codes, Matrixcodes, Stapelcodes, Composite Codes, Dotcodes. Lenk Monika Fachbuchverlag, Kirchheim unter Teck 2002, ISBN 978-3-935551-01-4.
- ten Hompel, M., u.A.: Identifikationssysteme und Automatisierung. Heidelberg: Springer, 2008. ISBN 978-3-540-75880-8
Projektunterlagen
YouTube Video
→ zurück zum Hauptartikel: WS 17/18: Fachpraktikum Elektrotechnik (MTR)