Animatronic Talking arbre de Noël - partie 1 (11 / 15 étapes)

Etape 11 : Programmer l’Arduino

Maintenant que vous comprenez comment je suis opérant les servos, nous allons écrire un code plus utile pour elle.

Nous allons commencer par définir un tas de fonctions en utilisant les valeurs que nous avons enregistré dans la dernière étape qui vont animer l’arbre et aussi ajouter la capacité de communication série et programmer certaines actions pour aller avec les données reçues du port série.

Ouvrir une nouvelle esquisse dans l’environnement Arduino et entrez la commande suivante. (n’oubliez pas que vous aurez besoin d’utiliser vos propres valeurs pour les postes de servo)

int ledPin = 13 ;    assigner la broche 13 comme la broche si les voyants sont allumés
int mouthPin = 8 ;    Il s’agit de l’axe où la bouche est connectée
int eyesPin = 9 ;    les yeux sont sur broche 9

pour la communication série
message d’int = 0 ;

void setup() {}
Serial.Begin(9600) ;   démarrer le port série avec une vitesse de transmission 9600
définir les sorties
pinMode(ledPin,OUTPUT) ;
pinMode(mouthPin,OUTPUT) ;
pinMode(eyesPin,OUTPUT) ;
fermer les yeux
closeEyes() ;
fermer la bouche
closeMouth() ;
attendre quelques secondes, alors nous pouvons assister à l’ouverture après avoir heurté la réinitialisation
Delay(3000) ;
}

void loop() {}
digitalWrite(ledPin,HIGH) ;
openEyes() ;
Talk(3) ;
if(Serial.available() > 0) {//if le port série envoie des données
lire les octets entrants
message = Serial.read() ;
animer notre robot selon les données que nous recevons en série
Si (message == « 1 ») {}
Talk(1) ;
}
Si (message == « 2 ») {}
Talk(2) ;
}
Si (message == « 3 ») {}
openEyes() ;
}
Si (message == « 4 ») {}
closeEyes() ;
}
Si (message == « 5 ») {}
blinkEyes() ;
}
Si (message == « 6 ») {}
digitalWrite(ledPin,LOW) ;
}
Si (message == « 7 ») {}
digitalWrite(ledPin,HIGH) ;
}
}
}

