Arduino Parallax Shield Bot – Version 1 :: Member Project
Arduino robots with wheels – it’s a great way to move. But what about getting a robot to jump? The wheeled robot featured below is the first iteration of what will become a jumping robot.
Below is a short log of Fini McGlinchey’s work thus far (Fini is a member of Programming Electronics Academy) – the robot body is using the Parallax Robot Shield and chassis for the prototyping platform.
Why Are you building this Arduino Robot?
I need to make a jumping robot. I teach Lego Robotics and wanted to learn how to program robots that use the Arduino because our teams are signed up to compete in a Robotic Frog Jumping Contest in the Spring. We competed last year and did ok using the EV3 system but we were challenged because there is a size limit and the EV3 brick takes up a lot of room.
What I have shared here is the first iteration. I have learned to program the Arduino Bot. It rolls and signals when it turns. The next step will be making it jump. I have a lot of practice making robots that roll, but making one that jumps is going to be really fun! The circuit board size and weight will be an advantage here.
What was your biggest struggle as you worked through this project?
I can only guess what my problems will be as I continue to develop this… I think right now my problem is remembering all the information I learned! It is a good thing there are so many awesome tutorials to remind me.
What can you say you have learned about programming and/or electronics through the creation process?
Have a bit of faith in yourself. You can do it, and you will figure it out. Editor Note: Wise words!
Was the training at Programming Electronics Academy able to help you build your skill?
Yes. I am also currently taking a course to get my teaching certificate in Arduino Robotics and having taken your course first I feel I have a tremendous head start.
Arduino Code:
#include <Servo.h>; Servo leftMotor; Servo rightMotor; void setup() { // put your setup code here, to run once: leftMotor.attach (10); rightMotor.attach (11); pinMode(8, OUTPUT); pinMode(4, OUTPUT); //FORWARD leftMotor.writeMicroseconds (1700);//sends signal to motor, tells to go rightMotor.writeMicroseconds (1300);//sends signal to motor, tells to go //when numbers are the same, wheels spins opposite directions, robot turns //when numbers are 1300 and 1700, moves forward or backward delay (1000);//duration of spin or "go", either right or left leftMotor.writeMicroseconds (1500);//stop rightMotor.writeMicroseconds (1500);//stop//RIGHT TURN digitalWrite(4, HIGH); // turn the LED on (HIGH is the voltage level) //RIGHT leftMotor.writeMicroseconds(1700); // Set left motor signal to 1700 microsecond pulse (full speed counterclockwise) delay(1000); // Wait 1000 milliseconds (one second) while the motor runs leftMotor.writeMicroseconds(1500); // Set left motor signal to 1500 microsecond pulse (stop spinning) digitalWrite(4, LOW); // turn the LED off by making the voltage LOW //FORWARD leftMotor.writeMicroseconds (1700);//sends signal to motor, tells to go rightMotor.writeMicroseconds (1300);//sends signal to motor, tells to go //when numbers are the same, wheels spins opposite directions, robot turns //when numbers are 1300 and 1700, moves forward or backward delay (1000);//duration of spin or "go", either right or left leftMotor.writeMicroseconds (1500);//stop rightMotor.writeMicroseconds (1500);//stop digitalWrite(8, HIGH); // turn the LED on by making the voltage HIGH //LEFT rightMotor.writeMicroseconds(1300); // Set right motor signal to 1700 microsecond pulse (full speed counterclockwise) delay(1000); // Wait 1000 milliseconds (one second) while the motor runs rightMotor.writeMicroseconds(1500); // Set right motor signal to 1500 microsecond pulse (stop spinning) digitalWrite(8, LOW); // turn the LED off by making the voltage LOW } void loop() { // put your main code here, to run repeatedly: }
About Fini
Fini McGlinchey is a FIRST Lego League robotics coach (If you haven’t heard about FIRST, you should check it out – it is a great organization!). Fini has been into electronics for about 8 years, and been dabbling with programming longer then he’d like to mention.

[…] post Arduino Parallax Shield Bot – Version 1 :: Member Project appeared first on Programming Electronics […]
I love the idea Fini.Please keep the fire burning…with that in practise fruits will mature..and when it’s ready share with me I’ll be the most happiest person in the world seeing this project winning. Midnight oil must be burnt…this enthusiasm is very encouraging…thank you Michael too. Enjoy your weekendstay guys…????????
Great start on your project. I looked at the sample code you shared above and suggest you take the steps that define movement in a particular direction and make them functions below your void loop(). For instance your steps for forward could be defined as a
void forward()
{ leftMotor.writeMicroseconds (1700);//sends signal to motor, tells to go
rightMotor.writeMicroseconds (1300);//sends signal to motor, tells to go
//when numbers are the same, wheels spins opposite directions, robot turns
//when numbers are 1300 and 1700, moves forward or backward
}
Make a similar function for backward, right, left, and stop. Then all you have to do in your void loop() is have a step that says ‘forward();’. and then have a step that delays for some number of seconds or looks for some result and then issue a stop(); command. Functions are extremely powerful and greatly reduce the size of your code .
You may already be aware of this trick since your code above is just a sample of your full program, but I thought this technique might simplify your sketch development.
Great ideas Ron!
Since you already know how to roll, I would think a spring-loaded kickplate would enable the jump, the timing of release would have to be worked out. It may only let you jump once, so if you have to do it more than once, idea may not work.
Thank you, I need to practice with the coding more. I saw a robot last year that used back legs that spun in a circle, more like hopping than jumping. But it was able to hop to the goal line.