My assignment's idea for this week is to design, simulate, and build Deltabot: Arduino-based Spirograph plotter robot.
Because I am impressed by the handmade drawing, I inspired the idea of the assignment from the Islamic geometric patterns (Alzakhrafa). The design is made from cardboard where the plotter arm is controlled by two servo motors, and the plotter based is rotated by the DC motor.
Electronic components:
Arduino UNO is a low-cost, flexible, and easy-to-use programmable open-source microcontroller board that can be integrated into a variety of electronic projects. This board can be interfaced with other Arduino boards, Arduino shields, Raspberry Pi boards and can control relays, LEDs, servos, and motors as an output.
Micro Servo Motor is a tiny and lightweight server motor with high output power. The servo can rotate approximately 180 degrees (90 in each direction). You can use any servo code library to control these servos.
A gear motor is a combination of a DC motor and gearbox. The gears use to reduce the speed of the motor while increasing the torque output.
4- 5V DC Adapter
The adaptor converts AC power to 5-volt DC for powering most electronic devices ( in our case the dc motor).
The ultrasonic sensor is an instrument that measures the distance to an object using ultrasonic sound waves. An ultrasonic sensor uses a transducer to send and receive ultrasonic pulses that relay back information about an object's proximity.
The potentiometer is a three-terminal resistor with a sliding or rotating contact that forms an adjustable voltage divider. Potentiometers are commonly used to control electrical devices such as volume controls on audio equipment. In this assignment, I used it to control the speed of the DC motor.
7- Breadboard
A breadboard allows for easy and quick creation of temporary electronic circuits or to carry out experiments with circuit design. Breadboards enable developers to easily connect components or wires thanks to the rows and columns of internally connected spring clips underneath the perforated plastic enclosure.
8- DC Jack to terminal block converter
10- Crocodile Wires
Materials:
Cardboard: Cardboard is a heavy-duty paper-based product having a greater thickness and superior durability or other specific mechanical attributes to paper; such as foldability, rigidity, and impact resistance. So, I used it to make the prototype of the design.
software:
Tinkercad: is an online 3D modeling program for creating models for 3D printing as well as Circuits and Code Blocks. I used it to build and simulate the full circuits before building and testing them on a physical breadboard.
You can find tinkercad circuits tutorial for beginners here
Arduino IDE 1.8.19: is open-source Arduino Software (IDE) that makes it easy to write code and upload it to the Arduino board. This software can be used with any Arduino board, in this assignment, I use Arduino UNO.
You can find Arduino IDE tutorial for beginners here
Electronics components and the prototype materials:
Tinkercad
Arduino IDE 1.8.19
Simulate Circuits in Tinkercad
Final circuit design
Code blocks
Design and Simulate Circuits in Tinkercad :
1- After logging in to Tinkercad, click on "Circuits" on the left-hand side.
2- The "Create New Circuit" homepage in Tinkercad.
3- Start by adding the power supply and 5v power supply to my design.
4- Adding the output action components ( servo motors, and dc motor ) to the circuit design.
5- Adding the input components ( potentiometer, and ultrasonic sensor) to the circuit design.
6- Add the Arduino UNO
7- Adding connections between the components, as shown in the Figure.
8- Starting to build the code using the code blocks, as shown in the Figure.
9-Starting the simulation, as shown in the video.
The design and implementation process :
1- The crocodile wires and Jumper Wires have been used to connect the components together (as shown in the photos )
2- The Servo motors and Motor have been separately powered at first, in order to make sure that they are functional, before putting them together in the circuit.
3- The DC Jack to terminal block converter has been connected to the DC jack of the DC Power adapter to power the motors in parallel.
4- The crocodile wires have been used to connect the potentiometer with the Dc motor to the DC Power adapter, to control the speed of the motor.
5- The ultrasonic sensor has been connected and fixed on the Arduino board, which is used as input to start the drawing pattern.
6- The two servo motors have been attached to the plotter arm, to control its motion based on the code.
7- The Cardboard has been used to make a wheel, which is used as a base to fix the motor, also the cardboard has been used to create the plotter arm.
8- After all connections are completed and ready, the DC power adapter has been plugged into the wall outlet to power the plotter.
9- The video shows the Deltabot: Arduino-based Spirograph plotter robot while functioning.
The device while functioning
in Hands-on activity of Monday lecture. I have learned how to generate three soundbites to play music by controlling a Buzzer with an Arduino board.
The challenge
the speed of the motor used to rotate the big wheel, which is used as a base for drawing paper is high, this high-speed effect on the quality of the drawing, as shown in the upper figure.
The solution
To overcome this challenge, I used a potentiometer to control the motor speed and reduce it to a suitable speed, the drawings have been fixed as shown in the below figure.
The damaged drawing
The final drawing
This week's assignment was my second step toward the final project and design Deltabot: Arduino-based Spirograph plotter robot, where my final project is drawing robots.
By the end of this week, I learned different skills that will support me in the final project, such as :
- Program an Arduino using Code Blocks, and how code blocks translate into Arduino C programming language.
- Program an Arduino to control a single action component (LED, Motor...etc), and to read signals from a single input component (Sensor, switch, and variable resistor)
Waving Hand was the WOW of this week. During this activity, we ( i and my team members ) built a Smart Waving Hand using Arduino. When you wave at the smart hand, it waves back at you! 👋. We design and implemented two modules for the waving hand project:
- Manual Mode: In this mode, a single servo motor (One Hand) at the output is controlled manually by a human using a potentiometer (knob) at the input of an Arduino board (Hint: Map )
- Automatic Mode: In this mode, a single servo motor (One Hand) connected at the output is controlled via signals received from an ultrasonic sensor at the input of the Arduino board
Title of Media