The idea of my project is pill medicine dispenser to Improve healthcare and reduce medical errors due to incorrect or missed medication.
Inspiration: My dad's daily medication routine inspired me to create a simpler solution. I desire to simplify medication management for individuals with chronic illnesses. I aim to design an innovative solution that consolidates daily medication into a single, organized, and accessible device. This smart medicine dispenser will improve adherence, reduce errors, and enhance quality of life for those managing ongoing health conditions.
I started by creating an initial sketch for the first side, then applied an Extrude of 3 mm (matching the thickness of the wood used).
2. After that, I made a copy of this side to create the opposite side.
3. I repeated the same process for the other side and created a copy for the final side.
4. Then, I began assembling the sides together using the Joints feature.
5. Next, I used the Project tool for the tabs, designed the button, added screw holes, and applied an Extrude of 3 mm.
6. I created a copy of it to design the top with some modifications (the top interlocks with only 2 out of the 4 sides).
7. Then, I started drawing a new part as a separator between the upper and lower parts of the box. I added tabs to assemble it into the sides and created holes and screws for these tabs in the 2 sides.
8. After that, I began designing the plate that will hold the rivet inside the post. Initially, I designed it entirely as a 3D model, but Hala advised me to reduce printing time by making part of it from wood and the other part from filament.
9. Therefore, I started designing the 3D part by sketching it and then applying Extrude. For the wooden part, I used the same diameter as the 3D disk and added 4 screw holes to assemble them together after fabrication.
10. I started searching online for a housing for the stepper motor to help mount it inside the box. Hala also assisted me in finding a coupler to attach to the stepper motor's shaft and secure the plate to it.
11. Then, I began inserting the components (such as the stepper motor, Arduino, LCD, etc.) and fixing them in their designated positions inside the box.
12. I mounted the stepper motor's housing on the bottom, placed the stepper motor on top of it, attached the coupler to the stepper motor, and finally secured the plate to the coupler—all using the Joints feature.
13. I placed the separator on top of the stepper motor housing and added two screw holes to secure the housing to it. I also cut out a square opening to allow the stepper motor to pass through.
While doing this, I had to move the separator slightly downward, which required adjusting its tab holes in the sides to match its new position. I achieved this by using the Project tool to create new holes and deleting the old ones.
14. Finally, I started mounting the components.
The videos available in the library can help you with this process.
First, I placed the Arduino in its appropriate position and created screw holes in the base using the Project tool. I also made openings for the adaptor and USB on the side.
I mounted the LCD on the front, creating screw holes for it alongside its display opening.
I added four screw holes in the base for the stepper motor and followed the same steps for the remaining components.
Laser cutting preparation Process:
In this step, I started blackening the parts I want to cut, blue is for parts I want to draw, and red for the parts I want to engrave. then I started calibrating parameters (speed-power) for this properties.
The parameters for process:
cut: speed 40 power 45
engrave: speed 300 power 25
speed cut: speed 300 power 10
3D printing preparation Process:
In this step, I started preparing the file by configuring 3d printing settings like scale, infill and quality.
The parameters for process:
Infill: 10%
Quality: 0.3 mm
Scale: 100%
with adhesion and support
weight: 7gm
Here's a list of softwares I used:
Fusion 360
for designing the 2d and 3d parts.
RDCAM
For calibrate parameters (speed-power) and prepare file for laser cutting.
Cura
For preparing STL file and configuring 3d printing settings like scale, infill and quality, ensuring the printing time remained under 90 minutes.
Laser Cutter Operation:
1. Adjusted speed and power parameters.
2. Activated the machine using the 'green switch'.
3. Transferred my file from the PC to machine via USB cable (by clicking "dawnload" in laserwork software).
4. Fixed the plywood sheet in machine.
5. Selected the file by pressing "file" in screen and adjusted nozzle positioning using arrow keys.
6. Set the origin point (where the nozzle would start cutting) by pressing 'origin'.
7. Verified alignment using 'Frame'.
8. Activated vacuum and initiated cutting by pressing 'start'.
9. Monitored progress until completion
10. Finally, turned off the machine and ejected parts.
3D Printer Operation:
1. Prepared and sliced the design file using Cura software.
2. Collaborated with the lab specialist to adjust the machine's temperature settings to 215°C.
3. Transferred the file to the memory card and inserted it into the 3D printer.
4. Selected the file using the navigation knob and confirmed with "Select."
5. Initiated printing and monitored the first layer for accurate deposition.
final outcome
final outcome
Here's a list of machines and materials I used:
Laser Cutter machine
For cutting 2d design.
3D Printer
For printing 3d design.
3mm plywood sheets
For laser-cut.
PLA filament
For 3D-printer.
In this project, I used the RTC module as an input component to calculate and keep track of time. Additionally, I used LCD, buzzer and the stepper motor as output components to rotate specific steps, allowing the medication disc to rotate at predetermined times, display message and make alert.
I started by testing the RTC module as it was my first time working with this component, and I needed to experiment with it.
The connections were very simple:
VCC to 3.3 V
GND to GND
SCL to SCL of Arduino
SDA to SDA of Arduino
simulation of rtc module wiring
2. Next, I tested the stepper motor
I connected the stepper driver to the board.
Then, I connected the board to the stepper motor.
The board's wires were connected as follows:
5V and GND to the Arduino's 5V and GND.
9V and GND to a 9V adapter.
Enable to Pin 8.
Direction to Pin 9.
Step to Pin 10.
wiring diagram of stepper motor
3. Then, I started merging the two wiring to make the motor activate based on the RTC readings.
4. Then, I added the lcd to the code,
The lcd were connected as same as the rtc:
5V and GND to the Arduino's 5V and GND.
SCL to SCL of Arduino
SDA to SDA of Arduino
so, I had to add LiquidCrystal_I2C library to control the two modules in the same pins, and I also had to use mini breadboard to make this wiring.
simulation of rtc module with lcd
5. finally, I added the buzzer as output to the project with the lcd and the stepper motor, connected with pin 11 and gnd of the arduino
simulation of buzzer wiring
6. I also used a bluetooth speaker motherboard to create a temporary voice assistant
the wiring of this board were: two terminals connected to the adaptor, and the other two terminals connected to the speaker
full circuit diagram
Here's a list of electronics and tools I used:
avometer
adaptors 5 v and 9v
on/off switch
breadboard
stepper motor
stepper motor driver expansion board
stepper motor driver
jumpers
rtc module
lcd
arduino uno with cable
rca female
The power source for my project consists of two separate inputs:
1. 9V for the Stepper Motor:
The stepper motor requires a higher voltage (9V-12V) to operate efficiently and provide sufficient torque.
The 9V is connected directly to the stepper motor driver.
2. 5V for the Arduino and Other Components:
The Arduino Uno operates at 5V but can accept an input voltage of 7V-12V through the Vin pin. It uses an internal voltage regulator to step down the voltage to 5V.
The 5V output from the Arduino is used to power other components like the RTC module and lcd.
Why This Setup?
Efficiency: The stepper motor performs better at 9V, while the Arduino and other components are safe at 5V.
Compatibility: This setup ensures that each component receives the appropriate voltage without overloading the system.
Safety: Separating the power sources prevents voltage drops or overheating in the Arduino.
I tested the rtc module using the following code:
I began by defining its library and specifying its type.
I used the Serial Monitor to ensure it was reading the time correctly.
I tested the stepper motor using the following code:
I defined the pins connected to the stepper motor driver:
Enable to Pin 8 - Direction to Pin 9 - Step to Pin 10
I set the motor speed and acceleration to ensure smooth rotation.
I used a loop to make the motor rotate a specific number of steps in one direction, then reverse direction.
I started merging the two codes to make the motor activate based on the RTC readings, and adding the code of lcd to print the current time and a short message.
Finally, I added the buzzer to the code to make a tone at the times of getting the medicine.
after fabricating the 2d and 3d parts, I started painting the wood.
I assembled the two parts of the plate together using screws.
I mounted the coupler to the base of the plate using screws.
I performed assembly and put together all the wooden parts except for the base and the top.
I mounted the stepper motor inside its housing.
Then, I mounted the housing onto the separator part using screws.
On top, I attached the coupler (which holds the dish) to the stepper motor.
After that, I started mounting the components onto the base.
I mounted the LCD on the front.
Then, I attached the base to the box and started screwing all sides of the box.
Then, I filled the plate with rivets and mounted it.
Then, I attached the top part and installed the cover for its opening.
demo of the project
demo of the project
The biggest challenge for me was dealing with the STL file in my design. I couldn’t move or edit it until I asked my instructor, Hala, she suggested that I use the Mesh option from the top tab, then select Modify and convert the file using Convert Mesh.
I also discovered an additional tip, which is to right-click on it and choose to convert it into a Component. After that, I was able to edit it, create joints, project, and move it freely.
This helped me a lot because it was the most difficult part of the design for me, which is why I wanted to share this tip to benefit others.
Problem uploading code to the Arduino:
I used to face difficulty uploading code to the Arduino.
I always made sure to select Arduino Uno as the Board, and I would change the Port in the software or install it and change the port of the laptop until the code uploaded successfully.
2. Problem uploading Components in the design:
Uploading Components used to take a long time and sometimes wouldn’t upload at all.
I opened the Component as a new file, then right-clicked on it and selected Insert into Current Design, which made the process easier.
3. Problem during fabrication:
I used wood thicker than 3 mm, while the Slots and Tabs in the design were made for 3 mm openings.
My instructor, Yahya, helped me solve this by using a hammer while being careful not to break the wood.
If I had more time, one thing I would change/add to my project is integrating an MP3 module to create a voice assistant feature. This feature would:
Notify the user audibly when it’s time to take their medication by playing a pre-recorded message.
Alert the user if the medication disc is empty, reminding them to refill it.
Additionally, I would redesign the entire project to use a tube system instead of a rotating disc. This would allow for better control, ensuring that only one pill is dispensed at a time. This improvement would make the device more suitable for users with visual impairments, Alzheimer’s, or other conditions, as it would be easier and safer to use.