Update : as of 04/09/2019, this project is no longer maintened. However, it will be kept here for reference.
This repository is for an highschool project in Lycée George Brassens (St-Denis, Réunion, french overseas island in the Indian Ocean). It is based on Daniel Rozin's Weave Mirror with a 8x6 grid of servo-motors. This project help the students grow with interesting software and technologies such as Arduino, Raspberry Pi, SolidWorks or Scilab. It also uses a 3D Printer for moving parts that will be controlled by Servos.
A photo taken by a PiCamera is treated by a Raspberry Pi, which send the average grayscale values of the picture in 48 squares of pixels (8x6) to 6 Arduino via I2C communication. Each Arduino treats a row, converting these values in degrees (0-255 grayscale to 0-180 degrees) to control 8 servo-motors. The servo-motors rotate 3D printed white-to-black cylinders, which then displays the picture back to the user, making it act like a mirror.
- 1x Raspberry Pi Model 3B+
- 1x PiCamera Rev 1.3
- 6x Arduino UNO
- 48x HS-55 Servo-motors
- 48x Semi-cylinders contrasted from white to black (3D Printed)
The cylinders were designed and 3D printed by a student of the group project, you can find the files used in the SolidWorks directory.
We originally intended to make it bigger (12x10), but unfortunately we lacked time and ressources. We also wanted to use Sparkfun PWM Shields to connect the Servos to the Arduinos, but dropped this idea because it took too much of our time without working, and we learned that they don't actually work with I2C. If you want to make this project, we recommend trying it with the Adafruit PWM Shield (16 pins), or the Arduino Mega (48 pins) to use less hardware.
The 4 students making this project have each been assigned to work on a different part :
- Scilab modelisation & simulation (RALAMBOARIVONY Teddy)
- Solidworks modelisation & 3D printing (GRONDIN Guillaume)
- Arduino connections & servos (FERRERE Guillyann)
- Raspberry Pi & Arduino code (PAUSE Julien) <-- Author of this repository
Since the author of this repository is responsible for the Raspberry Pi part, you'll find more ressources in that directory. However, don't hesitate to ask if you have any questions about other parts.
Feel free to contact me about this project at : julien.pause17@gmail.com