Arduino animatronics-Vérifiez vos costumes génial plus impressionnants ! (9 / 15 étapes)

Étape 9: Contrôle de servos


Exemple 5 - commander un servo avec entrée analogique

Ces deux exemples montrent combien il est facile de contrôler des servos à l’aide d’une entrée analogique. Vous pouvez utiliser n’importe quel périphérique d’entrée analogique vous voulez-j’utiliserai potentiomètre 10 k ohms pour l’exemple de diagramme de câblage. Lorsque vous mettez le pot (et changez sa valeur) le servo se déplace proportionnellement.

Le deuxième exemple de code étend simplement le premier exemple pour contrôler des six servos de six entrées. Ce type de contrôle est vraiment très pratique si vous souhaitez commander plusieurs servos à l’aide de capteurs coude attachés à un gant. Cela fonctionnerait très bien pour contrôler un masque animatronique.

/*
* Exemple 5
* Servo Control
* Cet exemple utilise un servos et l’entrée pour déplacer le servo selon la valeur d’entrée de capteur analogique
* Honus 2010
*/

#include « Servo.h » / / inclure la bibliothèque de servo

Servo servo1 ;       crée une instance de l’objet de servo pour contrôler un servo

int analogPin = 0 ;      la broche analogique que le capteur est sur
int analogValue = 0 ;    la valeur retournée par le capteur analogique

int servoPin = 4 ;       Broche de commande de moteur servo
void setup() {}
SERVO1.Attach(servoPin) ;  attache le servo sur la broche 9 à l’objet de servo
}

void loop()
{
analogValue = analogRead(analogPin) ;                 lire l’entrée analogique (valeur comprise entre 0 et 1023)
analogValue = carte (analogValue, 0, 1023, 0, 179) ;     carte de la valeur analogique (0 - 1023) à l’angle du servo (0 - 179)
SERVO1.Write(analogValue) ;                       écrire la nouvelle valeur analogique mappée pour définir la position du servo
Delay(15) ;                                           attend que le servo pour y arriver
}

Exemple 5 a - contrôle 6 servos à l’aide de multiples entrées

/*
* Exemple 5 a
* Servo Control6
* Cet exemple utilise 6 servos et entrées analogiques pour déplacer les servos selon les valeurs d’entrée du capteur
* Honus 2010
*/

#include / / inclure la bibliothèque de servo

Servo servoMotor1 ;       crée une instance de l’objet de servo pour contrôler un servo
Servo servoMotor2 ;
Servo servoMotor3 ;
Servo servoMotor4 ;
Servo servoMotor5 ;
Servo servoMotor6 ;

int analogPin1 = 0 ;      la broche analogique que le capteur est sur
int analogPin2 = 1 ;
int analogPin3 = 2 ;
int analogPin4 = 3 ;
int analogPin5 = 4 ;
int analogPin6 = 5 ;

int analogValue1 = 0 ;    la valeur retournée par le capteur analogique
int analogValue2 = 0 ;
int analogValue3 = 0 ;
int analogValue4 = 0 ;
int analogValue5 = 0 ;
int analogValue6 = 0 ;

int servoPin1 = 4 ;       Broche de commande de moteur servo
int servoPin2 = 5 ;
int servoPin3 = 6 ;
int servoPin4 = 7 ;
int servoPin5 = 8 ;
int servoPin6 = 9 ;

void setup() {}
servoMotor1.attach(servoPin1) ;  s’adapte sur le servo sur broche 4 l’objet de servo
servoMotor2.attach(servoPin2) ;  attache le servo sur la broche 5 à l’objet de servo
servoMotor3.attach(servoPin3) ;  attache le servo sur la broche 6 à l’objet de servo
servoMotor4.attach(servoPin4) ;  s’adapte sur le servo sur la broche 7 l’objet servo
servoMotor5.attach(servoPin5) ;  s’adapte sur le servo sur la broche 8 l’objet de servo
servoMotor6.attach(servoPin6) ;  attache le servo sur la broche 9 à l’objet de servo
}

void loop()
{
analogValue1 = analogRead(analogPin1) ;                 lire l’entrée analogique (valeur comprise entre 0 et 1023)
analogValue1 = carte (analogValue1, 0, 1023, 0, 179) ;     carte de la valeur analogique (0 - 1023) à l’angle du servo (0 - 179)
servoMotor1.write(analogValue1) ;                       écrire la nouvelle valeur analogique mappée pour définir la position du servo

analogValue2 = analogRead(analogPin2) ;
analogValue2 = carte (analogValue2, 0, 1023, 0, 179) ;
servoMotor2.write(analogValue2) ;

analogValue3 = analogRead(analogPin3) ;
analogValue3 = carte (analogValue3, 0, 1023, 0, 179) ;
servoMotor3.write(analogValue3) ;

analogValue4 = analogRead(analogPin4) ;
analogValue4 = carte (analogValue4, 0, 1023, 0, 179) ;
servoMotor4.write(analogValue4) ;

analogValue5 = analogRead(analogPin5) ;
analogValue5 = carte (analogValue5, 0, 1023, 0, 179) ;
servoMotor5.write(analogValue5) ;

analogValue6 = analogRead(analogPin6) ;
analogValue6 = carte (analogValue6, 0, 1023, 0, 179) ;
servoMotor6.write(analogValue6) ;

Delay(15) ;                                             attend que le servo pour y arriver
}

