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 22:25] – da1l6 | projekte:mikubox [2017/05/18 06:48] (aktuell) – [MikuBox: Pseudoholographic projection box] da1l6 | ||
---|---|---|---|
Zeile 24: | Zeile 24: | ||
=== Construction === | === Construction === | ||
{{ : | {{ : | ||
- | The MikuBox is constructed around an off-the-shelf 21.5" PC Monitor and is made out of MDF. | + | The MikuBox is constructed around an off-the-shelf 21.5" |
- | The Monitor | + | The monitor |
- | The dimensions of the box are derived from the Monitor. It is important | + | The dimensions of the box are derived from the monitor. It is important |
The background is made out of unused scrap PCBs with dark blue soldermask. It is illuminated by stray light only. | The background is made out of unused scrap PCBs with dark blue soldermask. It is illuminated by stray light only. | ||
Zeile 33: | Zeile 33: | ||
A background too bright will shine through dark parts of the projection, so it should be avoided if such content is to be projected. | 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 is internally connected to the LCD monitor via HDMI. Ethernet, Analog Audio and Power connected | + | Extra height (b) is added to house the electronics and cables. A RaspberryPi |
- | The Monitor rests on the side walls of the box. These are made from two layers of MDF. The inner ones are have a height of (h) and the monitor is placed on these. The outer side walls of the box have the full height | + | === 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 | ||
+ | </ |