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
when i posted the cnc machine i gave codes, pics, etc…
gonna post the code (very simple one) and more pics…
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);
}