Introduction: Trash Built BT Line Drawing Bot - My Bot
Hai friends after a long gap about 6 months here i come with a new project. Till the completion of Cute Drawing Buddy V1, SCARA Robot - Arduino i plan for a another drawing bot, main aim is to cover a large space for drawing. So fixed robotic arms can't do it, So I plan for a bot which is able to draw in flat surface. This is version 1 it can able to draw all vector drawing (because stepper used here is very cheap) in any scale. In this tutorial we see not only construction but also deep study of how it draw in very detailed. I listed the supplies in Separate Page so that i able to add images separately.
You can able to draw very large images using this bot. Its Very Fun For kids to build and Play.
Some Additional Modes are added with the robot for Kids and Fun is in my new Instructables Live Turtle Logo Program Using BT Bot. You also have android app to control the bot.
NOTE :- For those who have bot and want code for the drawing directly go to step 9. You able to see the detailed calculation in that page with images.
Step 1: Materials Required
As like my previous projects here also most of the things used from trash apart from controller motor and wheels.
1) 28byj-48 stepper motor with uln2003 driver - 2 Nos.
2) Arduino Nano - 1No.
3) Tower pro servo sg90 - 1No.
4) HC-05 bluetooth module.
5) Wheels for stepper motor - 2 Nos.
6) Caster Wheels - 2Nos.
7) Sketch pen
8) Screw and Nut.
9) Capacitor 470 microfarad.
apart from the above all from trash
9) Plywood 12 CM X 12 CM.
10) Aluminium feeding waste pieces.
11) CD case.
12) Old Plastic gears.
1) Arduino IDE.
2) Visual studio 10.
1) Drilling machine.
2) Soldering ion.
3) Hacksaw blade.
4) Screw Driver.
Step 2: Video to Build
Full construction in single video see the video or go through the steps for detail.
Step 3: Chassis Construction and Wheels Fixing
The Image is self explanatory, Still i narrate some words
1) Its a very small bot only 6 Cm radius (12 cm Dia). First draw the circle in a paper and mark the portions for wheels and cut the paper.
2) Place the paper over plywood and draw the outline of chassis. As i have no wood cutting machine i drill the out line with equal spaces and remove the extra pieces.
3) Sculpture the sides using knife and make it polish.
4) Now Cut the Square Aluminum feeding pipe to L shape using hack saw.
5) Mark the holes in the L shape feeding to fit the stepper motor. Again put holes and cut the aluminum piece(It take more time because weight less aluminum is very hard when work with hands).
6) Now fit the L shape aluminum feeding to the play wood base using screws and nuts. Now screw the stepper motor in the chassis.
7) Make a base for the Castor wheel and fixed it with the chassis.
8) Put a 10mm hole in the correct center of the chassis for future use.
Note: - Steps are very simple but all are wanted to be in proper dimension and correct position even a small mm change make large change in drawing.
Step 4: Circuit Plan
Above is the circuit Diagram
1) Use Arduino TX and RX to communicate with HC05 Bluetooth. Remember while program upload HC05 must remove other wise we cant able to upload the program.
2) User Digital pins (2,3,4,5) and (6,7,8,9) for stepper motor. Connect the pins to stepper motor through ULN2003 driver.
3) Connect servo motor to the digital pin 10.
4) Separate power supply for Stepper and servo motor. I use a mobile power bank with 5V 2.1A output.
5) 9V battery for Arduino and Arduino 5V supply to HC05 Module.
6) Use a 470 micro farad capacitor parallel to the servo power supply to stop servo from flicker.
Step 5: Circuit Completion
I make a shield like circuit all are hand soldered with female and male connector pins. Connector wires are also own made. Don't forgot to put two different power supply because it take me 3 days to find the problem. Connect all the power supply gnd to the arduino gnd.
Step 6: Complete the Bot
1) Connect the circuit with the chassis, I use a old CD case to make a triangler base and fix the circuit in one side and motor driver in other side.
2) Now use Arduino Bluetooth RC Car app to test the bot.
3) Connect the Power bank to the Arduino power supply. Only Power bank is enough for Arduino, Bluetooth and Steppers.
Arduino program to check the bot is given above
Step 7: Pen Up Down Mechanism
1) After lot of changes i done the above pen up down mechanism with quick change of the pen.
2) I use link to up down the lever to lift pen up and down.
3) Use a old gear over the sketch pen for weight and lift mechanism.
Step 8: Complete the Bot
Fix the Battery and Power bank I cut old body spray bottle and fox it permanently. Now the base work is done, a stepper motor driven bot is ready.
Step 9: Robot Maths
Step by step are detailed in the drawing.
1) The main part of the program is calculate the rotation the bot want to turn in which direction and the distance it want to move. Think at every time bot is in the center of a graph we have the current position and the position want to move. So each point have a X, Y position and we have the current degree the bot is facing. At start the bot face 0 degree, its has 359 degree to rotate and move in that direction.
2) So with the Current Position and the position want to move find the width(a) and height (b) as per step 2 and form a right angled triangle. Even if the values are negative make it absolute. With the Hypotenuse formula find the Hyp.
3) Find the degree using the trignamentry formula with Hyp and B(opposite side). Convert radians to degree.
4) Now we have the hyp the distance want to move and we have a degree where the point is locate. Only when after rotate it moves. To Calculate Bot rotating angle user step 5.
5) Step 5 have lot of logic because the bot have points on any side. So as per the Current postion and the next postion point location calculate the Rotate angle.
6) With the bot current angle in the memory find the rotate angle and direction as per step four. Now rotate left or right side as per the calculation and move steps for Hyp number. Now make the new point as current point and fetch the next point and goto step 1 again
Repeat the steps again and again up to the completion of program.
Step 10: VB.net 2010 Program
1) In the Designer View we have two Tab control. One to connect with the Bot over bluetooth. And another is the drawing window.
2) Use Mouse or hand to draw the white space of the Drawing and we able to save the drawing and open it.
3) A button called Draw in the left side click to draw the image in the picture box to floor or paper.
4) Step 5 program of the previous slide is in the first two images.
5) Once the draw is pressed one point and pen status is calculated and find the rotation angle and travel distance, its is send to the bot. Once bot reach that point it reply and next point send as per the send point the image is display in the screen. Once it reach the end. last position to home rotation and point send to bot.
6) Download the Application in this page, Unzip it and install the latest .net framework and run.
NOTE:- First I create a single command using comma seperator and try to split string using substr, but in arduino if the length is high then string functions never Work. So send the points step by step.
Step 11: Arduino Program - Calculation for Number of Pulse
Current Bot working
1) So now if both stepper motor rotate in opposite direction the bot move front or back. For stepper motor 28byj-48 we need 4096 pulse for one full rotation.
2) If rotate in same direction left turn or right turn. calculate the number of degrees stepper want to rotate for one full rotation and divide it by 360 to find the rotation for 1 degree or find the Center of the wheel from the center of the chassis and find its circumference divide it with the wheel circumference. Now with this result multiply 4096 for how many pulse want for full rotation. For my wheels and chassis the result is 5742 pulse and divide it by 360, 15.95 pulse for 1 degree rotation.
Step 12: Arduino Program
With the previous page the step for a degree is calculated. Rotation direction, degree and move distance calculated and send by VB.net program through blue tooth. Once the data received with Starting character as "&" and ending character as "$" then the substring split and execute the command by rotate the motors and servos. Once it completed it reply "@" symbol to the laptop.
Step 13: MyBot Is Ready
Now Its time to play see the videos for how it works. We have lot of different color sketches change colors easily and draw your own drawings with out any upload. Plan to lot of upgrade in the bot.
Lot more to enjoy...............Don't forgot to comment and encourage me friends.
Participated in the
DIY Summer Camp Contest