#include <Arduino.h>
// Broches pour les LEDs correspondant aux bits b2, b1 et b0
const int ledB2 = 9;
const int ledB1 = 7;
const int ledB0 = 11;
// Fonction de lecture de la tension du potentiomètre
int lireTension() {
return analogRead(A0); // Lire la tension analogique sur la broche A0
}
// Fonction pour allumer les LEDs en fonction des bits
void allumerLEDs(int valeur) {
digitalWrite(ledB2, bitRead(valeur, 2));
digitalWrite(ledB1, bitRead(valeur, 1));
digitalWrite(ledB0, bitRead(valeur, 0));
}
void setup() {
Serial.begin(9600);
// Initialisation des broches des LEDs
pinMode(ledB2, OUTPUT);
pinMode(ledB1, OUTPUT);
pinMode(ledB0, OUTPUT);
}
void loop() {
// Lire la tension du potentiomètre et la mapper en 8 paliers
int valeurAnalogique = map(analogRead(A0), 0, 1023, 0, 7);
// Allumer les LEDs correspondantes aux bits
allumerLEDs(valeurAnalogique);
// Afficher les informations dans le moniteur série
Serial.print("Commande : ");
Serial.println(valeurAnalogique);
Serial.print("Combinaison binaire : ");
Serial.print(bitRead(valeurAnalogique, 2));
Serial.print(bitRead(valeurAnalogique, 1));
Serial.println(bitRead(valeurAnalogique, 0));
float tension = valeurAnalogique * (5.0 / 7.0); // Conversion en tension (en volts)
Serial.print("Tension correspondante : ");
Serial.print(tension);
Serial.println(" V");
float tensionGeneree = valeurAnalogique * (5.0 / 7.0); // Conversion en tension générée (en volts)
Serial.print("Tension générée : ");
Serial.print(tensionGeneree);
Serial.println(" V");
delay(1000); // Attendre une seconde avant de répéter le processus
}