Samstag, 23. Januar 2016

Arduino RFID Modul RC522

Nachdem ich sehr interessante Beschreibungen von RFID Anwendungen für den Arduino gelesen hatte, wollte ich mir ein RFID Kit für den Arduino besorgen und meine eigenen Erfahrungen sammeln.
Nach doch einer recht langen Wartezeit kamen die beiden RFID RC522 Kits aus China bei mir an.



Neben dem Modul und den Leiterplatten Steckerleisten waren auch zwei RFID Tags im Lieferumfang enthalten.

Hintergrund

Wer an mehr Hingrundinformation zu RFID interessiert ist, kann unter Makecourse eine sehr ausführliche Beschreibung bekommen.

Arduino Bibliotheken

Von der Arduino Playground Seite zu RC522 kommt man zur RC522 Bibliothek von Miki Balboa (miguelbalboa), die eine umfangreiche Dokumentation mit Fritzing Darstellungen für die Anwendung bietet.
Hier die Beschreibung des Pin Layouts für die Nutzung der Bibliothek. 






Schnell war ein kleines Demo auf dem Breadbord zusammengesteckt, 2 von 4 RFID Transpondern sind bekannt und lassen eine grüne LED leuchten, sonst eine rote...

Weiter geht es, die RFID Transponder mit Informationen zu beschreiben, aus denen dann Zugriff gewährt wird oder eine Anzeige auf einer LCD dargestellt wird.

Beispiel einfachste Zugangskontrolle

Dazu braucht man ja wenigstens zwei Dinge, etwas, was die Tags so vorbereitet, damit sie dann ausgewertet werden können.
Dazu werden die fabrikneuen Tags mit einem Namen und einer Pin beschrieben.
Zukünftig würden auch die Schlüssel geändert werden, aber das sind dann nur Details.

Zum Auslesen und Anzeigen auf einem LCD Display und dann weiter ein Relay oder Servo zum Öffnen einer Tür, durch den Pin könnte man zusätzlich noch mit einem Keypad den im Transponder gespeicherten Pin abfragen.

links werden die Tags beschrieben, rechts ausgewertet

Zugang OK, der Name wird ausgelesen und angezeigt

Alarm! Unbefugter Zugang, das ging noch mal gut...

Montag, 4. Januar 2016

433MHz Kommunikation als Zeitgeber

Mit meinem DCF77 Projekt, hatte ich die Möglichkeit, die Uhrzeit sehr genau zu bestimmen und anzuzeigen.
In anderen Projekten, die eine RTC nutzen, nutzte ich die DCF77 Bibliothek und verband  das DCF77 Signal und Masse der beiden Boards, um so die RTC genau zu stellen.
Diese Methode funktioniert, ist aber mühsam.
Es wäre doch sehr bequem, die Zeit und das Datum drahtlos zu verteilen und auf der Empfänger-Seite wird ein SyncProvider genutzt, der aus der empfangenen Nachricht die Zeit synchronisiert.

433MHz Rx/Tx Module

 

Diese Module bekommt man recht günstig auch gleich als Paket mit 10 Sendern und Empfängern.
Ich nutze die VirtualWire Bibliothek und bin sehr zufrieden damit.






 

Erweiterung des DCF77 Moduls für den 433MHz Sender

 
Das Datum und die Zeit werden jetzt von der DCF77 synchronisierten Uhr gesendet, jede Sekunde die komplette Information, allerdings nur auf sehr kurze Distanz.
Der Empfänger braucht jetzt nur die VirtualWire Bibliothek zu nutzen, die Nachricht zu empfangen und als Datum/ Zeit zurückzugeben, als SyncProvider.

 

433MHz SyncProvider Empfänger

 






Sonntag, 3. Januar 2016

THDuino Knight Rider

Aus dem Arduino Knight Rider Post (die Knight Rider Version 3) habe ich die Idee eines LED Lauf-Licht genommen, um es mit einem kleinen Shield für den THDuino zu bauen.



THDuino mit LED Shield
Es sind 8 LEDs, die über Transitor von Arduino Ports angesteuert werden.



Die Laufzeit lies sich nur über eine Programm Änderung beeinflussen, Idee, einen Distanz Sensor nutzen, je dichter ein Objekt kommt, um so schneller läuft das LED Licht...




Mit einem Distanz-Sensor wird die Laufgeschwindigkeit reguliert


Der Sketch lässt sich noch verbessern, es stockt etwas bei schnellen Distanz Änderungen.

I2C Scanner mit 3Wire LCD Anzeige

Der für mich bequemste Weg ein 16x2 oder 20x4 LCD Display zu steuern ist über den I2C Bus.
Funktioniert zuverlässig und ist sehr einfach aufzubauen.
Es ist manchmal mühsam, die Adressen der Geräte herauszufinden, manchmal ist die Dokumentation falsch, also programmiert man den I2C Scanner Sketch und lässt sich die verbundenen Geräte über den Seriellen Monitor anzeigen.




In diesem Projekt nutze ich ein 3-Wire LCD Display, um die I2C Adressen, der angeschlossenen Geräte anzuzeigen.

Anzeige von 4 erkannten Geräten mit den Adressen-Informationen 
Aufbau der 2 LCD Displays und der RTC mit EEPROM
Hier sieht man das 3Wire Board für die LCD Anzeige

Der Sketch ist der original I2C Scanner mit der zusätzlichen Ausgabe auf dem LCD Display, in meinem Fall ein 16x2 Display für ein 20x4 Display müssten minimale Anpassungen durchgeführt werden.