Asked — Edited

Dancing Android Robot

Have any of you seen the "Dancing Android Robot" on insrtuctables.com? You can also find it at: https://www.youtube.com/user/hitmithitmit

It looks like an absolutely great project! ( I think the current slang for this would be: "its totally sick!!!)

I have a Ardunio Uno , on order; but I am just starting with learning how to write code for it, and I do mean just starting. I'm at "Hello world"! Is there any way I might convince one of you roboteers out there to write a patch for it????? I'd owe you bigtime!!!!! I have the EZ-B, but I'm still a noobie with it too. From what I;ve seen thus far the EZ-B couldn't do the Dancing Android routine. If I am in error........PLEASE......feel free to correct me! ( Here's a challenge for you DJ) Hoping someone wants to do this project and will share...........................................hint, hint! Thanks fer yer time all. Lloyd


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

Author Avatar
PRO
Synthiam
#9  

AAAAAAAAAAAH! The "A" Word

Author Avatar
Netherlands
#10  

Don't be scared DJ, it's a very small Arduino ;)

#11  

The video was of great help. Could I impose on you to send me a copy of the "sketch" for Ardiuno, using servos?????? It would have to be "copy and paste" for me ; as I said eariler.......I'm just starting with Arduino. I would be in your debt. Thanks Lyron, Lloyd

#12  

Hey lostcreekstation, the only time the "a" word should be mentioned here is when your using an arduino shield for the EZB. ;)

Author Avatar
PRO
Synthiam
#13  

Lloyd, there's a reason Arduino is complicated... That's because it isn't the EZ-B:)

It'll take you 100 times longer to accomplish something in Arduino than with the EZ-B, which will take you 10 seconds

#14  

Advice is well taken. I would much rather use the EZ-B, and I'm sure I will after I learn to use it to its full potential. I would, however, like to learn some programming. I prefer to have options. As you can surmise by my eariler comments, I'm interested in doing the Android dancing bot. I'm looking forward to your doing that project. I willkeep in mind to exclude the "A" word in all future communications.LoL. My components are still slowly arriving. I'm planning on waiting until I have them all before I really get started on the OmniBot; which, by the way; I'm going to call " Gizmo" Thanks for keeping me on the straight and narrow DJ.

Author Avatar
PRO
Synthiam
#15  

Hahahhaa you can use the A word. It'll be a nice reminder of how much trouble ppl have with it:)

Author Avatar
Netherlands
#16  

The arduino code:


// Controlling a servo position using a potentiometer (variable resistor) 
// by Michal Rinott  
// Adapted by Niek (Lyron) for 4 servo's
#include  
 
Servo fullbody;  // create servo object to control a servo 
Servo head;  // create servo object to control a servo 
Servo leftarm;  // create servo object to control a servo 
Servo rightarm;  // create servo object to control a servo 
 
int fullbodypot = 0;  // analog pin used to connect the full body potentiometer
int fullbodyval;    // variable to read the value from the analog pin 
int headpot = 1;  // analog pin used to connect the head potentiometer
int headval;    
int leftarmpot = 2;  // analog pin used to connect the left arm potentiometer
int leftarmval; 
int rightarmpot = 3;  // analog pin used to connect the right arm potentiometer
int rightarmval; 
 
void setup() 
{ 
  fullbody.attach(9);  // Fullbody-servo is attached to digital pin 9
  head.attach(8);
  leftarm.attach(7);
  rightarm.attach(6);
} 
 
void loop() 
{ 
  val = analogRead(fullbodypot);            // reads the value of the potentiometer (value between 0 and 1023) 
  val = map(fullbodyval, 0, 1023, 0, 179);     //0 and 1023 are the min and max values the arduino reads from the pot (play around with this) and 0 and 179 are servo min and max degrees
  fullbodyservo.write(fullbodyval);                  // sets the servo position according to the scaled value 
  
   // do the same for the other 3 servo's and pots
  val = analogRead(headpot);           
  val = map(headval, 0, 1023, 0, 179);
  headservo.write(headval);
  
  val = analogRead(leftarmpot); 
  val = map(leftarmval, 0, 1023, 0, 179);
  headservo.write(leftarmval);
  
    val = analogRead(rightarmpot); 
  val = map(rightarmval, 0, 1023, 0, 179);
  headservo.write(rightarmval);
  
  delay(15);                           // waits for the servo's to get there  (ms)
} 

You connect the pot-meters like this:

User-inserted image

See, it isn't THAT hard! even a 13 year old can do it (me!)