Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekte:mikubox [2017/02/24 21:56] – da1l6 | projekte:mikubox [2017/05/18 06:48] (aktuell) – [MikuBox: Pseudoholographic projection box] da1l6 | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
=== Construction === | === Construction === | ||
+ | {{ : | ||
+ | The MikuBox is constructed around an off-the-shelf 21.5" 1080p PC Monitor and is made out of MDF. | ||
+ | The monitor of choice uses a VA-LCD Panel to provide better black levels than standard TN-Panels. It also does not suffer from IPS-Glow. It is, however, view angle dependent. Ideally an OLED-Panel or other self illuminating pixel display would be used, but these were unobtainbale at time of construction. | ||
- | The Mikubox is constructed around an off-the-shelf 21.5" LCD and is made out of MDF. | + | The dimensions of the box are derived from the monitor. It is important that some depth (a) is added to the box compared to the distance between bottom and LCD (h). This distance will be the precived distance between background and projection. |
- | The Monitor of Choice uses a VA-LCD Panel to provide better Black Levels than standard TN Panels. It also does not suffer from IPS-Glow. Ideally an OLED Panel or other self illuminating pixel display should | + | |
- | The dimensions | + | The background is made out of unused scrap PCBs with dark blue soldermask. It is illuminated by stray light only. |
+ | It is not nessacary to use a background, but it will improve | ||
+ | A background too bright will shine through dark parts of the projection, so it should be avoided if such content is to be projected. | ||
+ | |||
+ | Extra height (b) is added to house the electronics and cables. A RaspberryPi 1 is internally connected to the LCD monitor via HDMI. Ethernet, Analog Audio and Power are routed to the back. | ||
+ | |||
+ | === Software === | ||
+ | |||
+ | The RaspberryPi inside | ||
+ | A systemd unit file is added to the end of the Boot process to run a video playback script. | ||
+ | |||
+ | Unit File | ||
+ | < | ||
+ | [Unit] | ||
+ | Description=Video demo loop | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | User=root | ||
+ | ExecStart=/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Video playback script: | ||
+ | < | ||
+ | require " | ||
+ | require " | ||
+ | |||
+ | Dir.chdir(File.dirname($0)) | ||
+ | |||
+ | while true | ||
+ | Dir.glob(" | ||
+ | puts ".... Playing #{filename} ...." | ||
+ | system("/ | ||
+ | } | ||
+ | end | ||
+ | </ |