Code written by: Dabeer Abdul-Azeez ([email protected]) and Trevor Tung ([email protected])
These python files compose the computational prototype for the Cribsafe Baby Orientation Monitor which will monitor a child's position and acceleration while they sleep, raising an alarm if the child is moving around too much in their sleep (e.g. if they fall out of their crib). This leaves the parents free to do what they want instead of having to constantly check in on the baby through more traditional auditory or visual baby monitors which don't usually have alarm systems to warn the parents if something has gone awry.
- See here to visit my website for more details on the project.
- See here for the final deliverables of the project, including videos, CAD files, the written proposal
If you want to recreate this yourself, see the final deliverables above for the 'Written Proposal', which includes more information on the design process, materials, circuitry, and CAD design for the housing of the device.
These files are meant to be run on a Raspberry Pi that is connected to an Adafruit BNO055 Absolute Orientation Sensor and a buzzer. You won't be able to run them yourselves successfully unless you follow the circuit diagram included in the written proposal (see 'Want more information?' above).
However, you can run the GUI.py
file without any other techonology (so long as you have Python 3.7 installed, newer versions cannot be guaranteed to work, but they probably will to my knowledge).
- These Python files were written for Python 3.7
- The GUI was created using the Tkinter library
- Multithreading was accomplished using the threading library
- Raspberry Pi 3B, some LEDs, wires, a breadboard
- Adafruit BNO055 Absolute Orientation Sensor
- A
sensor_library.py
file created by our course instructors for the 1P10 iBioMed Design Course at McMaster University
- Interfaces with an orientation sensor, a buzzer, and GUI using separate processing threads for increased responsiveness of the program to changes in the environment (see Multithreading in 'Technologies Used' above)
- Determines if the orientation sensor has fallen too quickly or turned over too far and activates various levels of buzzer alarms as necessary
- Outputs live sensor data and alarm status to a GUI