Arduino contrôlée animatronique tête en bois (lampe de lecture) (13 / 27 étapes)


Dans l’esquisse, il y a code d’initialisation pour inclure la bibliothèque servo, déclarer des variables, définir les broches sont en utilisation etc. et les fonctions qui sont appelées dans les servoCheck() pour exécuter le code qui repositionne les servos.

La ligne #include suivante est le biggy.  Il apporte dans le code de servo intelligent :

#include / / inclut arduino standard servo classe (la bibliothèque)

La ligne suivante consiste à définir un retard (5 millisecondes) donc le servo n’est pas trop souvent être réajusté. Sans retard, les servos sont étant réajustés en permanence, et cela peut conduire à l’épuisement. Si le délai est trop long, si, les servos devient saccadée et lent à réagir.

int delay_val = 5 ;  assigne le décalage d’incrément de servo (délai entre l’application de valeurs) pour les deux servos

La servocommande est basé sur des signaux d’entrée analogique sous forme de tensions d’entrée variables, dont l’Arduino convertit les valeurs numériques (en d’autres termes les numéros!) et puis le code ci-dessous est utilisé pour manipuler ces nombres et de créer des sorties numériques pour repositionner les servos si les apports sont variables. Le code dans la bibliothèque de servo.h réalise toutes les tâches rébarbatives. Le code que vous devez écrire vraiment envoie les valeurs de données très simple aux fonctions de la bibliothèque pour tous y arriver.

Les tensions d’entrée ont été créées à l’aide de simples résistances variables (potentiomètre), un pour chaque servo. Potentiomètres (pots) sont faciles à recycler de vieux kit électrique, tels que de vieilles radios.  La valeur de la résistance n’est pas particulièrement importante. En général, ils sont 0-10 k Ohms. Pour chaque pot, deux offre pôles sont reliés à la masse (Terre) et 5V respectivement et le signal de sortie est connectée à une broche analogique de l’Arduino.

Le schéma de circuit Voir l’étape 10. C’est très simple.

Ce bit déclare la première servo...

SERVO 1
Servo myservo ;  Créez l’objet servo pour contrôler un servo
const int potPin1 = 0 ;  déclare quelle broche analogique est utilisé pour connecter la sortie analogique de tension variable de potentiomètre 1 (servo de contrôles 1)
int valPot1 ;    variable pour lire la valeur de la broche analogique pour servo 1

FIN SERVO 1

Ce bit déclare le second servo...

SERVO 2
Servo myservo2 ; créer le second objet de servo pour contrôler un second servo
const int potPin2 = 1 ;  déclare quelle broche analogique est utilisé pour connecter la sortie analogique de tension variable de potentiomètre 2 (servo 2 de contrôles)
int valPot2 ;    variable pour lire la valeur de la broche analogique pour servo 2
SERVO DE FIN 2

SERVOS

void setup() {}

Une fois que les servos (myservo, myservo2) ont été déclarés, les connexions de goupille de Arduino sont définies :

fixer les servos
myservo.Attach(5) ;  attache le servo sur la broche 5 à l’objet de servo
myservo2.Attach(9) ; servo deuxième s’attache à la broche 9 au deuxième objet de servo
}

Une fois que les servos ont été définis, le « servoCheck() » fonction a été défini. Cela s’appelle en fonction standard de l’Arduino 'Boucle ()' pour vérifier pour les entrées et convertir ces sorties qui contrôlent les servos et traduire ce globe oculaire mouvement à plusieurs reprises.

void servoCheck() {}
servocommandes

Servo 1---
valPot1 = analogRead(potPin1) ;            lit la valeur du potentiomètre (valeur comprise entre 0 et 1023)

La variable valPot1 prend le signal d’entrée de l’un de le potentiomaters.

La commande analogRead() est utilisée pour cela. Il raconte l’Arduino pour convertir la tension d’entrée analogique crue (dans la plage 0 à 5 volts) en une valeur numérique comprise entre 0 et 1023.

Le code de servo doit d’entrée des valeurs entre 0 et 179. Il utilise ces valeurs pour définir sa position. une entrée de 0 postes l’axe du servo à-90 degrés et 179 il fixera à 90 degrés.

Les plages numériques (0 - 1023 et 0-179) doivent être mises à l’échelle. Cela se fait à l’aide de la fonction de () carte Arduino. Cela prend les valeurs numériques (0 à 1023) livrés par la fonction analogRead() et eux peut évoluer vers un nombre compris entre 0 une 179.

valPot1 = carte (valPot1, 50, 1000, 0, 179) ;     redimensionnez-la pour l’utiliser avec le servo (valeur comprise entre 0 et 180)
myservo.Write(valPot1) ;                  définit la position du servo selon la valeur à l’échelle
Delay(delay_val) ;

---fin de servo 1

C’est la même chose pour le second servo

// servo 2 ------------------------

valPot2 = analogRead(potPin2) ;            lit la valeur du potentiomètre (valeur comprise entre 0 et 1023)

digitalWrite (ledPinJoystick, HIGH) ;
valPot2 = carte (valPot2, 50, 1000, 179, 0) ;     redimensionnez-la pour l’utiliser avec le servo (valeur comprise entre 0 et 180)
myservo2.Write(valPot2) ;               définit la position du servo selon la valeur à l’échelle
Delay(delay_val) ;
---fin de servo 2
fin des servocommandes * /
}

