18dof simple Hexapod, Arduino nano (opcionalmente con el chip maestro) (11 / 13 paso)

Paso 11:12 Código de Servo

Esta es una marcha sencillas trípode. Tenga en cuenta que sólo fijar las articulaciones de la tibia en el lugar, que no es ideal, pero hace muy comprensible el código. Yo diría que este código es un buen salto de punto. Los servos en este código se fijan en las patillas 2 a 13.

E_coxa.Attach(2);
E_femur.Attach(3);
E_tibia.Attach(4);

B_coxa.Attach(5);
B_femur.Attach(6);
B_tibia.Attach(7);

AC_coxa.Attach(11);
AC_femur.Attach(12);
AC_tibia.Attach(13);

DF_coxa.Attach(8);
DF_femur.Attach(9);
DF_tibia.Attach(10);

Los únicos valores que necesita para ajustar son AC_up, AC_down, COXA_CW, COXA_CCW y potencialmente TIBIA. Probablemente no necesitará ajustar mucho si también usas servos estándar 180 grados como soy. Estos experimental determina que los límites si no quería que las piernas estrellarse en uno a o en el cuerpo principal del hexápodo (va demasiado lejos hasta).

https://github.com/nouyang/18-servo-Hexapod/BLOB/Master/arduino_may13_2011.PDE

O, como copiado a continuación:
======================

#include < Servo.h >

#define TIBIA 45
#define demora 300

#define COXA_CCW 70
#define COXA_CW 105

/*
~ frente ~
A D
B E
C F
~ nuevo ~
*/

#define AC_UP 92
#define AC_DOWN 125

int alto = AC_UP;
int abajo = AC_DOWN;

Servo E_coxa;
Servo E_femur;
Servo E_tibia;

Servo B_coxa;
Servo B_femur;
Servo B_tibia;

Servo AC_coxa;
Servo AC_femur;
Servo AC_tibia;

Servo DF_coxa;
Servo DF_femur;
Servo DF_tibia;

void setup()
{
digitalWrite (2, salida);
digitalWrite (3, salida);
digitalWrite (4, salida);
digitalWrite (5, salida);
digitalWrite (6, salida);
digitalWrite (7, salida);
digitalWrite (8, salida);
digitalWrite (9, salida);
digitalWrite (10, salida);
digitalWrite (11, salida);
digitalWrite (12, salida);
digitalWrite (13, salida);

pinMode (1, salida);
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
pinMode (5, salida);
pinMode (6, salida);
pinMode (7, salida);
pinMode (8, salida);
pinMode (9, salida);
pinMode (10, salida);
pinMode (11, salida);
pinMode (12, salida);
pinMode (13, salida);

E_coxa.Attach(2);
E_femur.Attach(3);
E_tibia.Attach(4);

B_coxa.Attach(5);
B_femur.Attach(6);
B_tibia.Attach(7);

AC_coxa.Attach(11);
AC_femur.Attach(12);
AC_tibia.Attach(13);

DF_coxa.Attach(8);
DF_femur.Attach(9);
DF_tibia.Attach(10);

}

void loop()
{
para (int i = 0; i < = 2; i ++) {}
walkfwd();
}
para (int j = 0; j < = 2; j ++) {}
walkbwd();
}
para (int k = 0; k < = 2; k ++) {}
turnleft();
}
para (int l = 0; l < = 2; l ++) {}
TurnRight();
}

}
void walkbwd() {}
tibia();
B1();
B2();
B3();
B4();
}
void walkfwd() {}
tibia();
tri1();
TRI2();
tri3();
tri4();
}

{} void turnleft()
tibia();
L1();
L2();
L3();
L4();
}

{} void turnright()
tibia();
R1();
R2();
R3();
R4();
}
void tibia() {}
AC_tibia.Write(tibia);
B_tibia.Write(tibia);
DF_tibia.Write(tibia);
E_tibia.Write(tibia);
}

void tri1() {}
AC_coxa.Write(COXA_CW);
E_coxa.Write(COXA_CCW);

DF_coxa.Write(COXA_CW);
B_coxa.Write(COXA_CCW);

Delay(Delay);
};
void tri2() {}
AC_femur.Write(AC_DOWN);
E_femur.Write(Down);

DF_femur.Write(up);
B_femur.Write(up);

