Blinkenwall.com: Unterschied zwischen den Versionen
Pete (Diskussion | Beiträge) |
Pete (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
[[Bild:Blinkenwall_webinterface.png|thumb|right|300px|Webinterface Screenshot]] | [[Bild:Blinkenwall_webinterface.png|thumb|right|300px|Webinterface Screenshot]] | ||
== Blinkenwall.. == | |||
= Blinkenwall v2 = | |||
Concept: No glass bricks any more, instead something mounted on the wall. This simplifies a lot of things and also allows a higher resolution. | |||
[https://hackaday.io/project/19876-blinkenwall-v2 Hackaday.io Project Link ] | |||
== Current State of Project == | |||
Already did: | |||
*Ordered Panels | |||
*Got Panels | |||
*Welded Metal Frame | |||
*Mounted Panels on the Frame | |||
Actual Status: Hardware is running | |||
== Current State of the Budget == | |||
{| class="wikitable" | |||
|- | |||
! Item !! Price !! Delivered | |||
|- | |||
| 60 panels || €476.28 || {{Yes}} | |||
|- | |||
| Controller cards + cables || €146.97 || {{Yes}} | |||
|- | |||
| Shipping for panels + controllers || €283.91 || {{Yes}} | |||
|- | |||
| Import tax + toll + fees || €201.16 || {{Yes}} | |||
|- | |||
| 6x200W Power supplies || €203.28 || {{Yes}} | |||
|- | |||
| Network cable || ? || {{No}} | |||
|- | |||
| Computer || ~€40 ? || {{No}} | |||
|- | |||
| Mounting frame || ? || {{Yes}} | |||
|- | |||
| Diffusing plate || ~€200 ? || {{Yes}} | |||
|} | |||
== HUB75 == | |||
One idea: Using the HUB75 panels available for cheap from China. | |||
The goal is to have a resolution roughly equivalent to the original Gameboy (160x144). Note that it had an aspect ratio very close to square, which is not feasible on the wall. Thus, the goal is to have at least 160 pixels horizontally, and whatever is suitable vertically (96?). | |||
HUB75 panels are classified by their pixel distance. The distance chosen for this calculation is P10, which means 10mm distance (in both dimensions). This is the lowest density available for indoor panels. | |||
The old Blinkenwall has a size of 1920x1100mm, but the new one can be significantly taller and a bit wider. HUB75 panels usually have a resolution of 32x16, thus 320x160mm. | |||
The chosen panel layout is 6x9, which means 6*320mm = 1920mm horizontally and 9*160mm = 1440mm. The resulting resolution is 192x144, which exceeds the target of 160x144. | |||
The price for the panels alone would be about €710 [https://www.aliexpress.com/item/P10-Indoor-1-8-Scan-SMD3528-3in1-RGB-Full-color-LED-display-module-320-160mm-32/1615047851.html here], including some spares (6*9=54, the price is for 60 panels) and shipping. EUSt (import tax) is not included, and might add another €150 to it. | |||
The product description says that the panels draw 15W maximum, so it should be about 860W in total (all pixels bright white). The merchant recommends 1000W in total. Note that this can be reduced by using a black background for animations (which was done with the old version as well). The panels need 5V (so, PC power supplies can't be used, since they can only supply most of their power on 12V). Multiple power supplies of 200W each could be used for this, and the [http://www.mouser.at/ProductDetail/Mean-Well/LRS-200-5/ LRS-200-5] looks like a good contender for that. As of the time of this writing, they cost €33.88 per piece, and six of them would fit very well (one per column). A single more powerful power supply is not a good idea, since they tend to use loud fans. | |||
=== Mounting === | |||
The panels have mounting holes in the back, constructing a frame for them is trivial. Cooling is a bit of a concern, since a lot of power is dissipated. A diffusing pane (polycarbonate?) should be mounted in front of the panels so the pixels become larger. Multiple 5V power supplies could be used for powering the whole system. Unlike the old solution, it should be possible to turn it off! | |||
[[Benutzer:anlumo|anlumo]] has tested a single one of these panel running for a longer time and experienced no heat rise, so maybe cooling isn't necessary at all. | |||
=== Controller === | |||
This is where the real challenge comes in. These panels do not have a controller built in, your have to PWM the rows and columns yourself. The connection is called HUB75, although this is not an official standard per se. There are plenty of explanations available on the web, and it's not very complicated. However, if you want to have more than the primary colors, you can't use an Arduino for it, since it's not fast enough (colors have to be centrally PWMed). You have to send a steady ~7MHz signal, which usually can only be produced by FPGAs. | |||
Panels can be chained, but this reduces the color fidelity (because the input signal is limited to about 7MHz, no matter how many panels are connected. Reduced bandwidth per panel means fewer colors). Also note that these panels need gamma correction, because the perception of LEDs is far from linear. Thus, you need a color depth of about 10bits to get 8bits of real colors. There are a few tricks to alleviate this, for example you can reduce the frame rate to allow more colors, or you can do temporal interpolation. It's a bit of black magic. | |||
Thus, the easiest solution is to connect to each panel individually. | |||
Luckily, this is not the first project to come across this issue. Thus, there are controllers available for this, like [http://www.aliexpress.com/item/New-Arrival-LINSN-RV901-RV908-Full-Color-RGB-LED-Display-Screen-Receiving-Card-Crazy-Price-LED/738813836.html this one] (featuring a Spartan 6 FPGA, surprise surprise). [[Benutzer:anlumo|anlumo]] is working on a custom Zynq 7020-based solution for controlling these panels, but that project is in the planning stages right now. | |||
The controllers expect RAW Ethernet packets (they do not use TCP or UDP). The vendor expects people to buy their much more expensive DVI-to-Ethernet adapters (for example TS901), and so the protocol itself is not documented. Some nice folk have discussed a reverse engineering attempt in [https://www.mikrocontroller.net/topic/352894 a forum] (in German), but it's not fully done yet. If this protocol can be reimplemented, a regular SBC could generate it directly via its Ethernet interface (Raspberry Pi not recommended, since its Ethernet interface is very limited). | |||
The sending cards have a serial interface for setup, which you only need in the beginning and to change the brightness of the display. They supply a DVI input port (HDMI compatible) for the image data which could be connected to any SBC, even the already existing Raspberry Pi. | |||
= Blinkenwall.. = | |||
* is the wall between our [[Hauptraum|mainroom]] and the [[Bibliothek|library]] | * is the wall between our [[Hauptraum|mainroom]] and the [[Bibliothek|library]] | ||
Zeile 39: | Zeile 117: | ||
= Blinkenwall v1.5 = | |||
Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your [https://secure.wikimedia.org/wikipedia/en/wiki/Netpbm_format P6 PPM] frames to port 1337/tcp. Make sure that all your frames are exactly 146 bytes in size or you'll risk graphics glitches at higher frame rates. | Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your [https://secure.wikimedia.org/wikipedia/en/wiki/Netpbm_format P6 PPM] frames to port 1337/tcp. Make sure that all your frames are exactly 146 bytes in size or you'll risk graphics glitches at higher frame rates. | ||
Zeile 92: | Zeile 170: | ||
|width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup_with_flash.JPG|thumb|center|300px|Backside close-up with flashlight]] | |width="33%" valign="top"|[[Bild:Blinkenwall_back_closeup_with_flash.JPG|thumb|center|300px|Backside close-up with flashlight]] | ||
|} | |} | ||
== Various Links == | == Various Links == |