Et c’est tout, que c’est

Articles Liés

Arduino contrôlées Animatronic squelette Rock Band - en cours

Arduino contrôlées Animatronic squelette Rock Band - en cours

Pour l'Halloween cette année, j'ai décidé de construire un animatronic squelette Rock. C'est un travail en cours à ce stade, mais je suis assez content de comment il est à venir le long. Presque tout est fait de matériaux que j'avais sur la main (je
Arduino contrôlée hélicoptère

Arduino contrôlée hélicoptère

Cette instructable a été créée dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com). L'objectif de ce cours était pour nous enseigner la créativité, l'ingéniosité et l'application prati
Laser Galvo - Arduino contrôlée

Laser Galvo - Arduino contrôlée

Arduino contrôlée laser galvo. La servocommande de miroirs diriger le laser UV laissant une traînée phosphorescente sur la feuille de vinyle glow-in-the-dark.Posté sur notes.robives.comÉtape 1 :À partir d'une feuille de vinyle lumineux d'eBay et poin
Couvre-feu pour animaux de compagnie : Un Arduino contrôlée chatière

Couvre-feu pour animaux de compagnie : Un Arduino contrôlée chatière

Le problème: vous voulez restreindre le temps lorsque votre animal de compagnie est autorisé à aller à l'extérieur. C'est peut-être parce que le quartier n'est pas sans danger pour votre chat ou votre petit chien pendant la nuit (maraude coyotes vien
Arduino contrôlée de fenêtre pour chat

Arduino contrôlée de fenêtre pour chat

je soumets cette instructable le défi de l'Arduino. N'oubliez pas de voter !Mon voisin a eu un petit problème avec son chat. Il veulent de sortir et de revenir trop souvent à l'intérieur. Habituellement, il ouvre juste la fenêtre de sa cuisine et nou
Autocollant de fenêtre numérique (Arduino contrôlée)

Autocollant de fenêtre numérique (Arduino contrôlée)

un autocollant de taille matrice de LED qui affiche des images en séquence à partir d'une carte SD, pour produire une animation signe ou « vitrophanie ». Arduino contrôlée ! Inclut également le code de Windows, Mac et Linux pour la conversion des fic
GOduino II = Arduino + contrôleur de moteur à Vitesse Variable L293D

GOduino II = Arduino + contrôleur de moteur à Vitesse Variable L293D

mises à jourGOduino II a été présenté sur dangerousprototypes.com07/04/2012, j'ai ajouté une diapositive de budget pour les lecteurs qui sont demandent où j'ai obtenu mon budget < 20 $ pour le GOduino II.INTRODUCTIONLe GOduino II est un contrôleur pr
Arduino contrôlée CNC / 3D imprimante hybride

Arduino contrôlée CNC / 3D imprimante hybride

Dame Nature fait... Nous construisons des.BuildersBot fusibles impression 3D & fraisage CNC dans rêve d'un générateur "3dprintingindustry.com"Le BuilderBot est une machine de conception ouverte, qui utilise OpenLogiciels et matériels ouvert.
Capteur infrarouge guidée Arduino contrôlée L293D Robot (partie 2)

Capteur infrarouge guidée Arduino contrôlée L293D Robot (partie 2)

Voici la partie 2 de l'Arduino contrôlée Robot L293D.Partie 2 comprend Sensors.This infrarouge fait partie d'une série d'instructables conduisant à un adepte de la ligne Robot.QRD1114 capteur infrarouge reliée à ArduinoÉtape 1: Câblage du capteur inf
Arduino contrôlée variateur de lumière

Arduino contrôlée variateur de lumière

Avertissement : Certaines personnes essaient de construire ce avec un opto-coupleur avec zerocrossing coz droit « c'est mieux » ? Certains sont même dit, dans les magasins d'électronique, il est préférable d'utiliser tel un opto-coupleur. MAL. Ceci f
Arduino contrôlée Servo Robot (Serbes)

Arduino contrôlée Servo Robot (Serbes)

quoi de mieux pour commencer à expérimenter avec open source microcontrôleurs ( Arduino ), puis en construisant votre propre robot source ( CC (SA-de)) ?Que faire avec votre serbe ?(Voici) - comment connecter votre serbe à l'internet et le lecteur su
Arduino contrôlée minuterie de cuisine

Arduino contrôlée minuterie de cuisine

Chacun d'entre vous doit ont vécu ce que vous avez quelque chose à cuire sur votre gazinière tandis que de l'autre côté vous get occupé à regarder la télévision ou obtenir une conversation profonde que vous réalisez sur la détection d'une odeur qu'il
Arduino contrôlée ATX Power Supply

Arduino contrôlée ATX Power Supply

pouvez un microcontrôleur contrôler sa propre puissance ?  Eh bien presque !Une ATX alimentation, neuf ou d'un vieux PC, est un excellent moyen pour alimenter l'Arduino et autres projets de microcontrôleur.  Qui est couvert dans plusieurs ' ibles tel
Arduino contrôlée Car Tracking System basé sur SMS

Arduino contrôlée Car Tracking System basé sur SMS

Hi, j'ai fait un Arduino contrôlée voiture Tracking System basé sur SMS pour la voiture de mon père.Les modules utilisés sont ;Arduino nano V3.0Module GPS SkyLabModule GSM WaveComLa bibliothèque de SoftwareSerial, les TinyGPS sont utilisés pour commu