Articles Liés

Danse de Dave dans un un Arduino basée mouvement sensible costume clair

Danse de Dave dans un un Arduino basée mouvement sensible costume clair

Un Arduino basé mouvement sensible costume clairIl peut également afficher les patrons et autres même si c'est juste la détection de mouvement dans la vid. Il utilise un accéléromètre ADXL335 pour détecter le mouvement des porteurs. Mon ami Dave aima
Vérifiez vos vieilles chaussures brillent à nouveau

Vérifiez vos vieilles chaussures brillent à nouveau

Rendre vos vieilles chaussures nouveau avec quelques paillettes scintillantes !Étape 1: Matériaux de Gather Matériel nécessaire :Vieilles espadrillesCouvercle en plastique ou la paletteColleRuban adhésif de peintreRubanCiseauxPinceau épongePaillettes
Vérifiez vos fléchettes longshot aller plus loin

Vérifiez vos fléchettes longshot aller plus loin

dans ce instructable (mon premier seul) je vais vous montrer comment faire votre Nerf streamline fléchettes aller plus loin par environ 3 à 5 pieds (non mesurés)... au moins ils l'ont fait sur mon longshot. Vos longshot tire 3 pieds en face de vous,
Costume de double-FACE impressionniste !

Costume de double-FACE impressionniste !

Ayant eu un certain succès quelques années en arrière avec mon Costume de Joker impressionniste, pour 2013, j'ai décidé de prendre une fissure à un autre méchant de Batman, Double-Face.  Une de mes raisons pour prendre cette route est que j'ai lassés
Comment rendre votre site génial encore plus impressionnant en le rendant accessible

Comment rendre votre site génial encore plus impressionnant en le rendant accessible

partie 0: IntroductionChaque fois que possible, essayez de concevoir un site Web pour être utilisable par autant de personnes que possible.  Il peut s'agir de personnes qui ne peuvent voir, entendre ou déplacent leur souris bien, ou même du tout.  Vo
Jazzez vos câbles (et plus) avec des bandes de Loom Rainbow

Jazzez vos câbles (et plus) avec des bandes de Loom Rainbow

dans ce instructable nous allons décorer câbles et autres choses, créant une bande standard « queue de poisson » métier à tisser autour d'eux.Un jour férié la caravane des pluies la semaine dernière ma fille de sept ans m'a montré comment faire des b
Capteur de température de l’Arduino entoilage (LM35). LA façon la plus simple

Capteur de température de l’Arduino entoilage (LM35). LA façon la plus simple

Un capteur de température simple à l'aide d'une sonde de température LM35 précision et Arduino. Le circuit enverra série d'informations sur la température que vous pouvez utiliser sur votre ordinateur.Étape 1: matériauxVous aurez besoin :Arduino Uno
Puissance suivi utilisant Arduino et ouvrez une session dans la feuille de Google

Puissance suivi utilisant Arduino et ouvrez une session dans la feuille de Google

Depuis ces dernières semaines, je pensais à faire un projet qui peut m'aider à garder une piste sur mon usages d'énergie quotidienne. Dans ce projet, j'utilise un Conseil de surveillance actuel 30 a. ce Conseil a 6 capteur de courant qui peut lire le
Lumière d’intensité de calcul à l’aide de BH1715 et Arduino Nano

Lumière d’intensité de calcul à l’aide de BH1715 et Arduino Nano

Hier que nous avons travaillé sur l'écran LCD affiche et tout en travaillant sur eux, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse est importante non seulement dans le domaine physique de ce monde, mais il
Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

H3LIS331DL, un accéléromètre linéaire de 3 axes de haute performance de faible puissance est appartenant à la famille de « nano », avec interface numérique I²C. H3LIS331DL a échelles complet sélectionnables de l'utilisateur de ±100g/±200g/±400g et il
Température et humidité suivi à l’aide de SHT25 et Arduino Nano

Température et humidité suivi à l’aide de SHT25 et Arduino Nano

Nous avons récemment travaillé sur divers projets nécessitant la surveillance de l'humidité et température, et puis nous avons réalisé que ces deux paramètres jouent effectivement un rôle essentiel d'avoir une estimation de l'efficacité de fonctionne
Android / Arduino - contrôle d’accès BLUETOOTH porte serrure électrique Strike Lock

Android / Arduino - contrôle d’accès BLUETOOTH porte serrure électrique Strike Lock

Bonjour tout le monde! Aujourd'hui, j'ai fait un soft pour verrouiller et déverrouiller une serrure électrique à l'aide d'un relais, protégé par un mot de passe. L'app est disponible open source ! Il suffit de me contacter ! Contact suivez l'étape su
Thermomètre à matrice de LED

Thermomètre à matrice de LED

Quelques mises à jour ! Le code a été modifié après la virgule est donc dans l'emplacement correct. J'ai aussi ajouté une étape, que j'ai oublié dans la section soddering.Projet en bref :En utilisant une matrice de LED conseil comme un capteur de tem
Self Balancing Scooter Ver 2.0

Self Balancing Scooter Ver 2.0

01/11/2013******************************************************************************************************************Malheureusement la portion de frites IDG500/ADXL335 sur l'accelometer est hors d'usage.Alors ils seront n'est plus la fabricat