Bonjour,
Ca fait quelques temps que je fabrique des petits machins avec mon arduino UNO.
Je suis développeur informatique et l'électronique c est juste un hobby.
Mais là je cale. Si quelqu'un, Une âme charitable, pouvait m'expliquer pourquoi cela ne fonctionne pas.
Je vais détailler donc ça risque d'être un bon pavé de lecture, désolé.
Le projet : Un robot/engin chenillé pour mon fils (bon et pour moi aussi )
Fontionnalités :
- 2 moteurs DC (piloter par un L293D, pas un shield mais juste le composant) pour faire se mouvoir cet engin.
- 1 interception IR pour le piloter avec la télécommande de la TV (AVANCE,RECULE,STOP, GAUCHE, DROITE, ACCELERE, RALENTIR, MODEAUTONOME )
- 1 servo Moteur + HC_SR04 pour le mode autonome et donc éviter les obstacles
- 1 HP pour fair bipbip comme R2D2
- Alimentation par une batterie 7.2V 1100mAH . Ce n'est pas arduino qui fournit les 5V pour le circuit je met un L7805 pour la partie 5V et les moteurs seront alimenter par la batterie.
- Faire ma propre carte avec tout ca dessus (un Standalone) lorsque cela fonctionnera sur la breadboard.
Et me voilà partie pour fabriquer ce truc sur une UNO. Je compte le Broches
- 6 pour le L293D dont 2 PWM :
- Moteur 1 :
- E1 = 9 /
- M1_1 = 8 /
- M1_2 = 7
- respectivement sur 1, 2 et 7 du L293D
- Moteur 2 :
- E2 = 6 /
- M2_1= 5 /
- M21_1= 4
- respectivement sur 9, 10 et 15 du L293D
- Moteur 1 :
- 1 pour le IR_RECEIVER
- IR_RECEIVE_PIN= 12
- 1 pour le HP
- TONE_PIN = 11
- EYE_PIN = 13 ( bon ca c'est juste pour faire clignoter la led de l'arduino.... je garde les basic pour les contrôles )
- 3 pour la détection via Ultra SON
- 1 pour le servo moteur SERVO_PIN = 3
- 2 pour le HC-SR04 ..... ECHO _PIN = 10 et TRIGGER_PIN = 2
Total 11 + le RX / TX . ok ca rentre..... c est juste mais ca doit rentrer...... J'utilise meme pas les analogique. les PWM y en a assez
ETAPE 0 : faire un schéma.
Ouverture de KICAD nouveau projet ( je vous passe le résultat du schéma en image )
ETAPE 1 : Faire tourner les DC pour le déplacement.
Je code juste cette fonction avec les petites méthodes qui sont pour le moment appeler par port Serie
C est partie pour les tests : impec mes petits moteurs tournent en passant mes commandes via Serial.
ETAPE 2: l'IR
Je code d'abord juste pour intercept les codes de la télécommande. Impec
Je rajoute ca à mon code de pilotage du L293D impec...
Voilà mes petits moteurs pilotés par la télécommande de la Télé.
ETAPE 3: The voice.
Après quelques petite recherche je trouve de quoi faire avec la fonction tone des petit buit à la R2D2.
Je le rajoute à mon projet
Et la ca commence.... faut que le temps que j'utilise la fonction tone je coupe et arrete l'interception IR.... ?!??
Ok un problème de timer PWM. je comprends pas trop. Mais ok, je contourne sans trop comprendre.
QUESTION 1 : Je veux bien une explication sur ce sujet de conflit entre IR et la fonction tone de timer etc.....
Bon il bouge je le pilote, il parle.... le mode autonome.....
ETAPE 4: Faire bouger le servo moteur
Alors c 'est partie. un petit bout de code pour bien me remettre dans le bain des servoMoteurs. et hop je rajoute le "cou" à mon projet.....
et hop PAF ! ca marche plus. j'ai un moteur qui tourne pas du L293D.
Les instructions de sens partent bien vers le L293D mais impossible d'avoir le MOTEUR 2 qui tourne. pas d'énergie. rien sur ma patte PWM.
Si j'enleve l'utilisation du servo moteur (le servo.attach) dans mon code ca repart.
QUESTION 2 : Pourquoi ?
Avez vous besoin du code ? et Oui j ai déjà cherché sur internet avant de me taper un pavé pareil sur un forum.
Merci à ceux qui auront pris le temps de me lire.
Un grand MERCI PAR AVANCE à ceux qui me répondront.