4 servos, 4 boutons, une carte arduino uno R3

Bonjour,

N'étant pas encore un as de la programmation sur arduino, quelqu'un pourait-il me donner un exemple pour que ma carte arduino uno R3 pilote 4 servo avec 4 boutons à impulsion? (monté avec une résistance 10KOhm, évidemment!)

Les 4 boutons seront sur les pins 2, 3, 4, 5 Les 4 servos seront sur les pins 9, 10, 11, 12

Ces 4 boutons, impose un angle aux 4 servos, soit:

bouton1: servo1: 0° - servo2: 0° - servo3: 0° - servo4: 0° bouton2: servo1: 45° - servo2: -45° - servo3: 45° - servo4: -45° bouton3: servo1: 45° - servo2: 18° - servo3: -45° - servo4: -18° bouton4: servo1: -18° - servo2: -45° - servo3: 18° - servo4: 45°

Merci d'avance de m'aider, votre aide ne sera pas gratuite, promis!

Je travaille justement sur une lib pour servo avec l'ami rené, mais 4 servos sur une uno, ça sera chaud si tu veux de la précision...

Bonjour Mavilia et Super_Cinci,

Le code source pourrait ressembler à :

//*****************************************************************************
// Programme Arduino : Boutons4Servomoteur4.ino
//*****************************************************************************
/*
Écrit par = L'ami René

Date = 2013-09-23
*/
//*****************************************************************************

//*****************************************************************************
// Inclusion des librairies utilisées.
//*****************************************************************************
#include "Servo.h"
//*****************************************************************************

//*****************************************************************************
// Constantes des connecteurs.
//*****************************************************************************
byte BOUTON_1 = 2;
byte BOUTON_2 = 3;
byte BOUTON_3 = 4;
byte BOUTON_4 = 5;

byte SERVOMOTEUR_1 = 9;
byte SERVOMOTEUR_2 = 10;
byte SERVOMOTEUR_3 = 11;
byte SERVOMOTEUR_4 = 12;
//*****************************************************************************

//*****************************************************************************
// Création en mémoire des objets pour les interfaces des périphériques.
//*****************************************************************************
// Créer objet Servo pour contrôler un servomoteur, maximum 8 avec UNO.
Servo Servomoteur_1;
Servo Servomoteur_2;
Servo Servomoteur_3;
Servo Servomoteur_4;
//*****************************************************************************

//*****************************************************************************
// FONCTION setup
//*****************************************************************************
void setup ()
{
  pinMode (BOUTON_1, INPUT);
  pinMode (BOUTON_2, INPUT);
  pinMode (BOUTON_3, INPUT);
  pinMode (BOUTON_4, INPUT);

  Servomoteur_1.attach (SERVOMOTEUR_1);
  Servomoteur_2.attach (SERVOMOTEUR_2);
  Servomoteur_3.attach (SERVOMOTEUR_3);
  Servomoteur_4.attach (SERVOMOTEUR_4);
}
//*****************************************************************************

//*****************************************************************************
// FONCTION loop
//*****************************************************************************
void loop ()
{// Caler les servomoteurs a 90° = 0°, alors
  if (digitalRead (BOUTON_1))
  {
    Servomoteur_1.write (90);
    Servomoteur_2.write (90);
    Servomoteur_3.write (90);
    Servomoteur_4.write (90);
  }
  if (digitalRead (BOUTON_2))
  {
    Servomoteur_1.write (135);
    Servomoteur_2.write (45);
    Servomoteur_3.write (135);
    Servomoteur_4.write (45);
  }
  if (digitalRead (BOUTON_3))
  {
    Servomoteur_1.write (135);
    Servomoteur_2.write (108);
    Servomoteur_3.write (45);
    Servomoteur_4.write (72);
  }
  if (digitalRead (BOUTON_4))
  {
    Servomoteur_1.write (72);
    Servomoteur_2.write (45);
    Servomoteur_3.write (108);
    Servomoteur_4.write (135);
  }
  delay (1000);// Attendre une seconde.
}
//*****************************************************************************

Une fois n'est pas coutume...

L'ami René

et hop, un 20/20! :zipper_mouth_face: