
Fall 2013 my engineering professor asked me to create a lab for her MATLAB class and I gladly took on the challenge. Having been an engineering student for almost two years and interacting with dozens of other engineering students, I noticed many students have difficulty relating abstract material, i.e. programming, to the real world. I wanted the MATLAB lab to interact with the real world in some way making a connection between the tangible and the abstract.
About an hour of contemplation, thoughts coalesced in one idea: an encrypted data source students will have to collect, parse, decrypt, and feedback into the system for a desired real world result. A puzzle box was created.
The lab task write up is below.

The Black Box’s signal LED is show illuminated in the above image. To the right of the LED is the light sensor. When the Black Box is solved, the hole in the center slides open allowing for the contents to be retrieved.

Removing the top of the Black Box reveals the LED, sensor, door plate, and door plate lock. The message chamber is a PVC pipe cut to size.

The Black Box uses and Arduino Nano to generate the LED pulses, detect the input code, and control the two RC servos.

The Sensor also consist an Arduino Nano to control LED and light sensor.
All source code and project files: https://github.com/reubenstr/MatlabLab
Update 2020:
Although the Black Box and Sensor Box function, they are not recommended for new designs. The LED to sensor manual connection should employ a coupler system to block out ambient light during data transfer. The sensor system could implement edge detection and clock sync which would eliminate the need for middle signal which is not found in the real word of digital high and low signals. The housings and servo mechanisms would benefit from a redesign allowing them to be 3D printed as 3D printers are common vs. laser engravers. 3D printed housings would be more structurally sound and provide strong tamper resistance.