I got inspired by someone's finale project of Maker diploma Omnia Ismail.
I had the same idea at first but then I thought if making a robot to make students more engaging during the session and paying more attention in a fun way.
My project idea revolves around creating a smart robot named Momo, designed to enhance student engagement during learning sessions. Momo will feature an LCD screen that incorporates a randomizer, making each interaction unpredictable and exciting.
In addition to the randomizer, Momo will be equipped with a Neo Pixel for colorful visual effects and a speaker to provide responses to students' answers in a fun and dynamic way.
The playful responses, combined with the element of surprise from the randomizer, will help maintain students' attention throughout the session. This approach is intended to create an interactive learning environment where students are more focused and less likely to feel bored. By incorporating these features.
Momo aims to make learning more enjoyable and stimulating, ultimately fostering a more engaging classroom experience.
I used fusion 360 for the CAD process by sketching every part of the project with specific dimensions then added components using Grab CAD site to mount them in the robot body.
The robot has 5 Parts:
Head
Body & Legs
Box for candies or question paper.
Hands
I made it in box shape and attached it to the rest of robot body by making base for it.
Front part of the Head I made an rectangular opening in it for the Neo pixel matrix 65*65mm and made opening for the sides taps and T-slot to be attached to the base bottom
Support for the Neo pixel and it will be attached to the pixel from the back and made opening for screw and nuts to be mounted on the front face
Side part of the head, made taps on the sides to be attached to the front and the back parts of the head
Back part of the Head I made an rectangular opening in it for the Neo pixel matrix with T-slot and taps openings.
Top part of the head and it will be attached to the pixel from the back with taps.
I made a front panel with legs that are intended to be attached to the main body of the structure. The legs are flared at the bottom for added stability and are integrated into the overall structure, with a central arch providing clearance.
Added some openings for the speaker, LCD screen and push buttons
Used grabcad website to get the components for mounting in the design.
Front & Back part of the body:
Started by drawing a rectangle from origin point to be fully defined 170*190mm.
Then drawn another two rectangles from down 100*70mm (legs) and added lines to make its base looks like a feet to give the robot support.
Added openings for the tabs and t-slots and the speaker.
Made a project for the LCD rectangular opening and the push button.
Back part: sketched as the front body part with the same dimensions but without the LCD and speaker openings.
extrude the whole plan 3mm then made extrude cut for the openings of the tabs and the components 3mm.
Base part of the body:
Started by drawing a rectangle from origin point to be fully defined 100*190mm.
Added tabs and t-slots.
extrude 3mm , then made extrude cut for the openings of the tabs and the t-slot 3mm .
added the Arduino the breadboard for mounting.
made four circular opening for the Arduino by making project.
Side part of the body:
Started by drawing a rectangle from origin point to be fully defined 100*158.
Added tabs and t-slots.
extrude 3mm , then made extrude cut for the openings of the tabs and the t-slot 3mm .
then made copy of the side.
sketched the front part in rectangular shape 65*190mm.
sketched side part 60*65mm. and made copy of it.
sketched base part 60*155mm.
extrude 3mm for all parts and extrude cut to the tap openings.
used fillet feature for the front part (7.5mm for each edge).
sketched the arm in rectangular shape 33*118mm.
sketched an arc and t-slot.
sketched the hand inn arc shape with two squares in 20*20mm dimension and used offset to make the inner arc.
made copy of the arm and the hand.
extrude 3mm for all parts and extrude cut to the t-slot.
After finishing the sketch and mounting the components I saved each part as dxf for laser cut
fab-lab machine - El Malky ML149 CO2 Laser Cutter
3mm Plywood, screws and nuts
took the design dxf files on RDworks to check the paprmeters and start implemntation.
added the robot name on the RDworks.
adjusted the parameters (cut - power of 40 with 45 speed) then uploaded the file on the machine and added 3mm plywood on the machine and set the origin point ,the frame and checked the focus point before cutting.
got the bow from 3axis website Bow then added it the RDworks during fabrication process.
implemented the robot body before mounting the components to make sure that the size of the taps and the design were fabricated correctly.
An LCD I2C screen can display text or graphics, while a Neo Pixel 64 RGB LED matrix creates colorful lighting effects, both controlled by Arduino for interactive projects.
A 4 Ohm, 10W speaker provides clear audio output, ideal for small projects. Paired with an MP3 module, it can play audio files like music or voice prompts, controlled by microcontrollers such as Arduino.
A Bluetooth module allows wireless communication between devices, enabling data exchange and control via smartphones, computers, or other Bluetooth-enabled devices in Arduino projects.
Breadboard allows you to easily connect electronic components without soldering.
Arduino Uno is a microcontroller board
Jumber wires Easily link different parts on a breadboard.
Used Wokwi online software for building the circuit and added most of the neo pixel, mp3 module , speaker and Bluetooth module pictures to make the circuit as following:
connected the GND and 5V pins of the Arduino to the +ve and -ve rails on the breadboard.
connected the VCC and GND of each components to the +ve and -ve rail of the breadboard.
connected the signal pin of the neo pixel to pin 5 on Arduino.
connected the SCL and SDA of the LCD screen to A4 and A5 pins on Arduino.
connected the TX and RX of the mp3 module to pin 10 and 11 on Arduino also added 10K resistor for each and two speaker terminals that are on each side of the GND terminal to the speaker.
connected the TX and RX of the Bluetooth module to the RX and TX pins of Arduino.
used 9v adaptor for the Arduino and connected it directly to the Arduino which supplies power to most of the components.
used 5v adaptor as an additional power source for the Neo pixel due to the high current draw of the other components.
used DC power connector to stabilize the 5V power input into the design.
Include libraries of the components:
Include Liquidcrystal I2c library.
Include Adafruit Neo pixel library.
Include DF player mini library ( for mp3 module).
Defining:
defining neo pixel pin to pin 6.
defining number of pixels in the neo pixel (64).
defining the MP3 RX to pin 10 and TX yo 11.
defining the two arrays named smiley and sad using binary notation for the what should be shown on the neo pixel. Each array contains a series of 32-bit unsigned integers (uint32_t) that likely represent binary data for patterns.
Initialization in void setup:
initialized the LCD.
initialize the neo pixel.
initialize the DF or MP3 player.
setting neo pixel brightness to 30.
setting player volume to 30.
Initialization the randomizer.
setting the colors of the neo pixels
void loop or main loop:
if the incoming data (1) from the Bluetooth module the randomizer start and neo pixel show smiley face. ( to choose the students randomly to participate in activities or answer the questions)
if the incoming data (2) from the Bluetooth module the neo pixel show smiley face and MP3 play folder 1 (in case the student answered on the questions right)
if the incoming data (3) from the Bluetooth module the neo pixel show sad face and MP3 play folder 2 (in case the student answered on the questions wrong)
1st integrated the components on fusion 360 to make sure that the openings and dimensions are correct.
2nd integrated the circuit and tested it after uploading the code on Arduino and worked.
3rd mounted the components on the design after fabrication then tried each component.
4th mounted the neo pixel and tried it after adding 5v power for it separatly.
I had a lot of support and help from my great instructors Menna Elbadry and Ahmed Sami as they helped in codding process of my project , designing process as Menna gave me the idea of the leg design which made it much easier to me also in the powering process of the project, also Abdelrahaman Orabi who helped me a lot in fixing the problems i faced while testing the speaker and mp3 module and the problems I faced after mounting the neo pixel and testing it. big thank you to all of them. ✨
Also one of my lovely peers Omnia Anas helped me in settling down to the features I needed to make in the project.
Fun fact the above picture of us has been taken by using my robot as mobile holder after finishing it at the last offline session 😂
by Mohamed's phone.
on of my biggest challenges was the neo pixel as after i already tested the whole circuit twice before mounting it on the design it didn't work and almost ruined an Arduino so I asked Abdelrahaman Orabi and he exchanged my Arduino and then tried it again and then Menna told me to give the neo pixel an additional 5V power separately.
from this challenge I think we should calculate the current that each components will use so we avoid this problem by giving each component its suitable power.
1- Add questions to the screen and let the students use the push buttons to answer this questions and according to the answer the robot will do the response automatically.
2- Add dc motor to the robot to make it move and go to student whose number appeared on the screen to answer the question and take his/ her own candy.