Voici la manière de souder et brancher tous ces composants sur Arduino. J’utilise tantôt un nano, uno ou méga, mais les raccordements aux bornes restent les mêmes.
Le bouton pression:
Il vous faut un bouton pression, une résistance de 220 ohm

Le code:
// C++ code
//
int boutonPin = 2;
bool dernierEtat = HIGH;
void setup() {
pinMode(boutonPin, INPUT_PULLUP); // Active la résistance de pull-up interne
Serial.begin(9600);
}
void loop() {
bool etatActuel = digitalRead(boutonPin);
if (etatActuel != dernierEtat) {
delay(10); // Anti-rebond logiciel simple
etatActuel = digitalRead(boutonPin); // Relit après le délai
if (etatActuel != dernierEtat) {
dernierEtat = etatActuel;
if (etatActuel == LOW) {
Serial.println(« Bouton appuyé ! »);
} else {
Serial.println(« Bouton relâché. »);
}
}
}
}
L’encodeur 360:
Il vous faut juste un encodeur 360

Le code:
// C++ code
//
#define CLK 2
#define DT 3
#define SW 4 // Pin pour le bouton poussoir de l’encodeur
int lastClkState;
int currentClkState;
int lastButtonState = HIGH;
void setup() {
pinMode(CLK, INPUT);
pinMode(DT, INPUT);
pinMode(SW, INPUT_PULLUP); // Bouton en pull-up interne
Serial.begin(9600);
lastClkState = digitalRead(CLK);
}
void loop() {
// Détection de rotation
currentClkState = digitalRead(CLK);
if (currentClkState != lastClkState) {
if (digitalRead(DT) != currentClkState) {
Serial.println(« Rotation vers la droite »);
} else {
Serial.println(« Rotation vers la gauche »);
}
}
lastClkState = currentClkState;
// Détection de clic sur le bouton
int buttonState = digitalRead(SW);
if (buttonState == LOW && lastButtonState == HIGH) {
Serial.println(« Bouton de l’encodeur appuyé ! »);
delay(50); // Anti-rebond simple
}
lastButtonState = buttonState;
}
Le potentiomètre:
Il vous faut juste un potentiomètre

Le code:
// C++ code
//
int potPin = A0; // Broche analogique connectée au potentiomètre
int potValue = 0; // Pour stocker la lecture du potentiomètre
int lastValue = -1; // Pour détecter les changements
void setup() {
Serial.begin(9600); // Initialisation de la communication série
}
void loop() {
potValue = analogRead(potPin); // Lire la valeur (0 à 1023)
// Afficher seulement si la valeur a changé significativement
if (abs(potValue – lastValue) > 5) {
Serial.print(« Valeur du potentiomètre : « );
Serial.println(potValue);
lastValue = potValue;
}
delay(50); // Petite pause pour éviter l’affichage trop rapide
}
La Led:
Il vous faut une résistance de 220 ohm pour chaque LED que vous utilisez.

Le code:
// C++ code
//
void setup() {
pinMode(2, OUTPUT); // Configure la pin 2 comme sortie
pinMode(3, OUTPUT); // Configure la pin 3 comme sortie
pinMode(4, OUTPUT); // Configure la pin 4 comme sortie
pinMode(5, OUTPUT); // Configure la pin 5 comme sortie
}
void loop() {
digitalWrite(2, HIGH); // Allume la LED
delay(100); // Attend 500ms
digitalWrite(2, LOW); // Éteint la LED
delay(100); // Attend 500ms
digitalWrite(3, HIGH); // Allume la LED
delay(100); // Attend 500ms
digitalWrite(3, LOW); // Éteint la LED
delay(100); // Attend 500ms
digitalWrite(4, HIGH); // Allume la LED
delay(100); // Attend 500ms
digitalWrite(4, LOW); // Éteint la LED
delay(100); // Attend 500ms
digitalWrite(5, HIGH); // Allume la LED
delay(100); // Attend 500ms
digitalWrite(5, LOW); // Éteint la LED
delay(100); // Attend 500ms
}