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

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.

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

Freitag, 24. Januar 2014

DS3232 RTC Modul für Arduino

Nachdem ich fast alle RTC in meinen Projekten mit einem DS1307 umgesetzt hatte und nicht glücklich war mit der "Genauigkeit" dieser RTC, habe ich mich nach Alternativen umgesehen. Der DS3232 ist deutlich teuer, schon nur als Chip ohne Board, wie die meisten DS1307 RTC Module.
Also mußte ich mir erst einmal mein DS3232 RTC Shield bauen, um dann zu sehen, wie genau diese Lösung ticken würde.
DS3232 Shield mit UNO und Leonardo I2C Anpassung

Erster Entwurf für das DS3232 Shield, zu dieser Zeit hatte ich nur Arduino UNO Boards

Ein DIY RTC Shield mit DS3232 (Datenblatt DS3232), I2C Bus für Arduino UNO und Leonardo mit Umschalter. Für UNO an A4 (SDA), A5 (SCL) und D2, D3 für Leonardo Boards.

Die I2C Adresse der RTC ist 0x68. Als Arduino Lib habe ich DS1307new genutzt. 
Es gibt allerdings auch eine Bibliothek speziell für die DS3232RTC.

Mit meiner DCF77 basierenden Arduino-Uhr konnte ich diese Uhr sehr genau stellen und bin begeistert, wie genau diese RTC die Zeit hält.

Nachtrag 17.09.2016

Haben mir gerade diesen Artikel angesehen, das Shield habe ich mit einem DS3232, den ich einzeln für damals 5€, einem das Proto-Board für 4€ und mit einer Batteriehalterung für ein paar Cent gebaut. Den SMD Schaltkreis mit der Hand zu löten ging so. Jetzt habe ich ein komplettes DS3232 Board für 1€ aus China bekommen, so schön es ist, damit zu basteln, der Anreiz etwas selbst zu bauen wird immer geringer. 

Dienstag, 14. Januar 2014

Arduino DCF77 mit GLCD 128x64 Display

Projektbeschreibung

Ich liebe Uhren, besonders mechanische mit automatischem Aufzug, so viele Komplikationen, wie möglich, allerdings sollten die Uhren schon genau gehen, und wenn nicht, dann muss man ein Normal als Referenz zur Verfügung haben.
Nachdem ich seit meiner Ausbildung nur noch selten etwas mit Elektronik zu tun hatte, ist meine Leidenschaft mit einem Conrad Adventskalender, der elektronische Bauelemente in den Türen versteckt, dazu gibt es Idiotensichere Beschreibungen zu den kleinen Experimenten, hatte es für meine Töchter gedacht und dann doch selbst damit gebastelt, wieder geweckt worden.

Der Schritt zu einem Arduino und einer kleinen Werkstatt war dann nicht mehr so groß. Nach ein paar Lötübungen an einem Kapaztätsmesser und anderen Bausätzen, habe ich mit dem Arduino Digitale Uhren gebastelt.
RTC Modul an den Arduino angeschlossen, ein 1602 LCD Display genutzt, fertig war die DS1307 basierte Uhr! Unterschiedliche Displays versucht, und immer wieder eine Uhr gebaut.


DS1307 Shield und LCD1602 I2C Display
SD1602 Display aus einem alten Drucker mit einem DS1307 RTC Shield

Das Stellen der Uhren war mir mit der Zeit zu mühsam, es sollte doch möglich sein, eine Uhr mit einer anderen zu synchronisieren.
Natürlich sollte die Uhr, mit der man synchronisiert auch recht genau gehen.

Aus dem Haushalt kennt man ja die DCF77 Uhren, sehr genau und man freut sich, wenn mal wieder die Uhren umgestellt werden müssen und man mit diesen keine Arbeit hat.



Mit einem günstigem DCF77 Modul von Pollin und einem SN74HC14N zur Impulsformung konnte man schon ein schönes DCF77 Signal sehen. Für die 3V Versorgungsspannung habe ich die Idee mit der Masse-Erhöhung durch die vorgeströmten Dioden aufgegriffen, aber durch eine LED ersetzt.

200ms DCF77 Signal für logisch 1

Hardware

  • Pollin DCF77 Modul, hier eine sehr gute Beschreibung von Herrn Bernard Redemann zum DCF77 Empfänger
  • Arduino
  • LCD oder GLCD Display

Software

Ablauf

Erster Aufbau mit einem Breadboard, Versorgungsspannung OK, PON OK, Signal mit einer LED an einem OPV und mit DIY Scope überprüft. Signalpegel hat nicht für TTL gereicht, nach Einsatz des SN74HC14N habe ich ein sehr schönes DCF77 Signal bekommen.

Erster Aufbau mit dem Pollin DCF77 Modul und IIC Display
Der nächste Schritt bestand darin, ein DCF77 Shield zu bauen. Ohne Sinn und Verstand angefangen, zu löten und dabei nicht bemerkt, dass...
Erster Versuch DCF77 Shield
ich auf der Unterseite des Prototype Boards bestückt hatte! Super, funktioniert, kann man aber nicht als Shield nutzen. Außerdem hatte dieser Aufbau nur ein OPV zur Signalaufbereitung, hat beim UNO funktioniert, aber beim Leonardo nicht. Der Pegel war nicht TTL konform.

DCF77 board mit 2004 LCD
Wie man im Bild sieht, ist es dann doch gelungen, mit der u8g.setScale2x2(); Funktion, die den gewählten Font vergrößert.


Ergebnis: Arduino Leonardo mit DIY DCF77 Shield und 128x64 GLCD per SPI Schnittstelle  
Alles zusammengebaut, die beiden Displays angeschlossen, fertig! Eine genaue Uhr im Keller, jetzt fehlt das Gehäuse! Leider habe ich überhaupt kein Geschick mit Gehäusen...
Blick auf das DIY Shield für RTC Modul, IIC und SPI