#define PIN2 2 // Alimentation du relais principal, si problème sur capteur, le relais est déactivé
#define PIN3 3 // Capteur de niveau d'eau, coupe le relais principal et allume la LED rouge de panne et lance le buzzer
#define PIN4 4 // Thermique installé sur la dry cell, coupe le relais principal si la dry cell chauffe à plus de 60°c
#define PIN5 5 // Contact sur le relais de controle de l'ampérage, si trop de courant env +23A, le relais principal coupe
#define PIN6 6 // LED rouge panne capteur niveau d'eau
#define PIN7 7 // LED rouge panne thermique dry cell
#define PIN8 8 // LED rouge panne relais de controle de courant
#define PIN9 9 // libre
#define PIN10 10 // LED verte, systeme fonctionne sans panne, affichage dans le véhicule
#define PIN11 11 // LED rouge, panne du système, affichage dans véhicule
int valPIN2 = 0; // variable qui contiendra la valeur binaire du capteur "PIN2"
int valPIN3 = 0; // variable qui contiendra la valeur binaire du capteur "PIN3"
int valPIN4 = 0; // variable qui contiendra la valeur binaire du capteur "PIN4"
int valPIN5 = 0; // variable qui contiendra la valeur binaire du capteur "PIN5"
int valPIN6 = 0; // variable qui contiendra la valeur binaire de la LED "PIN6"
int valPIN7 = 0; // variable qui contiendra la valeur binaire de la LED "PIN7"
int valPIN8 = 0 ; // variable qui contiendra la valeur binaire de la LED "PIN8"
int valPIN9 = 0; // variable qui contiendra la valeur binaire de la LED "PIN9"
int valPIN10 = 0; // variable qui contiendra la valeur binaire de la LED "PIN10"
int valPIN11 = 0; // variable qui contiendra la valeur binaire de la LED "PIN11"
const int sensorPin = A0; // pin that the sensor is attached to
const int ledPin = 13; // pin that the LED is attached to
int sensorValue = 0; // the sensor value
int sensorMin = 1023; // minimum sensor value
int sensorMax = 540; // maximum sensor vale
void setup () {
pinMode (PIN2, OUTPUT); // sortie, alimentation bobine relais principal
pinMode (PIN3, INPUT); // Entrée du capteur de niveau
pinMode (PIN4, INPUT); // Entrée du thermique
pinMode (PIN5, INPUT); // entrée du contact du relais de controle de tenion
pinMode (PIN6, OUTPUT); // sortie LED rouge panne capteur niveau d'eau
pinMode (PIN7, OUTPUT); // sortie LED rouge panne temperature dry cell
pinMode (PIN8, OUTPUT); // Sortie LED rouge relais de controle de tension
pinMode (PIN9, OUTPUT); // libre
pinMode (PIN10, OUTPUT); // Sortie LED verte controle système dans véhicule
pinMode (PIN11, OUTPUT); // Sortie LED rouge panne controle système dans véhicule
// calibrate during the first five seconds
while (millis() < 5000) {
sensorValue = analogRead(sensorPin);
// record the maximum sensor value
if (sensorValue > sensorMax) {
sensorMax = sensorValue;
}
// record the minimum sensor value
if (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}
Serial.begin(9600); // ouverture du port de lecture serie
}
void loop (){ //boucle infinie
valPIN3 = digitalRead(PIN3); //récup valeurs binaires
valPIN4 = digitalRead(PIN4); //récup valeurs binaires
valPIN5 = digitalRead(PIN5); //récup valeurs binaires
Serial.println(valPIN3); // lecture valeur PIN3
Serial.println(valPIN4); // lecture valeur PIN4
Serial.println(valPIN5); // lecture valeur PIN5
sensorValue = analogRead(0); // lis la valeur sur la broche A0
Serial.println(sensorValue);
delay(100); // delais entre chaque lecture
if (valPIN3 == HIGH && valPIN4 == HIGH && valPIN5 == HIGH) { //si les deux capteurs sont activés, on effectue l'action 1
digitalWrite(PIN2, HIGH); // Relais principal activé
digitalWrite(PIN10, HIGH); // LED verte dans véhicule activé
digitalWrite(PIN11, LOW); // LED rouge de panne dans véhicule éteint
}
else { //sinon on effectue la 2
digitalWrite(PIN2, LOW); // Relais principal éteint
digitalWrite(PIN10, LOW); // LED verte dans véhicule éteint
digitalWrite(PIN11, HIGH); // LED rouge de panne dans véhicule activé
}
if (valPIN3 == LOW){ // Contact flotteur si ouvert, on allume la LED Rouge sur PIN6
digitalWrite (PIN6, HIGH); // LED Rouge PINE6 allumée
}
else { // Contact flotteur fermer, la LED est éteinte
digitalWrite(PIN6, LOW); // LED Rouge éteinte
}
if (valPIN4 == LOW){ // Contact thermique ouvert, on allume la LED rouge sur PIN7
digitalWrite (PIN7, HIGH); // LED Rouge PIN7 allumée
}
else { // Contact thermique fermer, La LED est éteinte
digitalWrite(PIN7, LOW); // LED Rouge éteinte
}
if (valPIN5 == LOW){ // Contact du relais de controle de courant, on allume la LED rouge sur PIN8
digitalWrite (PIN8, HIGH); // LED Rouge allumée
}
else { // Contact relais fermé, La LED est éteinte
digitalWrite(PIN8, LOW); // LED Rouge éteinte
}
// read the sensor:
sensorValue = analogRead(sensorPin);
// apply the calibration to the sensor reading
sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
// in case the sensor value is outside the range seen during calibration
sensorValue = constrain(sensorValue, 0, 255);
// fade the LED using the calibrated value:
analogWrite(ledPin, sensorValue);
}
ATTENTION, il y a des bouts de code qui ne sont pas encore développer, il s'agit de tous ce qui a des commentaires en anglais !!!
Merci d'avance