====== 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)