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, 4. August 2014

Arduino Due TFT Analog Uhr

Henning Karlsen hat eine sehr praktische Universal TFT Bibliothek für Arduino Mega und Arduino Due geschaffen. Schon das Demo ist sehr eindrucksvoll.
Als Fingerübung hat er ein UTFT Analog Clock Project programmiert.
Mit meinem ersten Arduino Due habe ich dieses Projekt nachgebaut.

Alles recht geradeaus, TFT 320x240 3,2'' mit dem entsprechenden Adapter für den Arduino Due, alles ganz einfach. 
Was fehlt, eine RTC, eigentlich kein Problem, aber wo ist die Proto-Area bei diesem Board? Ja gibt es nicht, dann muss man improvisieren.

Auf dem Adapter Board eine RTC 
(mit Panzerband befestigt! nur für das Foto entfernt, damit man es sehen kann)

Es funktioniert, eine TFT Analog Uhr!

Einstellung per Touch!


USBasp Paper-PCB Programmer

Wolfgang Spahn auf dernulleffekt.de unter Paper-PCB bietet neben anderen sehr nützlichen und spannenden Projekten auch einen ATMEGA8 basierenden USBasp ICSP Programmer nach dem Design des USBasp Boards von Thomas Fischl.

Diese gute Vorarbeit ermöglicht dem Laien (oder auch einem faulen Jemand, der einen Schaltplan selber auf einer Lochstreifen-Leiterplatte umsetzen könnte) sehr schnell einen USBasp ICSP Programmierer umzusetzen.




Im Moment steht nur die HW, der ATMEGA328 ist mit Tomas Fischl letzter Firmware programmiert,,,

Jetzt warte ich nur noch auf den 12MHz Quarz, hatte nur einen 16MHz Quarz, der ATMEGA328 schwingt zwar an, die grüne LED leuchtet, allerdings funktioniert die USB Erkennung nicht...
Hoffe, der richtige Quarz macht den Unterschied.

Nachtrag am 07.08.2014

Habe heute die 12MHz Quarze bekommen, gleich in den Programmer eingesetzt, USB Kabel angeschlossen...
das Board wurde sofort erfolgreich als USBasp Gerät erkannt!
Die Treiber wurden installiert und dann konnte ich den Arduino Bootloader in einen ATMEGA328 installieren! 
Alles gut, freue mich schon auf das nächste USB Bitbanger Projekt, meinen Nachbau des ATMEGA328 Metaboards.

ATMEGA328 basierender Transitor Tester




Das kennen bestimmt einige Bastler, man hat eine Kiste mit elektronischen Bauelementen, bei denen die Typenbezeichnungen nicht mehr zu erkennen oder für die Bezeichnung keine Datenblätter zu finden sind.

Da wäre es doch super, wenn man wenigstens die Transistoren bestimmen könnte, Minimum, die Beschaltung und den Typ, gut noch die Stromverstärkung und die minimale Steuerspannung.

Ich habe einen Bausatz per eBay besorgt:
DIY Capacitance ESR Inductance Resistor LC Meter Tester NPN PNP Mosfet M168 Kit

gibt es offensichtlich in einer enormen Preisspanne auf unterschiedlichen Online Stores und bei eBay, das teuerste Angebot fand ich bei Amazon.

Beautyforall DIY Meter Tester Kit For Capacitance ESR Inductance Resistor NPN PNP Mosfet M168

Die Verarbeitung ist super, braucht keine Anleitung, da die Leiterplatte sorgfältig beschriftet ist, man muss nur die Widerstände bestimmen.
Löten ist extrem einfach und sehr schnell erledigt.


Betriebsspannung entweder mit 9V Block oder durch Netzteil 7V-12V. Ich habe meinen schnell mit einem 9V in Betrieb genommen.


Hat sofort funktioniert, super! Der Terminal.Verbinder ist nicht ganz praktisch, habe erst mal Mess-Klemmen angeschlossen, überlege aber, ob nicht ein Mini Breadboard statt des 9V Blocks auf die Platine kommt und der Prüfling dann dort getestet wird.
Bin sehr zufrieden mit diesem Bausatz und dem fertigen Gerät, wenn es auch nur Transistoren bestimmen könnte, aber es kann noch zusätzlich Kapazitäten, Induktivitäten und Widerstände messen!

Das Mini Breadboard erleichtert das Messen

Freitag, 15.August 2014

Mit der Begeisterung für dieses nützliche Messgerät bin ich auf einen ausgezeichneten Beitrag von Karl-Heinz Kübbele gestoßen, unter http://www.mikrocontroller.net/svnbrowser/transistortester/ bietet er alle Unterlagen zu diesem Projekt in einer außergewöhnlichen Qualität an. 
In der Hardware Dokumentation ist sogar ein Stripboard Design mit angepasstem Schaltplan zum Nachbauen!



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

Samstag, 29. März 2014

THDuino V7

Es ist Zeit, meinen eigenen Arduino-Clone zu bauen.

  • soll einfach sein, 
  • auf Lochstreifen Platine zu realisieren, 
  • FDTI und I2C Schnittstelle haben. 
  • Wichtig, es muss mit Shields erweiterbar sein, die wiederum mit Lochstreifen Platinen aufgebaut werden sollen.
  • Mit der Dokumentation soll das Board immer wieder nachzubauen sein.


Wenn man ganz genau ist, handelt es sich beim THDuino nicht um einen Arduino-Clone, weil die Arduino-Shields nicht auf dieses Board passen, sollen sie auch nicht, ich will ja für die Shields Lochstreifen-Leiterplatten nutzen mit Standard Rastermaß 2,54 mm.

Basis war der Paper-PCB Paperduino-Uno v3.0


Hier mein Entwurf eines Arduino Clones

Die beiden Boards mit der Stromversorgung






Die Schutz-Widerstände für das FDTI Interface haben das Signal des Programmers gestört, sind im fertigen Design (V3) überbrückt.

Nur als Fingerübung habe ich schon heute das erste Proto-Shield für den THDuino erstellt, nachdem ich viel Geld für original Arduino Proto-Boards ausgegeben hatte, freue ich mich jetzt, Shields für den THDuino mit Standard Streifenraster-Leiterplatten bauen zu können. 


THDuino mit Proto-Shield

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.