Delay(Delay);
};

void tri3() {}
AC_coxa.Write(COXA_CCW);
E_coxa.Write(COXA_CW);

DF_coxa.Write(COXA_CCW);
B_coxa.Write(COXA_CW);

Delay(Delay);
};
void tri4() {}
AC_femur.Write(AC_UP);
E_femur.Write(up);

DF_femur.Write(Down);
B_femur.Write(Down);

Delay(Delay);
};

void b1() {}
AC_coxa.Write(COXA_CCW);
E_coxa.Write(COXA_CW);

DF_coxa.Write(COXA_CCW);
B_coxa.Write(COXA_CW);

Delay(Delay);
};
void b2() {}
AC_femur.Write(AC_DOWN);
E_femur.Write(Down);

DF_femur.Write(up);
B_femur.Write(up);

Delay(Delay);
};

void b3() {}
AC_coxa.Write(COXA_CW);
E_coxa.Write(COXA_CCW);

DF_coxa.Write(COXA_CW);
B_coxa.Write(COXA_CCW);

Delay(Delay);
};
void b4() {}
AC_femur.Write(AC_UP);
E_femur.Write(up);

DF_femur.Write(Down);
B_femur.Write(Down);

Delay(Delay);
};

void l1() {}
AC_coxa.Write(COXA_CCW);
E_coxa.Write(COXA_CCW);

DF_coxa.Write(COXA_CW);
B_coxa.Write(COXA_CW);

Delay(Delay);
};
void l2() {}
AC_femur.Write(Down);
E_femur.Write(Down);

DF_femur.Write(up);
B_femur.Write(up);

Delay(Delay);
};

void l3() {}
AC_coxa.Write(COXA_CW);
E_coxa.Write(COXA_CW);

DF_coxa.Write(COXA_CCW);
B_coxa.Write(COXA_CCW);

Delay(Delay);
};
void l4() {}
AC_femur.Write(up);
E_femur.Write(up);

DF_femur.Write(Down);
B_femur.Write(Down);

Delay(Delay);
};

void r1() {}
AC_coxa.Write(COXA_CW);
E_coxa.Write(COXA_CW);

DF_coxa.Write(COXA_CCW);
B_coxa.Write(COXA_CCW);

Delay(Delay);
};
void r2() {}
AC_femur.Write(Down);
E_femur.Write(Down);

DF_femur.Write(up);
B_femur.Write(up);

Delay(Delay);
};

void r3() {}
AC_coxa.Write(COXA_CCW);
E_coxa.Write(COXA_CCW);

DF_coxa.Write(COXA_CW);
B_coxa.Write(COXA_CW);

Delay(Delay);
};
void r4() {}
AC_femur.Write(up);
E_femur.Write(up);

DF_femur.Write(Down);
B_femur.Write(Down);

Delay(Delay);
};

Artículos Relacionados

Arduino Nano con sensor DHT y OLED

Arduino Nano con sensor DHT y OLED

En este tutorial voy a describir cómo utilizar un sensor DHT en un Arduino Nano y OLED de pantalla.Paso 1: introducciónHola,Mi nombre es Nick Hendriks y vivo en Holanda. No tengo experiencia con Arduino o los componentes utilizados, pero con la lectu
Base de Arduino Nano Hexbug araña robótica de escarabajo

Base de Arduino Nano Hexbug araña robótica de escarabajo

La Idea:Para construir una araña robótica programable basada en escarabajo Hexbug, equipado con el siguiente conjunto de sensores:[video]Sensor de distancia ultrasónicoObstáculo infrarrojo sensores y equiposGiroscopioAcelerómetroPuntero láserEl robot
Arduino Nano: Conexión de interruptor de la foto (optoacoplador ranurado) con Visuino

Arduino Nano: Conexión de interruptor de la foto (optoacoplador ranurado) con Visuino

Optoacoplador ranurado (foto interruptores) es muy útiles, incluida a menudo en proyectos de Arduino para detectar la posición de objetos en movimiento, medir la velocidad de rotación, o movimiento lineal, la frecuencia de eventos y muchos otros.Son
Arduino Nano: Detector de evitación de obstáculos infrarrojo con Visuino

Arduino Nano: Detector de evitación de obstáculos infrarrojo con Visuino

Sensores infrarrojos evitación del obstáculo son baratos, pequeños sensores de uso frecuente en robots y proyecto de Arduino para detectar objetos cerca del sensor.Los sensores infrarrojos funcionan enviando una luz infrarroja con cierta frecuencia,
RS485 Comunicación Serial entre Arduino Mega y Arduino Nano con Visuino

RS485 Comunicación Serial entre Arduino Mega y Arduino Nano con Visuino

A veces necesitamos conectar placas Arduino ubicados muy lejos unos de otros. RS485 es una manera muy conveniente para conectar las tablas con sólo 2 conductores y puede trabajar a una distancia de 1200 m (4000 pies). También permite múltiples tablas
Parpadeo LED con Arduino Nano

Parpadeo LED con Arduino Nano

Hola amigos,Ver un LED que parpadea es muy divertido, pero cuando haces uno como el que por ti mismo entonces la diversión es aún más. ^_^Así, que la diversión comience,En este instructable, he mostrado cómo a parpadear un LED con Arduino Nano.Nota:
Arduino Nano con WIZ550io = Internet fácil

Arduino Nano con WIZ550io = Internet fácil

Me encanta el Arduino Nano - es una agradable compacta pero totalmente funcional versión de Arduino Uno. Sin embargo, cuando fui a conectar a internet de esa pequeñez y prolijo desaparecidos bajo el gran escudo de ethernet de tamaño completo que tení
Arduino Nano con DHT11, RTC DS1307 y LCD 16 x 2

Arduino Nano con DHT11, RTC DS1307 y LCD 16 x 2

Hola. Este es mi primer Instructable, así que espero que va a estar bien.Este es mi proyecto de Arduino Nano con LCD I2C Junta, RTC DS1307 y sensor DHT11.Para este proyecto usé Arduino Nano, RTC DS1307 reloj tablero, tablero del sensor DHT11, 16 x 2
Arduino Nano con Ethernet Shield

Arduino Nano con Ethernet Shield

Hace poco compré un escudo Arduino Ethernet diseñado para el Arduino Uno y pensado que sólo fácilmente puede pude conectarlo a mi Arduino Nano existentes. Me equivoqué!No pude encontrar mucha informacion en todo sobre cómo hacer esto, excepto que alg
Arduino Nano: Teclado de matriz con Visuino

Arduino Nano: Teclado de matriz con Visuino

Telclados numéricos de la matriz son algunas de las maneras más simples y más populares para entrar información del teclado en microcontroladores Arduino tipo.En este Instructable mostrará lo fácil que es conectar Teclado matriz con Arduino y program
Arduino Nano: Contra rebotes y alternar botón con Visuino

Arduino Nano: Contra rebotes y alternar botón con Visuino

Botones conectado a Arduino se pueden utilizar fácilmente como interruptor de encendido/apagado. Desgraciadamente los botones tienden a crear ruido que despiden cuando conectar/desconectar, hacer la funcionalidad de alternar no fiable. El ruido puede
Arduino Nano: Leer múltiples DS1820/DS18S20 Maxim un alambre Termómetros con Visuino

Arduino Nano: Leer múltiples DS1820/DS18S20 Maxim un alambre Termómetros con Visuino

Una de las razones que los Termómetros DS18B20 OneWire Maxim DS1820 DS18S20 / / son tan populares es que varios termómetros pueden ser conectados e incluso funciona con sólo 2 hilos. Ya postee Instructables en cómo conectar un termómetro y cómo obten
Arduino Nano: Analógico 7 segmento MAX7219 pantalla con Visuino

Arduino Nano: Analógico 7 segmento MAX7219 pantalla con Visuino

Displays de 7 segmentos son una opción muy popular para Mostrar datos. Sin embargo, constan de un gran número de LEDs y controlar cada LED con un pin digital de Arduino no es una solución práctica. Maxim Integrated ofrece muy conveniente chip para el
Arduino Nano y Visuino: Control de Motor paso a paso con los botones

Arduino Nano y Visuino: Control de Motor paso a paso con los botones

Motores paso a paso se utilizan en proyectos de Arduino, cuando algo necesita ser movido o dado vuelta. En este Instructable, les mostraré lo fácil que es conectar el Motor de paso a paso con Arduino Nano y controlar con los botones.Tenga en cuenta q