We all know how difficult it is to make a 5-10-year-old child sit for some time to finish his homework, and for that, I want to help others.
The idea of the project is to create a smart tablet to encourage children to do their tasks.
When the student enters the number of tasks to be completed, some LEDs equal to the number of tasks light up in red, and when each task is completed, the green color lights up with the issuance of encouraging sounds.
It is a board-sized game through which you can specify the number of requests and tasks to be completed. Points appear on the screen with the number of tasks. When the task is completed, the child presses Done, and the game emits a motivational sound, which encourages the child to complete his tasks.
It also has a space like a whiteboard on which the child can write.
First step design & 3D molding
The software helped me to design and present my idea.
Autodesk Fusion 360
we need to show how we make this game.
I opened Fusion 360 and made the zero rule which save a file.
I made the first rule "crate component".
STEP 1
Making the first panel which will coped 2 times to make a face and back.
biguine with creating components and drawing skitch for the first panel and extrud it 3mm.
I copped this part to make the back panel and set the position by rotation.
then I copied components and pest new to make sides, edited Skitch to add a T slot, and edited the X slot.
extruded side 3mm and coped with it to make another side.
STEP 2
I joined panels with each other.
I created a new component to seat the first side and copped it.
I created a new component to seat the second side and copped it.
I project T-slot positions and extruded beas.
join parts with each other.
STEP 3
Electronic components are installed and included in the file.
I projected all the parts that needed
to extrude and cut it.
then I exported the faces with DFX files by using DFX.
STEP 4
After that, I used the Sweep command to create a hand for the figure, and I used the Spherical command.
After that I made a new copy of the hand.
STEP 3
using the DFX extension I could save all surfaces that I need as DFX to cut them with a laser machine.
and save brackets as STL file.
Ultimaker Cura
The software helped me to prepare my design for a 3D printer.
The software helped me to prepare my design for the laser cutting machine.
laserWork
3D printer
The machine helped me to implement my design.
The machine helped me to implement my design.
Laser Cutting
PLA
The material helped me to implement my design in 3D printing.
The material that helped me to implement my design in laser cutting.
plywood 3mm
Second Preparing for laser cutting and 3D printing
STEP 1
Use Laserworke Software to prepare the rld file.
I insert the file and set lines cooler to set which aria to cut and which to scan.
STEP 2
choose lines that are speed cut and are which is scan.
parameter:
cut power 👉 55 speed 👉 30
scan power 👉 25 speed 👉 300
STEP 3
After confirming all the settings for the printing process and reviewing the printing method, we come to the file-saving stage.
saving by clicking save which is found on the left-up screen.
choose the folder and name it by writing details rld or ai extension.
STEP 4
I import the STL file into Cura to set sitting.
It will take 1 hour and 45 grams.
Press preview.
Start adjusting my parameters:
1- resolution: 0.3mm Height & 2 wall line count.
2- Infill: I adjusted infill to 15%. with a Gyroid pattern.
3- support: tree support.
4-Build plate: adhesion.
First 3D Printing
With the help of a specialist in the lab. I took these steps.
We confirm is all settings are ok.
We unloaded the filament that was in Prusa and loaded another one.
I choose the file and press to start.
it took time to prepare it after printing.
Laser cutting
With the help of a specialist in the lab. I took these steps.
We confirm is all settings are ok.
I downloaded a file on a PC that contact with the laser machine.
I placed the piece of wood on the machine and made sure it was securely attached.
I set an origin point and made sure it was suitable by firm bottom.
Arduino uno and usb
I chose to use a 9V regulator because the Arduino needs from 5V to 12V, and the rest of the components in the circuit need 5V.
9V adaptor
Wiring of the project circuit
using frieze software I could simulate the wiring of the final project.
I connected the Neopixel as follows: the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, and the IN pin is with 6.
After that, I connected the RFID sensor by connecting the VCC pin to the 3V, the GND pin to the Arduino GND pin, the RST pin to the digital pin NO 9, the MOSI pin to the digital pin NO 11, the SDA pin to the digital pin NO 10, MISO pin to the digital pin NO 12, and SCK pin the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the SDA pin is with A4, and the SCL pin is with A5.
I connected the buzzer positive pen to the digital pin NO 3.
I connected the screen so that the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the SDA pin is with A4, and the SCL pin is with A5.
I connected the joystick so that the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the X pin is with A0,the Y pin is with A5 and the select button to the digital pin NO 6.
Project Programming part 1:
I start by searching for codes.
After researching how to write the special components in the project, I started writing the code that achieves the project goal.
I started by defining the NeoPixel & RFID libraries, defining the NeoPixel pin of the component, and defining int count to save progress.
void setup() In this void we will
INITIALIZE NeoPixel strip object.
Set all pixel colors to 'off'
Send the updated pixel colors to the hardware.
Initiate SPI bus.
Initiate MFRC522.
void loop() At this void, we will set the scenario that the process will follow.
When I insert the sensor card, the signal is recorded by lighting the first LED, and every time the next LED lights up.
When you point with any other indicator, the meter will be zeroed and all LEDs will be turned off.
Project Programming Part 2:
In this part, I added the sound function to the code.
I started by defining the NeoPixel & RFID libraries, defining the NeoPixel pin of the component, and buzzer pin, and defining int count to save progress.
void setup() In this void we will
INITIALIZE NeoPixel strip object.
Set all pixel colors to 'off'
Send the updated pixel colors to the hardware.
Initiate SPI bus.
Initiate MFRC522.
void loop() At this void, we will set the scenario that the process will follow.
When I insert the sensor card, the signal is recorded by lighting the first LED, and every time the next LED lights up.
When you point with any other indicator, the meter will be zeroed and all LEDs will be turned off.
Project Programming final code:
In this part, I added the sound function to the code.
I started by defining the NeoPixel & RFID libraries, defining the NeoPixel pin of the component, and buzzer pin, and defining int count to save progress.
void setup() In this void we will
Identify buzzer as output.
INITIALIZE NeoPixel strip object.
Set all pixel colors to 'off'
Send the updated pixel colors to the hardware.
Initiate SPI bus.
Initiate MFRC522.
INITIALIZE LCD object.
Determine the sentence that will appear at the beginning.
void loop() At this void, we will set the scenario that the process will follow.
We call the list from void menu().
When you move the stick down, the cursor on the screen moves down, and when you move the stick up, it moves up.
Press the button to choose the number of nines from the list on the screen.
When the button is pressed the button function is called from a void selectBotton().
When I insert the sensor card, the signal is recorded by lighting the first LED, and every time the next LED lights up.
When you point with any other indicator, the meter will be zeroed and all LEDs will be turned off.
void menu() At this void, we will set the menu that appears on the screen.
void selectBotton() At this void, we will store the function of the button stored.
When the button is pressed, a comparison is made. If the choice is two tasks, the screen changes to another screen on which the number of tasks is written, and two red LEDs light up.
Testing Programming part 1:
I made my circuit.
I connected the neopixel as follows: the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, and the IN pin is with 6.
After that, I connected the RFID sensor by connecting the VCC pin to the 3V, the GND pin to the Arduino GND pin, the RST pin to the digital pin NO 9, the MOSI pin to the digital pin NO 11, the SDA pin to the digital pin NO 10, MISO pin to the digital pin NO 12, and SCK pin to the digital pin NO 13.
connect the 9V adapter and test the circuit.
Testing Programming part 2:
In this part, I added the sound function to the code.
I connected the neopixel as follows: the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, and the IN pin is with 6.
After that, I connected the RFID sensor by connecting the VCC pin to the 3V, the GND pin to the Arduino GND pin, the RST pin to the digital pin NO 9, the MOSI pin to the digital pin NO 11, the SDA pin to the digital pin NO 10, MISO pin to the digital pin NO 12, and SCK pin to the digital pin NO 13.
I connected the buzzer positive pen to the digital pin NO 3.
connect the 9V adapter and test the circuit.
Final coding & wiring
I connected the Neopixel as follows: the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, and the IN pin is with 6.
After that, I connected the RFID sensor by connecting the VCC pin to the 3V, the GND pin to the Arduino GND pin, the RST pin to the digital pin NO 9, the MOSI pin to the digital pin NO 11, the SDA pin to the digital pin NO 10, MISO pin to the digital pin NO 12, and SCK pin the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the SDA pin is with A4, and the SCL pin is with A5.
I connected the buzzer positive pen to the digital pin NO 3.
I connected the screen so that the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the SDA pin is with A4, and the SCL pin is with A5.
I connected the joystick so that the VCC pin is with the 5 volts, the GND pin is with the GND pin for Arduin, the X pin is with A0,the Y pin is with A5 and the select button to the digital pin NO 6.
connect the 9V adapter and test the circuit.
Integrate the project’s modules
1-Assemble the four sides with the front face and install the arms on both sides of the board in the slots designated for them.
Front view after installation.
2-Install the RFID sensor in it's designated location
3- Install the joystick in it's designated location
Front view after installation.
4- Installing the neopixel in the place designated for it.
Front view after installation
Place the board and Arduino in place and install them.
front
side 1
side 2
The bottom is where the on and off switch is located.
back
Firstly, I would like to thank Hala for helping me and encouraging me after and before every achievement, in addition to helping me in all the steps of the project.
Firstly, I would like to thank my friend, Sara because she was the reason I knew this beautiful place.
The reactions to the design and the initial idea were very good and added to the project. In mentioning these modifications, I want to thank Mr. Hussein for the idea of adding hands to the design.
and spatial thanks to Mr. Waseem & Mr. Abdul Rahman:
I faced a problem with writing code for the screen, which is that every time I upload the code, it does not respond correctly and gives an error, as shown in the video.
Special thanks to Eng Yahya for reviewing the code and discovering and solving problems.
I would like to thank Mr. Mustafa , as it was useful to share with him some ideas about the neopixel code, as he helped me find the model for it on Fritzing.
I discovered, with the help of Mr. Waseem and Mr. Abdul Rahman, that there was a problem with the language in which my device wrote the code, and the solution to it was to reset the language in the device.
I want to thank all the people who helped me with this project.
The locations of the screws on the stick on the Grab CAD is incorrect.
When 3D printing, the base that secures the model to the printer bed is separated.
I made some adjustments in terms of changing the direction of the object on the bed so that it moves away from the air so that it does not separate from the bed again.
After modifications, one of the two models came out intact, but the second facing the air separated at a late stage, so I glued the separated part to the other using a heat gun.
I faced a problem with writing code for the screen, which is that every time I upload the code, it does not respond correctly and gives an error, as shown in the video.
I discovered, with the help of Mr. Waseem and Mr. Abdul Rahman, that there was a problem with the language in which my device wrote the code, and the solution to it was to reset the language in the device.
I had a problem with the code for the neopixel, which was that the LED that was lit before did not turn off when the code was uploaded, and I found that I had forgotten to write this part of the code" pixels.clear(); pixels.show();".
If there was some time, I would have added an electronic interactive panel to the game interface so that the child would enjoy the device more and become his friend.
If there was some time, I would have added an on-screen character who scores points through a programmed game that appears as a reward for the child for completing his tasks.