Bad habits is a beast feeding on our time, health and concentration.
"snoozzy" is a box helps to minimize the bad habits by lock the things inside for while to keep you free from things help that help strengthen these habits and does not make them unavailable all the time .
For cad design first i draw this sketch, i set the dimensions with consideration off the components dimensions at my project, also the size of things i want to lock.
fusion main sketches:
Box Base sketch
front side sketch
Box Side sketch
Back Side Sketch
partition sketck
Box Lid sketch
Box Top sketch
fusion main sketches with components dimensions after importing them:
Box Top with Keypad, LCD,buzzer and led holder imported dimensions.
(here i made a rectangular for the wires of keypad to get in the box)
Back Side with ON/Off Switch imported dimensions.
Lid with door hings imported dimensions.
Front Side with lock cave imported dimensions
Side 1 with limited switch, Toggle switch and pushbutton imported dimensions
Side 2 with Arduino imported dimensions
At my project i have 2 parts will be printed using 3d printing machine so i made their sketches and bodies:
first patr is the solenoide lock holder.
I used the imported solenoid as a reference for me .
second part is lock cave.
sketch
lock cave at front side
Design after extrude and Assembly with components imported:
Part of the Fusion 360 Timeline :
laser cutting:
first i export DXF. files from fusion, I used Rdworks to arrange the parts on the 30*50 sheet we have.
after fabrication i used bolts to get all parts together.
I used speed of 15 mm and power of 80 to cut.
for laser cutting i use plywood material, first i put the sheet, set origin, upload the RDworks file, track the frame, close the door and finally start the machine.
RD works
fabrication process
laser cutting machine
3D printing:
first i export STL. files from fusion, I used ULTIMAKER CURA to arrange the parts.
the two parts were 17g with infill 20, and resolution 0.15.
for 3D printing i use poly lactic acid, after uploading the stl. file at the machine i start the machine .
i used supports with the solenoid cave.
after fabrication i used bolts to get all parts together.
ultimated cura
brusa 3d printer
supports
fabrication process
final product:
some helpful cut sheets of components dimensions:
my circuit consists of two modes
the first mode:
manual mode which gives the user the ability to open the solenoid manually using push button without any timers.
the second mode:
automatic mode at which the box opens only with the timer.
I used Toggle switch for switching between the two modes.
Note:
the both modes the box will open with limited switch and solenoid lock.
the first mode tinker-cad simulation :
note:
-the motor present solenoid and bush button present limit switch.
solenoid is connected with relay not connected directly with Arduino as shown.
the first mode tinker-cad simulation :
note:
-i used LCD 3*4 not 4*4 as shown at tinker-cad circuit.
- i upload a photo of 3*4 keypad connection.
-a bush button and toggle switch are added at my circuit.
my device consists of:
-Arduino UNO Board. (Brain).
-Micro Limit Switch. (Input).
- bush button (Input).
-Toggle switch (input).
-on/off switch (input).
-keypad(input)
-4*20 LCD with I2C module. (Output).
-5v Piezo Buzzer. (Output).
-led (output).
-solenoid lock (output).
*The device uses 9V adapter to operate.
components
i choose the power source based on the power needed for the different components i am using:
Since, ..the 20*4 LCD powered from Arduino , solenoid needs 9v or 12 v it takes this power from relay module, and 5v buzzer. all of the used components are being powered using 9v adapter. it's enough to power all the components. Arduino will manage the power output to all the connected components.
-LCD, Relay module takes it power from Arduino.
-the ground of the circuit is the same of all circuit.
-Arduino is powered from 9v power supply, i give Arduino 9v through Vin pin.
9v adaptor
code of the project was a long and difficult process for me.
I started with the simplest mode which is mode 1: where i used limitswitch to close the solenoid and the push button to open it simply.
here the pseaudo code of this mode.
and this is the code.
note : i connected the solenoid using relay module since i want to control the relay using arduino also to provide the needed power for the solenoid.
limit switch connected with arduino with pin and another pin at negative of the power supply.
bush button the same like limit switch.
mode 1 pseudo code
then i started at mode 2 with mode 1,
first i made the pseudo code using flowchart.
code description:
1- i include the library of LCD and keypad.
2- i start to write all integers i have.
3-at void setup i added the pins state .
4. mode 1 coding.
5.if function for locking and unlocking during mode 2.
I was testing my circuit and code it on actual circuit ,it was not easy for me to make the circuit with all wires.
i get parts together first then i build the circuit.
-for enclosure i used the cross slots to get all parts together, after that i connect door hangs, loch and lock cave, limit switch and arduino using polts for switches and buttons there were a dimensioned circles for each one.
Demo video
minimum and complete features description.
components with enclosure
limit switch
solenoid
circuit
Arduino inlets
getting all parts together
Door hangs
open switch and toggle switch also power source connection.
on /off switch
yes, i ask my friends for feedback , one of them said this project will be useful more if we use it with kids, it will help with screen time and screen off.
i did some mistakes related to the design but the biggest challenge for me was the space i designed for the circuit it was very small to my circuit size. which makes the wires broke and disconnect from board and Arduino several times during closing the sides of box with the base.
so if you will make this design you will need to make the areaof circuit bigger.
I solved this problem by using tap at the wires connections.
if i have more time i would re-fabricate the box with bigger circuit space, also i will add a logo.