{} void talk (int fois)
pour (int j = 0; j < fois; j ++) {}
tout d’abord, nous allons ouvrir la bouche
pour (int i = 0; i < 10; i ++) {}
digitalWrite(mouthPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(1100) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(mouthPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
puis le fermer
pour (int i = 0; i < 10; i ++) {}
digitalWrite(mouthPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(500) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(mouthPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
}
}

void closeMouth() {}
pour (int i = 0; i < 10; i ++) {}
digitalWrite(mouthPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(500) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(mouthPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
}

void openEyes() {}
pour (int i = 0; i < 30; i ++) {}
digitalWrite(eyesPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(800) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(eyesPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}

}

void closeEyes() {}
pour (int i = 0; i < 30; i ++) {}
digitalWrite(eyesPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(2500) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(eyesPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
}

void blinkEyes() {}
pour (int i = 0; i < 10; i ++) {}
digitalWrite(eyesPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(2500) ;  délai pour la longueur de l’impulsion définie dans les déclarations
digitalWrite(eyesPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
pour (int i = 0; i < 10; i ++) {}
digitalWrite(eyesPin,HIGH) ;  tourner sur l’axe du servo, c’est à dire envoyer 5V
delayMicroseconds(800) ;  délai pour la longueur de l’impulsion définie dans les déclarations

digitalWrite(eyesPin,LOW) ;  tourne broche servo faire marche arrière à la fin de l’impulsion
Delay(20) ;
}
}

Voici une vidéo de ce qu’il faut faire à ce stade.

Articles Liés

Animatronic Talking Tree - partie 2 - la reconnaissance vocale

Animatronic Talking Tree - partie 2 - la reconnaissance vocale

si vous avez suivi avec mon premier Instructable, arbre de Noël de parler animatronique, je vous ai montré comment prendre un arbre artificiel, ajouter des servos et un Arduino, connectez-le à une esquisse de traitement en cours d'exécution sur votre
Animatronic chant bécher-bot

Animatronic chant bécher-bot

Bonjour Instructables lecteurs ! Je voudrais vous rencontrer mon copain bécher-bot. Comme vous le savez probablement déjà, bécher est l'Assistant de laboratoire Muppet Labs et malheureuse victime de nombreux accidents de laboratoire. Eh bien, j'ai dé
Arbre de la famille des Inverted brodé : racines familiales

Arbre de la famille des Inverted brodé : racines familiales

C'était l'anniversaire d'un ami la famille récemment et j'ai voulu se ramifier de mon cadeau habituel, qui est une bouteille de vin et faire quelque chose pour elle. Elle s'intéresse particulièrement à son histoire familiale, alors j'ai décidé de fai
Vinyl Record vacances arbre

Vinyl Record vacances arbre

Pour tous vous vacances musique amoureux * là-bas, ici un non traditionnel arbre de Noël pour vous aider à obtenir votre groove de wonderland hiver sans vrais arbres sur.Il s'agit d'un mur monté « arbre » de vacances vintage LP ' s et un tourne-disqu
Vieil arbre géocache

Vieil arbre géocache

Êtes-vous familier avec geocaching ? Si ce n'est pas le cas, vérifier sur Geocaching.com !J'ai décidé de commencer à faire plus pour cacher que notre région est un peu mince dans les caches de disponibles. Trouvé une zone avec un vieil arbre, qui ava
Comment faire pour couper un arbre

Comment faire pour couper un arbre

AVERTISSEMENT ! Téléchargez tout d'abord vraiment ivre. Puis il ne blessera pas tellement quand vous tronçonneuse au large et l'écraser votre famille à votre visage.Première étape : trouver un arbre à abattre. Pas de problème. Dès que vous savez comm
Décoration d’arbre de Noël en papier

Décoration d’arbre de Noël en papier

dans ce instructable je va vous enseigner comment faire des décorations d'arbre de Noël à partir de zéro.Matériaux requisUtilisé du papier blanc et des couleurColleCiseauxÉtape 1: Préparer les matériaux Prendre les papiers et les couper en lanières p
Cultiver votre propre Mini arbre Sculpture

Cultiver votre propre Mini arbre Sculpture

ce n'est aucun un secret que les arbres sont essentiels au bien-être de notre environnement, offrant des avantages trop longs d'énumérer. Mais un fait moins connu est qu'ils peuvent être transformés en incroyables oeuvres d'art vivant. Alors que les
Éliminer les Extra Extension corde d’arbre de Noël Topper

Éliminer les Extra Extension corde d’arbre de Noël Topper

ma solution est simple et facile. Ce INSTRUCTABLE vous permet de brancher votre TOPPER illuminé de la STAR dans la guirlande lumineuse de sapin de Noël, tout comme une ampoule.Vous avez à exécuter un accord d'extension séparée de votre arbre de Noël
Arbre en carton 3D

Arbre en carton 3D

N'oubliez pas les découpes 3D, que nous avons fait comme les enfants ? Je pense que nous avons tous fait des arbres 3D et d'autres formes pour le plaisir avec du papier le chemin du retour quand. Découpages de papier carton est un excellent moyen de
Arbre de Noël en carton boîte-gabarit

Arbre de Noël en carton boîte-gabarit

nous avons décidé de ne mettre en place un véritable arbre de Noël cette année, mais nous voulions encore quelque chose pour décorer en famille.  Alors, j'ai fait un simple arbre de Noël dans une boîte en carton.  Vraiment facile, seulement requis un
Arbre avec des ornements

Arbre avec des ornements

J'ai fait cet ornement de sapin de Noël 3d. Les autres ornements sur l'arbre sont extrudées à partir de la surface afin qu'il y a quelques détails intéressées sur la conception,
Arbre de lumière de nuit LED/Log !

Arbre de lumière de nuit LED/Log !

Ce projet fut un cadeau que j'ai fait comme un LED nuit arbre de lumière (à partir d'un journal et de la direction générale) qui tiendrait également des bijoux sur elle !C'est une version simple avec les matériaux seule vraies étant les bandes de lum
Tact : Low-cost, main prothétique de pointe

Tact : Low-cost, main prothétique de pointe

Dans ce instructable je vais vous montrer comment faire Tact, une main prothétique peu coûteux et open source. Tact dépasse les autres modèles open source main prothétique de plusieurs façons : il en coûte seulement 100 $ pour tous les composants (25