Hallo, nachdem ich mein Projekt unter Beitrag "Re: Zeigt her Eure Kunstwerke !" vorgestellt habe, geht es mir jetzt darum die Ansteuerung zu optimieren (um nicht in dem Thread weiter zu diskutieren). Ich verwende ein Arduino Board mit ATMega328@20MHz und 3 Display Board von Sureelectronics (http://www.sureelectronics.net/goods.php?id=147). Ein Display besteht aus 64x32 bicolor LEDs und wird über 4 row select pins A,B,C,D (=16 Reihen), R1 (Rot obere Display-Hälfte), R2 (untere Hälfte), G1, G2 und EN, CLK und LATCH (für die 74HC595 Schieberegister) angesteuert. Zu Beginn habe ich die Display's kaskadiert. Dies ergibt 2x16 Reihen a 192 bit pro refresh. Die erzielte Frame Rate war gering. Dann habe ich A,B,C,D sowie EN, CKL und LATCH gemeinsam verbunden und R1...G2 pro Display einzeln angesteuert (19 pins!). Frame rate war gering höher aber immer noch nicht top. Im Thread kam der Vorschlag R1...G2 gemeinsam zu verbinden und EN & LATCH pro Display einzeln anzusteuern. Ich erkenne hier jetzt noch keinen Vorteil, werde es aber mal testen. Die meiste Zeit geht sowieso bei der Umrechnung des Display Buffers auf die Display Hardware drauf. Da ich den Buffer als 96x64 bit ausgelegt habe, das Display aber anders herum beladen werden muss. Eine Möglichkeit ist die Umrechnung nicht bei der Display-Refresh Methode durchzuführen sondern in den setPixel Funktionen, dann ist jedoch ein direktes Schreiben in den Buffer nicht mehr möglich. Wie würdet ihr die Ansteuerung lösen? Danke für Ideen und Vorschläge, Tobias
In den buffer wird doch wesentlich seltener geschrieben als davon gelesen (refresh) daher macht es doch sinn, den buffer so aufzubauen, dass es möglichst einfach ist ihn auszulesen. Aber sehr schickes Projekt! Vielleicht könntest du auch auf XMega umsteigen, da 32MHz und Eventsystem etc. Das könnte das ganze etwas schneller machen.
Habe jetzt eine kleine Animation auf dem Display am Laufen. 64x64 Pixel mit 6 Frames von einer GIF Animation exportiert. http://www.youtube.com/watch?v=gubQbWLMAnI
Habe jetzt die setPixel Funktionen und das schreiben auf das Display optimiert. Somit schaffe ich ca. 50 Bilder pro Sekunde vom Flash-Speicher auf das Display zu schreiben. Werde nach kleinen Anpassungen auch mein Python Skript veröffentlichen mit dem ich die GIF Bilder exportierte. Habe mir auch alte NES Controller besorgt und ein kleines Snake programmiert. Video gibts hier: http://tobiscorner.floery.net/projects/avr/arduino-ikea-coffee-table-hack-–-snake/232
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.