18dof simple hexapode, Arduino nano (éventuellement avec le maestro pololu) (11 / 13 étapes)

Étape 11:12 Servo Code

Il s’agit d’une démarche simple trépied. Notez que j’ai juste fixer les joints du tibia en place, ce qui n’est pas idéal, mais rend le code très compréhensible. Je dirais que ce code est un bon point de sauter. Les servos dans le présent code sont attachés sur les broches 2 et 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) ;

Les seules valeurs que vous avez besoin d’ajuster sont AC_up, AC_down, COXA_CW, COXA_CCW et potentiellement TIBIA. Probablement, vous n’avez pas besoin de les ajuster beaucoup si vous utilisez également des servos standard 180deg comme je suis. Ces j’ai déterminé expérimentalement à la limite si je ne voulais pas les jambes s’écraser les uns les autres ou dans le corps principal de l’hexapode (aller trop haut).

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

Ou, comme copié ci-dessous :
======================

#include < Servo.h >

#define TIBIA 45
#define retard 300

#define COXA_CCW 70
#define COXA_CW 105

/*
~ avant ~
UN D
B E
C F
~ nouveau ~
*/

#define AC_UP 92
#define AC_DOWN 125

int = jusqu'à AC_UP ;
int bas = 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 (sortie 2) ;
digitalWrite (3, sortie) ;
digitalWrite (sortie 4) ;
digitalWrite (5, sortie) ;
digitalWrite (6, sortie) ;
digitalWrite (7, sortie) ;
digitalWrite (sortie 8) ;
digitalWrite (sortie 9) ;
digitalWrite (sortie 10,) ;
digitalWrite (sortie 11) ;
digitalWrite (sortie 12,) ;
digitalWrite (13, sortie) ;

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

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()
{
pour (int i = 0; i < = 2; i ++) {}
walkfwd() ;
}
pour (int j = 0; j < = 2; j ++) {}
walkbwd() ;
}
pour (int k = 0; k < = 2; k ++) {}
turnleft() ;
}
pour (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) ;
};

Articles Liés

Arduino Nano avec capteur DHT & OLED

Arduino Nano avec capteur DHT & OLED

Dans ce tutoriel, je vais décrire comment utiliser un capteur DHT sur un affichage Arduino Nano et OLED.Étape 1: IntroSalutMon nom est Nick Hendriks et j'habite aux Pays-Bas. Je n'ai aucune expérience avec Arduino ou les composants utilisés, mais ave
Arduino Nano : Affichage analogique OLED I2C Simple SSD1306 avec Visuino

Arduino Nano : Affichage analogique OLED I2C Simple SSD1306 avec Visuino

Les écrans OLED sont parmi les plus cool et le plus avancés des modules que vous pouvez utiliser dans votre projet Arduino. Ils viennent à petit facteur de forme et ont de très faible consommation d'énergie tout en offrant des couleurs vives. Certain
Arduino Nano : Branchement interrupteur Photo (à fente optocoupleur) avec Visuino

Arduino Nano : Branchement interrupteur Photo (à fente optocoupleur) avec Visuino

Optocoupleurs fendues (Photo interrupteurs) sont des capteurs très utiles, souvent inclus dans les projets d'Arduino pour détecter la position des objets en mouvement, de mesurer la vitesse de rotation ou mouvement linéaire, fréquence des événements
Arduino Nano avec DHT11, RTC DS1307 et LCD 16 x 2

Arduino Nano avec DHT11, RTC DS1307 et LCD 16 x 2

Salut. Il s'agit de mon premier Instructable, alors j'espère que ce sera OK.C'est mon projet Arduino Nano avec écran LCD avec I2C, RTC DS1307 et capteur DHT11.Pour ce projet, j'ai utilisé Arduino Nano, RTC DS1307 horloge board, Conseil de capteur DHT
Arduino Nano avec WIZ550io = Internet facile

Arduino Nano avec WIZ550io = Internet facile

