Depuis quelques temps, j'ai comme projet de créer un Animatronic à l'aide d'une puce Arduino.
J'ai acheté un modèle : Arduino Diecimila avec un petit bloc de branchements, un servo moteur Futuba S3003
Mais depuis il reste sans vie dans mon tiroir. J'ai cherché et chercher pendant longtemps pour trouver des guides afin de m'aider à créer mon projet mais sans succès, c'est encore « nouveau » comme technologie et peu de documents, tutoriels sont sur le web et dans les livres. Il est a noté que je n'ai pas de formation en électronique, que c'est mon premier projet. J'ai un ami qui est électriciens donc je peux avoir avec lui les informations de bases comme certains branchements.
Je cherche donc à faire quelque chose d'assez simple. Avec plusieurs servos donc et peut-être une piste audio synchronisée par-dessus.
Donc ce serais par exemple :
Servo moteur A banché sur la pic 1=> 20° en 1 sec gauche, 15° en 2 sec droit, 150° en 2 sec gauche.
Servo moteur B branché sur la pic 2=> 15° en 2 sec droit, 20° en 1 sec gauche, 150° en 2 sec droit.
Donc si j'ai biens compris dans mes recherches, le fichier à mettre sur la puce est du même type que ce que je viens d'écrire mais en langage spécialisé (avec des millièmes de secondes etc), et c'est là mon problème principal, je ne trouve malheureusement pas de guide qui m'explique à faire cela.
J'espère que vous pourrez m'aidez a enfin créer ce projet qui ferais enfin sortir mon cher Arduino du fond de mon tiroir.
Ok merci, je vais essayer dès que possible. (et oui période de seconde sess ^^ Je compile toutes les informations pour pouvoir tester dès que j'ai fini avec les examens).
Effectivement ça fait un bail, mais ça a été nécessaire afin de me rendre compte de la difficulté du projet précédent. Maintenant, je teste quelque chose de plus abordable pour mon niveau et après on verra.
Je viens de retélécharger le logiciel mais sur ton tutoriel, tu parles d'Arduino011. Or quand je le télécharge, il ne veut pas se lancer.
Par contre, la version actuelle (Arduino018) se lance sans problème mais quand je vérifie le code, je retombe sur un message d'erreur alors que le dossier servo est déjà présent d'origine. J'ai la même erreur si j'inverse les dossiers.
21: error: servo.h: No such file or directory In function 'void setup()':
In function 'void loop()':
Bad error line: -3
donc je remet le code à l'identique, je remplis le champs pour trouver le Servo.h mais j'ai une erreur.
Voici le code du site de Luj06 avec mon chemin :
#include <I:\Documents and Settings\Le-x A-e\Mes documents\arduino-0018\libraries\Servo\Servo.h>
#define INCR 1
// on déclare le servomoteur comme une variable typée
Servo servo1;
// l'angle actuel du servomoteur
int angle = 0;
// le sens actuel du servomoteur
int sens = 0;
/**
Initialisation du programme
*/
void setup()
{
servo1.attach(9); // le servomoteur est sur une patte PWM
}
/**
Boucle infinie qui va gérer la rotation et faire alterner le sens de rotation
*/
void loop()
{
// faire tourner le servomoteur
if (sens == 0)
{
angle += INCR;
}
else {
angle -= INCR;
}
// si on est arrivé à une extremité
if (angle == 0)
{
sens = 0;
}
if (angle == 180) {
sens = 1;
}
delay(10);
servo1.write(angle);
}
Je compile ...
Voici l'erreur
o: In function __static_initialization_and_destruction_0': I:\DOCUME~1\LE-~1\LOCALS~1\Temp\build8962438877533882475.tmp/sketch_aug13b.cpp:9: undefined reference to Servo::Servo()'
o: In function loop': I:\DOCUME~1\LE-~1\LOCALS~1\Temp\build8962438877533882475.tmp/sketch_aug13b.cpp:46: undefined reference to Servo::write(int)'
o: In function setup': I:\DOCUME~1\LE-~1\LOCALS~1\Temp\build8962438877533882475.tmp/sketch_aug13b.cpp:21: undefined reference to Servo::attach(int)'
J'ai une bonne nouvelle, j'avais dit que j'avais un problème pour importer sur la carte mais ce problème est régler ! J'avais laisser le choix de la carte par défaut. Donc maintenant, j'ai réussi a utiliser le code pour faire clignoter la Led déjà présente sur la carte, j'ai même "modifier" le code pour qu'elle reste allumée en continu, ...
Mais j'ai toujours le même problème avec le code du servo.
Normalement, il n'y a rien à faire. La librairie servo fait partie de installation par défaut. Et lorsque l'on crée un nouveau sketch et que l'on demande l'importation de la librairie la déclaration est insérée automatiquement au début du code. Comme la librairie servo est dans le répertoire par défaut l'include doit être écrit #include <Servo.h>
Le reste n'est pas tres compliqué si il s agit du "automate" comme je l'ai compris.
La premiere chose a comprende c'est la fonction Loop() qui, comme son nom l'indique, est une boucle dans laquelle on place des instructions qui se répètent infiniment.
Ensuite on peut imaginer faire tourner le servo de X degrés en mettant un délai entre 2 déplacement, recommencer jusqu'à ce que la position P1 soit atteinte puis retourner a une position P2 de la meme facon la boucle fera répéter cette sequence .