Voila j'ai un petit souci avec ( bras ) = Pince en Aluminium , je pense l'alimentation ou mon code.
Voilà à quoi il ressemble
Voici la Description:
La Pince en Aluminium de Dagu (avec servomoteurs) est faite en aluminium de 3 mm d'épaisseur et est livrée avec 2 servomoteurs.. La pince s'ouvre sur plus de 50 mm. Les servomoteurs ont un couple de 2,3 Kg/ cm à 6 V et 1,8 Kg/ cm à 4,8 V. Elle est livrée préassemblée dans un sac en plastique.
Bon le gros servo et more aujourd’hui c'est un défaut de fabrication donc je vais pas tardé a en recevoir un nouveau.
Donc j'utilise que le petit servo qui permet de faire bouger la pince.
Donc j’ai fait un morceau de code pour le contrôler avec ma télécommande.
Le problème c'est que quand j’appuie sur une touche ( ça me le fait de t'en as autre ) la pince se bloque la je ne comprends
pas pour quoi.
voici le code:
//déclare #include <IRremote.h> #include <Servo.h> Servo myservo; // int RECV_PIN = 11; //récepteur infrarouge branché sur la broche 3 à 220ohm résistance int position1; //servo position 1 int position2; //servo position 2 int position3; //servo position 3 int codeValue; //les code de la télécommande int current; //conserver la trace de la position actuelle du servo IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600);// lancer un port série sur le serial monitor irrecv.enableIRIn(); // Démarrer le récepteur position1 = (1); //défaut servo positon 1 position2 = (2); //défaut servo position 2 position3 = (3); //défaut servo position 3 irrecv.enableIRIn(); // Démarrer le récepteur myservo.attach(3); // attache le servo sur la broche 2 myservo.write(position1); //démarrer le servo sur la position 1 current = position3; } void loop() { Serial.println(results.value, DEC); if (irrecv.decode(&results)) { codeValue = results.value; switch (codeValue) { case 16584943: // la touche fléche du bas de ma télécommande myservo.write(position1); current = position3; break; case 16613503:// la touche volume+ de ma télécommande rotation cou par cou par la gauche current += 25; //servo se déplace à quelque degrés if (current > 180) current = 0; myservo.write(current); break; case 16617583:// la touche volume- de ma télécommande rotation cou par cou par la droite current -= 25;//servo se déplace à quelque degrés if (current < 0) current = 180; myservo.write(current); break; case 16605343://touche recule rapide de ma télécommande myservo.write(180); //servo se déplace sur tout le chemin à 180 current = 0; break; case 16589023://touche avance rapide droite de ma télécommande myservo.write(0); current = 180; break; case 16601263: // la touche fléche du haut de ma télécommande int sensorValue = analogRead(1); // analogique 1, a 10k while (sensorValue > 950) { //valeur peut être ajustée, 255 très sensible sensorValue = analogRead(1); //lit la valeur du capteur à nouveau pour la boucle } myservo.write(position3); current = position3; myservo.write(position2); current = position2; myservo.write(position1); //servo se déplace en position 1 current = position1; break; } irrecv.resume(); // Recevoir la prochaine valeur } } // signer seb03000
Donc si vous avez une idée , des conseils , des remarques , je suis preneur merci a vous tous
je continue tous de même a trouvé le problème.