Another 3 servo hexapod with arduino S3V3

Very simple robot with sharp ir and microswitches.............. 3 servos and arduino brain.......

 

 

navigate around via ir........

  • Actuators / output devices: Servos
  • Control method: autonomous
  • CPU: Arduino
  • Programming language: C++
  • Sensors / input devices: 3xSharp IR GP2D12

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/another-3-servo-hexapod-with-arduino-s3v3

could you write a more

could you write a more detailed description about the construction and functionality please? how is the program, any future plans etc?

as I saw newcommers just

as I saw newcommers just through 1-2 videos 4-5 words and thats it :frowning:

when i posted the cnc machine i gave codes, pics, etc…

gonna post the code (very simple one) and more pics…

PICS

|x

 

|x

CODE

/// diego colonnello hexapodo//
///21 septiembre 2010 ///

#include <Servo.h>

Servo servocentro; 
Servo servoderecho;
Servo servoizquierdo;
int sensorPin = 1;    // pin de entrada sensor sharp
int antenaderecha = 3;
int antenaizquierda = 2;
int distancia = 200;


void setup()
{
  Serial.begin(9600);
  servocentro.attach(9);  //conecta el servo del centro al pin 9
  servoderecho.attach(8);  // conecta el servo derecho al pin 8
  servoizquierdo.attach(10);  // conecta el servo izquierdo al pin 10
  pinMode(antenaderecha, INPUT); 
  pinMode(antenaizquierda, INPUT); 
}


void loop()
{

  Serial.println(analogRead(1));

  {

    if (analogRead(1) <= distancia)
    {
      adelante();
    }
    if (analogRead(1) > distancia)
    {

      girar_iz();          // muevete girando
    }
  }
  {
    if (digitalRead(antenaderecha) == HIGH)
    {
      girar_iz();
    }
    if (digitalRead(antenaizquierda) == HIGH)
    {
      girar_der();
    }


  }


}

//funciones de caminar//

// camina hacia adelante//
void adelante()

{
  servocentro.write(97);
  servoderecho.write(120);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(83);
  servoderecho.write(60);
  servoizquierdo.write(60);
  delay(500);
}

//camina retrocediendo

void atras()

{
  servocentro.write(97);
  servoderecho.write(60);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(83);
  servoderecho.write(120);
  servoizquierdo.write(120);
  delay(500);
}

//gira el cuerpo

void girar_iz()

{
  servocentro.write(83);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(97);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(83);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(97);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(83);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(97);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(83);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(97);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
}

void girar_der()

{
  servocentro.write(83);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(97);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(83);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(97);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(83);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(97);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
  servocentro.write(83);
  servoderecho.write(60);
  servoizquierdo.write(120);
  delay(500);
  servocentro.write(97);
  servoderecho.write(120);
  servoizquierdo.write(60);
  delay(500);
}