1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
// ON DEFINI LES PIN :
int Tension = A5;
int green = 2;
int orange = 4;
int red = 7;
//#define Tension A5
//#define green 2
//#define orange 4
//#define red 7
// VALEUR SORTIE DU CAN EN BITS :
int valeur;
// VALEUR CALCULEE EN VOLT A L'ENTREE DU CAN :
float volt;
// VALEURS LIMITES /
const int rpe = 0.615;
const int re = 1.235;
// ATTENTE :
const int wait = 500;
void setup() {
//INITIALISATION DES PIN :
Serial.begin(9600);
pinMode (Tension, INPUT);
pinMode (green, OUTPUT);
pinMode (red, OUTPUT);
pinMode (orange, OUTPUT);
}
void loop() {
// on convertit en nombre binaire la tension lue
valeur = analogRead(Tension);
// on traduit la valeur brute en tension (produit en croix)
volt = valeur * 5.0 / 1023;
//Si volt plus grand que voulu, on allume une LED :
// LED VERTE :
if(volt <= rpe){
digitalWrite(green,HIGH);
}
else {
digitalWrite(green,LOW);
}
// LED JAUNE :
if(volt >= rpe and volt <= re){
digitalWrite(orange,HIGH);
}
else {
digitalWrite(orange,LOW);
}
// LED ROUGE :
if(volt >= re){
digitalWrite(red,HIGH);
}
else {
digitalWrite(red,LOW);
}
// on affiche la tension calculée
Serial.print("volt= ");
Serial.print(volt,2);
Serial.println(" V");
// on saute une ligne entre deux affichages
Serial.println();
delay(wait);
// on affiche la valeur lue sur la liaison série
Serial.print("valeur en bits= ");
Serial.print(valeur);
Serial.println(" /1023");
// // on saute une ligne entre deux affichages
// Serial.println( );
// delay(wait);
} |
Partager