Posts mit dem Label Arduino werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Arduino werden angezeigt. Alle Posts anzeigen

Samstag, 12. März 2016

Arduino RFID Modul RDM6300

RFID Technologie ist eine spannende Angelegenheit, nachdem ich erste Erfahrungen mit einem Mifare RFID Modul gesammelt hatte, wollte ich mir ein 125khz RFID RDM6300 Modul ansehen.



Es gibt ausreichend Dokumentation für das Gerät, das mit einer seriellen Schnittstelle ausgestattet ist und mit 9600 bps die RFID Tag Information zum Host überträgt.

Das Format ist einfach, die Nachricht beginnt mit 0x02 und endet mit 0x03,  dazwischen ist die Tag ID und 2 Bytes Checksumme.
Die Tag ID wird hexadezimal in seiner ASCII Darstellung übertragen. Für eine dezimale Darstellung muss die Hex Zeichenfolge in einen Zahlenwert umgewandelt werden.

Beispiele:
In den Beispielen, die ich genutzt habe, gab es Unterschiede, wie die Checksum aus den Daten berechnet wurde und welcher Anteil für die Tag ID genutzt wurde.
Die 125khz Tags, die ich aus China bekommen hatte, haben ihre ID fest vergeben und auf dem Gehäuse sichtbar. Also brauchte ich nur solange probieren, bis ich die korrekte ID mit bestätigter Checksum erhalte.
´

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...

Sonntag, 3. Januar 2016

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.

Donnerstag, 31. Dezember 2015

Freeduino serial V2.0 Bausatz

Über die Feiertage hatte ich das Vergnügen, einen kleinen Bausatz für einen Freeduino serial V2.0 zusammenzubauen.




Erste Funktionsprüfung

Fertiger Bausatz

Der Bausatz ließ sich sehr leicht zusammensetzen, von NKC Electronics gibt es auch einen Blog Eintrag mit einer Schritt-für-Schritt Anleitung für diesen Bausatz. Braucht man allerdings nicht. Es ist sinnvoll, die Bauelemente nachzumessen, auf der Leiterplatte sind die Bauelemente mit ihren Werten vermerkt, macht es eigentlich sehr sicher keine Fehler zu machen.
Nach dem Zusammenbau habe ich ohne die beiden Schaltkreise die Spannungen gemessen, um einen Kurzschluss oder eine Überspannung auszuschließen, danach erst die beiden Integrierten Schaltkreise in die mitgelieferten Sockel gesteckt.
Da ich noch einen sehr alten Laptop (Dell Latitude C650) mit original serieller Schnittstelle, hatte ich eine Probleme Arduino Sketches zu laden.
Man muss nur daran denken, daß es sich um einen Arduino Duemilanove kompatibles Board handelt und entsprechend die Arduino IDE einstellt.

Das erste Projekt mit dem Freeduino serial V2.0 und enem 2.8'' TFT LCD Board

 

erstes Projekt mit dem Freeduino serial V2.0 und einem 2.8'' TFT LCD (LGDP4535)

Ich hatte mir vor einiger Zeit ein 2.8'' TFT LCD Board mit Touch und SD Unterstützung günstig über eBay beschafft. Leider hatte ich es bisher nicht geschafft, dieses Board zum Laufen zu bekommen.
Erst jetzt habe ich mir dieses Teil noch einmal vorgenommen und gleich 2 funktionierende Libs gefunden.


  1. Bibliothek AdaLGDP4535TFTLCD
    1. nutzt die Adafruit Gfx Bibliothek,
    2. hat ein Beispiel Sketch
  2. Bibliothek TFT-LGDP4535 
    1. nutzt auch die Adafruit Gfx Biliothek,
    2. bietet zusätzlich eine xTouch Bibliothek für die Touch-Funktion,
    3. hat zahlreiche Beispiel Sketches für Anzeige, Touch und SD Funktion,

Das Beispiel ist der Taschenrechner aus den Beispielen von Ceez.

Sonntag, 16. November 2014

2,2" TFT ILI9341 Arduino Shield

TFT Hardware

TFT Displays werden immer günstiger, ich habe ein 2,2" TFT mit SPI Interface (ILI9341 5 Pin) für unter 6 € mit Porto aus GB bekommen. Das ist ja unglaublich, wenn man überlegt, das dieses Angebot in die Nähe des billigsten LCD Displays mit SPI Interface kommt, aber viel mehr kann.




Die Auflösung dieses TFT Displays ist viertel VGA (320x240 Pixel). 

Projekt

Bei diesem Projekt ging es vor Allem, um die Hardware Ansteuerung, was ich dann damit machen werde, wenn das Shield fertig ist, weiß ich noch nicht.
Ich denke, wenn ich auch auf den SD Adapter zugreifen kann und man in einer erträglichen Geschwindigkeit auf Bilder zugreifen kann, wäre ein kleiner Bildbetrachter doch eine witzige Anwendung.
Dieses kleine Projekt wurde inspiriert von Gordon Pimblotts Blog Beitrag zu diesem Display.

 

Pin-Zuordnung


TFT-01 -> VCC3.3V
TFT-02 -> GND
TFT-03 -> CS -> D10
TFT-04 -> Reset -> D08
TFT-05 -> DC -> D09
TFT-06 -> MOSI -> SD-02
TFT-07 -> SCK -> SD-04
TFT-08 -> LED (D07 oder 3,3V mit 150 Ohm)
TFT-09 -> MISO -> SD-03
SD-01 -> CS -> D04


 

Pegelanpassung


Da das TFT Display ausschließlich mit max. 3.3V betrieben werden darf, muss nicht nur die Versorgungsspannung von 3.3V, sondern auch die Signalpegel mit max. 3.3V bereitgestellt werden.

Auch wenn der CD4050BE nicht die maximale SPI Geschwindigkeit schaffen sollte, nutze ich diesen Ansatz für mein Projekt.

Erster Versuchsaufbau auf Breadboard und Adafruid GFX mit ILI9341 Treiber,



Das Protoboard realisiert die Pegel-Wandlung und nimmt das TFT Board auf







 

Arduino Bibliotheken

 


Folgende Arduino Bibliotheken unterstützen dieses TFT Display mit ILI9341 Controller:


Für die UTFT Bibliothek für einen Arduino UNO nutzen zu können, muss man in der dafür vorbereiteten Memsaver Datei die Unterstützung für alle Controller außer dem ILI9341_5P deaktivieren. Damit steht jetzt genug Platz im UNO zur Verfügung, um das UTFT Demo 320x240 ablaufen zu lassen. 


Wie bei Gordon beschrieben, alles bis auf die ILI9341 5SP Treiber entfernen, so passte Gordons Sketch, der Hennings UTFT nutzt in den UNO Speicher.



Die Adafruid ILI9341 Bibliothek nutzt die SPI Pins und erreicht im Vergleich zur Nutzung 'normalen' Pins eine beachtliche Geschwindigkeitsverbesserung.
Ich musste nur im Konstruktor neben Chip Select und DC auch das Reset Pin mit übergeben, um im SPI Modus arbeiten zu können.






TFT SD Bildbetrachter


Ein kleines Projekt direkt vom TFTV2 Beispiel TFTBMP abgeleitet, das ein paar Bilder von der SD Karte auf dem TFT darstellt.




Montag, 28. Juli 2014

Nokia 5110 DIY Display Shield

Das Nokia 5110 LCD 84x48 ist ein super dokumentiertes und günstiges Mini Display.
Meine habe ich über eBay und Amazon besorgt.
Ich nutze die 5 V Version, sieht bei mir blau aus und der Spannungsbereich steht auch auf der Leiterplatte.

Das Shield kann sehr einfach aufgebaut werden, da die 8 Pins direkt mit dem Arduino verbunden werden können, lediglich für die 4 LEDs der Hintergrundbeleuchtung habe ich an einen PWM Pin einen Transistor angeschlossen.


Die extra LED ist für Anzeige der DCF77 Impulse, wenn die RTC über den DCF77 Empfänger synchronisiert wird.



Es gibt einige Arduino Bibliotheken für dieses LCD, ich nutze u8glib von https://github.com/olikraus/u8glib

DIY Nokia 5110 Shield mit RTC und Nokia 5110 LCD
DIY Nokia 5110 Shield mit THDuino
kompletter Aufbau
kompletter Aufbau in Aktion als Uhr

 

