====== Dot Matrix Display ======
^ Dot Matrix Display ||
^ Inventar | [[https://inv.aachen.ccc.de/items/inventory/0c509d7d-ca7f-4bbc-852a-34c0cf791526|Gegenstand im Inventar]] |
^ Kontakt | [[wiki:user:cracki |cracki ]] |
^ Status | aktiv (2016-06-28 09:01) |
Zwei Dot Matrix Panels aus China, 32x16 Pixel Rot, 10 mm Pitch (P10). Keine Ahnung, wem die gehören.
Arduino, ESP8266 NodeMCU Devboard, Steckbrett, Netzteil sind Clubbesitz/Getränkekasse.
* http://digital-wizard.net/avr_projects/p10_led_display_panel_interface
* http://ediy.com.my/index.php/blog/item/116-arduino-driving-a-32x16-dot-matrix-display-panel
* https://github.com/freetronics/DMD
* https://github.com/freetronics/DMD2
===== Pinbelegungen =====
* 1: Output Enable (PWM-fähig)
* 2: A mux
* 4: B mux
* 8: Shift Clock (SPI clock)
* 10: Store Clock (SPI select)
* 12: R (SPI mosi)
===== Implementierung =====
* modifizierte DMD2: https://github.com/crackwitz/DMD2
* arduino sketch und lua script https://github.com/crackwitz/esp8266-arduino-dmd2-pixelflut
* TCP pixelflut kommt *vielleicht* noch. wer ne implementierung in NodeMCU-Lua anschleppt
==== MQTT Endpunkte ====
* runlevel : shutdown/launch
* kontrolliert, ob gameoflife laeuft oder alles aus
* cracki/esp-devboard/
* reset :
* "arduino" = resettet nur den Arduino
* alles andere resettet den ganzen Apparat
* solid : 0/1/255
* 0 und 1 setzen die pixel auf 0 oder 1
* 255 invertiert alles
* dutycycle : 0-255
* sollte man nicht uebertreiben, sonst sperrt das alles komplett. Die aktuelle Stromversorgung (und Verkabelung) sollte nicht weit ueber 20 getrieben werden, sonst haengt das alles.
* pixelflut : PX <0/1>
* bitmap : 128 bytes
* text : Text vollhoch
* text1 : Text Zeile 1
* text2 : Text Zeile 2
* gameoflife : 0/1
* gameoflife/noise : 0-255
* gameoflife/autonoise : 0/1
==== Pinbelegungen ====
Panel -> Arduino:
* 1 -> D9 (mit 100k pulldown, sonst legen die panels los, ueberlasten das netzteil, spannung am arsch, arduino kommt nicht hoch)
* 4 -> D7
* 8 -> D13
* 10 -> D8
* 12 -> D11
Arduino mit ESP fuer netzwerk:
* RXD <- ESP TXD0
* TXD <- ESP RXD0
* reset <- ESP D2
* GND und VCC passend
ESP als netzwerksklave an Arduino:
* erde, vcc
* TXD0 -> Arduino RX
* RXD0 -> Arduino TX
* D2 -> arduino reset
ungetestete alternative, falls man custom firmware fuer den ESP bauen will:
* 2 (A mux) -> D1
* 4 (B mux) -> D2
* 1 (OE) -> D3 (sollte PWM koennen)
* 8 (SPI clock) -> D5 (HSCLK)
* 10 (store pulse) -> D0 (gpio)
* 12 (R) -> D7 (HMOSI)