Scary Mirror - Table of Contents

Scary Mirror Part 1 |  Scary Mirror Part 2  |  Scary Mirror Part 3  | Scary Mirror Part 4

Return to Halloween   |  Enrico's VCP Profile


This is the last episode of The Scary Mirror project: last refining, the strategy adopted in the Raspberry PI software and finally testing!

As we saw in detail in Episode 3, the Arduino UnoArduino Uno board control the Neopixel stripNeopixel strip driving the lighting effects while the rest of the tasks are managed by the Raspberry PIRaspberry PI.

The last refining to the mirror frame that in my opinion contribute giving a touch of mystery to the mirror has been gluing around the (black) frame an "expansion" of black tulle fabric.


Preparing the media stuff

Depending on how the user interacts with the mirror, it should react with a series of themed media stuff: a scary soundtrack, scary sounds, and short videos. It was possible to choose between a large number of media available on the Internet with CC license and open source. for the videos, I opted for a series of fire effects compilation to create a sequence that should rung while the user is too near to the mirror, accomplished with a selection of scary sounds. To avoid the user to perceive the real size of the screen centered to the mirror, all the videos are with a black background. Below an example sequence:


Raspberry PI3 B+ Software

First Try

A great tool working very well on the Raspberry PI is the Magic Mirror 2 project. It is a fully documented project available on GitHub developed by Michael Teeuw (aka MicMic). The Magic Mirror 2 is an entire environment, including a detailed development kit; due to the growing interest in the maker's community on the magic mirrors, many contributors have improved the original features creating an incredible variety of plugins. Modules that can do almost anything and connect the Magic Mirror 2 core to IoT devices, lighting, remote controls, mobile devices, show videos and more and more.

When all the material was ready I have installed the Magic Mirror 2 system on the Raspberry PI and wrote some Python scripts while a series of tasks running in background was dedicated to managing the interaction and the scary mirror "reactions" to the user.

Unfortunately, nothing of what I supposed (and unfortunately tested before) was possible at all!!

When the Magi Mirror package runs on the Raspberry PI completely takes control of the machine and any other task can run if it is not part of the same environment. In few words, there were only two possible solutions: create an entire set of plugins ad-hoc running on the Magic Mirror 2 platform or resign to count on it and develop the scary mirror components by my own.


Python, Shell Scripts and Some Hardware Control

I definitely decided on the second solution.

All the Python scripts and shell commands, as well as the commands used to play the media components and the Omron Vision Python modules, will be available full documented on the Scary Mirror GitHub repository together with the other technical details.