Arduino Digital Clock mit Nokia 5110 Display

Nach Idee aus dem Blog von Pawel Kadluczka habe ich seinen Sketch minimal geändert, um die Zeit und das Datum von einem RTC anzuzeigen.




Adafruit GFX Support für PCD8544

Die Adafruit GFX Graphics Bibliothek hat auch Treiber Unterstützung für das Nokia 5110 (PCD8544).

Mittwoch, 14. Mai 2014

I2C LCD Adapter mit RTC auf Stripboard


Nachdem ich einen Schwung super günstiger I2C LCD Adapter über eBay aus China bekommen hatte, lagen die PCF8574 Schaltkreise einfach nur so rum. 
Aber als ich die sehr guten Artikel von Enrico Sadlowski und von Mario_H gelesen hatte, habe ich mein eigenes kleines I2C LCD Adapter Projekt gestartet.

Der schon vorher genutzten DIY Layout Creater kam für das Stripboard Design zum Einsatz. Im ersten Entwurf fehlt noch das RTC Modul, das ich erst im Nachhinein verbaut habe.

DIY Layout, der PCF8574 passt in dieser Ausrichtung nicht wirklich platzsparend

Die Einzelkomponenten
Zusammengebautes Modul

Modul als Digitaluhr mit Datum

I2C LCD RTC Modul mit THDuino

Sonntag, 23. März 2014

Arduino Programmer Board, Teil 2

Der zweite Ansatz des Arduino Programmer Board entstand nach einer Anleitung von Paper-PCBs für das Programming Board.

Paper-PCB Programming Board auf Leiterplatte
Leiterplatten-Unterseite, sehr wenige Tracks müssen getrennt werden
Bestückung Widerstände
Bestückung Kondensatoren, Quarz, Verbindungen
komplett bestücktes Programming Board
Anwendung des Programming Boards, UBSTiny ISCP Programmer für den Bootloader und der MAX232 Programmer für die Sketches


Die Anleitung von Paper-PCBs für das Programming Board ist leicht umzusetzen, mein MAX232 Programmer hat eine etwas andere Beschaltung, so dass die Unterseite nach oben zeigt, rein kosmetisch, funktioniert gut. Ich hatte nur einen Taster für die Reset Funktion mit 4 Pins, der Platz hat nicht gereicht, also 2 Pins ab.
Da der USBTiny Programmer keinen Port braucht, kann man Bootloader und Sketch laden, ohne in der Arduino IDE etwas ändern zu müssen.


Den FTDI Sockel auf die andere Seite des Boards gebracht, jetzt stimmt auch die Kosmetik

Samstag, 22. März 2014

Arduino Programmer Board

Nachdem ich einen Schwung ATMEGA328P gekauft hatte, natürlich ohne Arduino Bootloader, spart ordentlich Geld, mußte der Bootloader installiert werden und der Blink Sketch in den 328P geladen werden, nur, um im Einsatz, am Blinken von D13 zu sehen, daß der Prozessor funktioniert.

Natürlich könnte man ein Arduino Board nehmen und den Prozessor austauschen, ist aber allerhand mechanischer Streß, hätte gern etwas mit ZIF Sockel, ISCP Sockel und FDTI Stecker für das Laden der Sketches.
Das Basisboard habe ich nach Anleitung von txapuzas.blogspot.com als Paperduino-Stripboard aufgebaut.

Basis Board, noch ohne ISCP Sockel
MAX232 Programmer
Kompletter Aufbau, der ISCP Programmer für den Bootloader, der MAX232 Programmer für die Sketches

Das Basisboard habe ich minimal modifiziert, die wichtigste Änderung; der ZIF Sockel für den Prozessor, dann ISCP Sockel, DC Buchse statt Terminal und noch die Schutzdiode und die Stützkondensatoren für den 7805. Für meine Anwendung brauche ich keine Header Leisten, sind für den Platz des ZIF Sockel weggefallen. 

Stromversorgung über ISCP, Arduino IDE starten, Port für den ISCP Programmer wählen und den Bootloader laden, dann auf den Port für den MAX232 wechseln und der Sketch programmieren, ganz ohne den Prozessor zu wechseln.