# Project Redshift Ich hab (vor langer langer Zeit) ein rotes LED Display gebaut. 64x8=512 Pixel .. vielleicht bauen wir noch 2,4 oder 5 Zeilen dazu... 64 x 12 = 768 pixel Strom gemessen: Gesamt: Standby: 1A, max(all on): 3,3A @ 5V Spannung: 1,7V pro LED Hardware: 12 x Platine(LED Board) 57x4cm pro Pixel-Zeile Ein LED Board ist ein horizontaler Streifen mit 64 LEDs, 8 x 74LS164N Schieberegister, einem 74LS14 und einem BD244 Transistor (für blanking und LED Kathoden Strom) Hardware Bugs in row 2(dritter Streifen von oben): 0,2,4,8,10: zu dunkel 6: sehr dunkel 15: aus 14te von hinten: wackelkontakt Erklärvideo zu Schieberegistern: https://www.youtube.com/watch?v=5qxHt4MK3u8 Es ist per WLAN steuerbar. **Protokoll: MQTT** oder blinkenlights oder Pixelflut ? byte 0 ist oben links byte 7 ist oben rechts byte 63 ist unten rechts (darum kümmert sich die Funktion show_frame) bit 0 ist jeweils links ![](http://www.23hq.com/23666/33959922_72e284e7c2928cd96f07fafec4a88bdc_standard.jpg) https://www.youtube.com/watch?v=UWeVywR_sd0 https://www.youtube.com/watch?v=szZwZUXPbVs (mit Atmega32 und Borgware) Fonts: https://github.com/dhepper/font8x8 http://pelulamu.net/unscii/ UDP Datenübertragung: https://thearduinoandme.wordpress.com/tutorials/esp8266-send-receive-binary-data/ pull Frames per Websocket ? https://github.com/Links2004/arduinoWebSockets/blob/master/examples/WebSocketClient/WebSocketClient.ino websocket server in Python: https://gist.github.com/rich20bb/4190781 https://stackoverflow.com/questions/18947091/tornado-websockets-supporting-binary-part-2 *VNC - gute idee ? irgendwann mal testen https://github.com/Links2004/arduinoVNC http://wiki.niftylight.de/Category:Libniftyled für mehr Helligkeits-Stufen: ESP/arduino Multitasking mit Ticker: https://github.com/esp8266/Arduino/tree/master/libraries/Ticker/examples https://github.com/Toshik/TickerScheduler http://arduino-er.blogspot.de/2016/04/nodemcu-esp8266-call-function.html * *Status * *Firmware mit WiFi, OTA, Text und MQTT für ESP8266: in Nextcloud: Chaostreff/Projekte/redshift/redshift_binary_frame alte Version: https://gist.github.com/mherweg/54baf4cb1cfe5066ac396977d6cb84cd ## das-labor.org Borgware 2D Die "Borgware 2D" kann (fast) alles was wir wollen. Ich glaub' sie läuft auch auf Arduino Mega 2560 (ein Klon kostet $7.-) (Wenn nicht , kann ich eine Atmega32 Platine löten) Steuerung über CAN Bus oder seriell (am Raspberry oder mit ESP Modul). Seriell hat bei mir noch nie funktioniert :-( Um die Borgware zu nutzen muss entweder die Hardware zurück-geändert werden auf: 1 x Daten(alle Zeilen zusammen) und 8 x Takt oder in Borgware der Treiber geändert werden: https://github.com/das-labor/borgware-2d/blob/master/src/borg_hw/borg_hw_borg_mh.c https://wiki.das-labor.org/w/Borgware-2D https://wiki.das-labor.org/w/Borg16#Software https://wiki.das-labor.org/w/BorgTextAnim https://wiki.das-labor.org/w/Borg16#Shell_auf_der_seriellen_Schnittstelle https://wiki.das-labor.org/images/1/16/Borg16_getting_started.pdf *Wahl des Controllers: Atmel arduino: Vorteil: das-labor.org Borgware läuft Nachteil: kein WLAN, hard to modify & debug ESP mit micropython: vorteil: live IDE im Browser Raspberry Pi Zero W: vorteil: Linux nachteil: 12€ teurer, SD Karte kann kaputt gehen, timing http://www.frank-durr.de/?p=203 ESP arduino: vorteil: OTA update ist möglich, Testprogramm läuft, WIFI & MQTT läuft. ## Zukunft / nice to have * Zeit & Datum per ntp empfangen und anzeigen (sommer & winterzeitumstellung?) * 4 Helligkeitsstufen: 0,1,10,11 -> hardware PWM an D6 * schöne client-software, um Texte und Bilder zum Display zu senden * Adafruit GFX lib oder Teile aus das-labor.org's borgware 2D code nutzen (s.o.) * scrolling füt bitmaps & text https://github.com/riyas-org/max7219/blob/master/MaxMatrix/MaxMatrix.cpp * Erweiterung auf 64 x 13 pixel - Erfordert neues Gehäuse. * Power on/off automatisch per soft-on des PC-Netzteils oder per Sonoff WLAN Relais? * Verpol- und Überstrom-Schutz DONE: schönes/kein Gehäuse/ Chassis, die "Kämme" 3D drucken. DONE:* over the air update für die firmware (klappt nicht immmer) DONE * 5V Stomversorgung: PC Netzteil wie das UFO (XT60 Stecker) DONE(MQTT): Frames per TCP oder UDP empfangen (kann Borgware nicht) DONE * Nokia-LCD library o.ä. für Text DONE * 5x7 Font & Textausgabe in der Firmware DONE Integration Adafruit GFX Lib zusätzliche LED Platinen vorhanden : 4 x mit roten LEDs 1 x ohne LEDs , 74LS14 und ein paar 100nF fehlen noch -> 8+5 = "Glückszahl" 13 ;-) -> 832 LEDs! :-) z.B. 1 x Farbe X 11 x rot (davon eine Zeile "etwas anders rot" ;-) ) 1 x Farbe X dafür werden 3 x 64 = 182 LEDs benötigt. diffus, 5mm oder 1000 Stück für $10.- ;-) https://www.aliexpress.com/item/1000PCS-5MM-Blue-LED-light-emitting-diode-Blue-Diffused-light/32332218634.html grün oder gelb: 6ct/Stück (bei Reichelt) https://www.aliexpress.com/item/Free-shipping-100pcs-Red-light-emitting-diodes-Red-turn-Red-5mm-led/32321154120.html Test mit anderen Farben: https://www.youtube.com/watch?v=7jAv57hpVN4 ## Mechanik an der Hinterkante sind 4 Stück 3mm Löcher, wir können die Platinen an 3mm Gewindestangen auffädeln (DONE) ## Board Anschlüsse *FN LED Board 1000/1 ### Stecker1 *1 - *2 GND *3 clear/reset(*): 1k Ohm pull up nach +5V *4 clock(*) Blau *5 blank(alle LEDs aus schalten) (PWM) geht direkt an die Basis des Transitors, der die Kathoden schaltet Grün *6 - *7 Data In(*) Gelb ### Stecker2 *8 Data Out *9 clock *10 clear/reset *11 +5V *12 +5V rot *13 GND braun *14 GND *=geht jeweils durch 2 gatter des 74LS14 und danach zu dem/den Schieberegister(n) Abstand Plantinenkante und Unterkante LEDs: nicht einheitlich, ca. 6mm ## Software Es kann Befehle und Frames(Bilder) via MQTT empfangen. Ihr seid alle herzlich eingeladen, bits und bytes an dieses Display zu schicken! Wie das UFO und die ws2812-Tonne wird es durch ein PC-Netzteil mit 5V versorgt. Das Netzteil steht im Schaltschrank und kann per Fernbedienung/Funksteckdose eingeschaltet werden. Sende einen Text via MQTT oder node-red: http://nodered/ui/#/0 Weitere Details im Pad: http://pads.c3re.de/p/redshift Ähnlich wie beim WS2812-UFO kann man die Pixel per MQTT ansteuern. Das Topic lautet: huette/clubraum/000/redshift/actuators/set_pixel Folgende Befehle kann man an dieses Topic senden: * 0-512 #ffffff (set one pixel) * en rechts im Regal des Clubraums. * Es kann Befehle und Frames(Bilder) via MQTT empfangen. * Ihr seid alle herzlich eingeladen, bits und bytes an dieses Display zu schicken! * Wie das UFO und die ws2812-Tonne wird es durch ein PC-Netzteil mit 5V versorgt. Das Netzteil steht im Schaltschrank und kann per Fernbedienung/Funksteckdose eingeschaltet werden. * Sende einen Text via MQTT oder node-red: http://nodered/ui/#/0 * Ähnlich wie beim WS2812-UFO kann man die Pixel per MQTT ansteuern. Das Topic lautet: huette/clubraum/000/redshift/actuators/set_pixel Folgende Befehle kann man an dieses Topic senden: * 0-512 #ffffff (set one pixel) * 0-512 #000000 (clear one pixel) * text Hallo (max 10 Zeichen Text anzeigen) Zweites Topic: huette * 0-512 #000000 (clear one pixel) * text Hallo (max 10 Zeichen Text anzeigen) Image Magick: convert bild.png -depth 1 bild.rgb stream -map r -storage-type char test.png test1bit.rgb gimp: Exportieren als .h https://hackaday.com/tag/web-interface/ http://www.solderlab.de/index.php/software/glediator *Verpolschutz Ideeen: http://www.lothar-miller.de/s9y/categories/39-Verpolschutz http://rn-wissen.de/wiki/index.php?title=Schutzschaltungen http://chris.cnie.de/elektronik/verpolungsschutz.html
{}