Piloter 2 positions différentes de 2 servomoteurs SG90 avec 2 boutons connecter sur un Arduino Uno
Description :
Ce montage permet de piloter deux servomoteurs SG90 à l’aide de deux boutons-poussoirs reliés à une carte Arduino Uno. Chaque bouton contrôle un servomoteur et lui fait adopter deux positions différentes. Lorsque l’utilisateur appuie sur un bouton, le servo correspondant change d’angle, permettant ainsi de réaliser un contrôle simple et précis de mouvement pour des applications comme des bras robotiques, des volets ou des mécanismes orientables.
Prérequis :
- 1 x Carte Arduino Uno
- 2 x Boutons
- 2 x Servomoteurs SG90
- 1 x Breadboard
- 1 x Condensateur 1000µF 16V
- Fils de connexion
Vidéo de démonstration :
Schéma de câblage :


Code :
#include <Servo.h>
int Bouton1 = 2; // Bouton 1 sur la pin 2 de l'Arduino
int Bouton2 = 3; // Broche 2 sur la pin 3 de l'Arduino
Servo servo1; // Créer un objet Servo1 pour contrôler le servo 1
Servo servo2; // Créer un objet Servo2 pour contrôler le servo 2
void setup() {
servo1.attach(10); // Attache le servo sur la broche 10
servo2.attach(11); // Attache le servo sur la broche 11
pinMode(Bouton1, INPUT_PULLUP); // Pin Bouton1 déclarée en entrée avec option INPUT_PULLUP
pinMode(Bouton2, INPUT_PULLUP); // Pin Bouton2 déclarée en entrée avec option INPUT_PULLUP
}
void loop() {
// Lecture des signaux du bouton 1 arrivant sur l'arduino
bool etatBouton1 = digitalRead(Bouton1);
// Si EtatBouton1 == HIGH
if (etatBouton1 == HIGH) {
servo1.write(100); // régle le servo1 à la position 100
}
// Sinon
else {
servo1.write(10); // régle le servo1 à la position 10
}
// Lecture des signaux du bouton 2 arrivant sur l'arduino
bool etatBouton2 = digitalRead(Bouton2);
// Si EtatBouton2 == HIGH
if (etatBouton2 == HIGH) {
servo2.write(100); // régle le servo2 à la position 100
}
// Sinon
else {
servo2.write(10); // régle le servo2 à la position 10
}
}