J'aime l'Arduino Nano - c'est une jolie version compacte et entièrement fonctionnelles de l'Arduino Uno. Cependant, quand je suis allé pour le connecter à l'internet toutes cette exiguïté propre et bien rangée disparu sous le grand taille plein boucl
Arduino Nano : Infrarouge Obstacle Avoidance capteur avec Visuino

Arduino Nano : Infrarouge Obstacle Avoidance capteur avec Visuino

Capteurs infrarouges évitement d'obstacles sont bon marché, petits capteurs souvent utilisées dans des robots et projet Arduino pour détecter des objets à proximité du capteur.Les capteurs infrarouges fonctionnent en envoyant une lumière infrarouge a
Faible encombrement Arduino Nano avec circuit (Li Ion ou LIPO) qui peut éteindre lui-même (loquet souple) de chargement USB

Faible encombrement Arduino Nano avec circuit (Li Ion ou LIPO) qui peut éteindre lui-même (loquet souple) de chargement USB

Quand j'ai commencé mon premier projet Arduino, j'ai réalisé que je devais utiliser un Arduino de petit format, afin que je pourrais placer mon appareil. Étant nouveau Arduino, je ne savais pas tous les défis que j'aurais avec gestion de la batterie
Clignotant LED avec Arduino Nano

Clignotant LED avec Arduino Nano

Bonjour les amis,Voyant un témoin clignotant est tellement amusant, mais lorsque vous effectuez un comme qui par vous-même puis le plaisir est d'autant plus. ^_^Alors, que la fête commence,Dans ce instructable, j'ai montré comment clignoter une diode
Arduino Nano avec bouclier Ethernet

Arduino Nano avec bouclier Ethernet

J'ai récemment acheté un bouclier Arduino Ethernet destiné à l'Arduino Uno et pensé que je pouvais tout bien brancher à mon Arduino Nano existants. J'ai eu tort !Je ne pouvais pas trouver beaucoup d'informations sur comment faire cela, sauf que certa
Arduino Nano et Visuino : moteur pas à pas avec des boutons de contrôle

Arduino Nano et Visuino : moteur pas à pas avec des boutons de contrôle

Moteurs pas à pas sont souvent utilisés dans les projets de l'Arduino, chaque fois que quelque chose doit être déplacé ou transformé. Dans ce Instructable, je vais vous montrer comment il est facile à connecter le moteur pas à pas à l'Arduino Nano et
Ventilateur de salle de bain automatique avec Arduino Nano

Ventilateur de salle de bain automatique avec Arduino Nano

Vous connaissez ce sentiment gênant quand tu dois sortir de votre lit pour éteindre le ventilateur de salle de bain ? Celui qui vous devez allumer car sinon tout devient humide et éventuellement moisi à votre place ? Eh bien, vous pouvez oublier que
Arduino Nano : Matrice clavier avec Visuino

Arduino Nano : Matrice clavier avec Visuino

Matrice de claviers sont parmi les moyens les plus simples et les plus populaires de conclure informations clavier micro-contrôleurs de type Arduino.Dans ce Instructable je vais vous montrer comment il est facile pour connecter Clavier matrice Arduin
Arduino Nano : Analogique 7 Segment MAX7219 affichage avec Visuino

Arduino Nano : Analogique 7 Segment MAX7219 affichage avec Visuino

Affichage à 7 segments sont un choix très populaire pour l'affichage des données. Toutefois, ils se composent d'un grand nombre de LEDs et contrôler chaque LED avec une épingle numérique de l'Arduino n'est pas une solution pratique. Maxim Integrated
Arduino Nano: À l’aide de la résistance de pull-up avec Visuino

Arduino Nano: À l’aide de la résistance de pull-up avec Visuino

Une des caractéristiques plus sous-utilisés d'Arduino sont les Résistances de pull-up des broches numériques. Nous savons tous qu'ils sont là, et pourtant nous continuons oublier que nous pouvons les utiliser et continuer à ajouter des résistances ex