/*
ionnizer version nano test
programme du 16/06/2022
version 01-a
*/
unsigned char Power = 7; // mise sous tension du ionizer (delay minimal avant mise en marche 300ms)
unsigned char IONIZER_Pin = 5; // sortie digital de foncionnement du ionizer (5v)
unsigned char Ventilateur = 6; // sortie digital sur PWM ==> 9v cible
unsigned char BT = 4; // Bouton poussoir de mise en marche
void setup() {
pinMode(Power, OUTPUT);
pinMode(IONIZER_Pin, OUTPUT);
pinMode(Ventilateur, OUTPUT);
pinMode(BT, INPUT_PULLUP);
Serial.begin(9600);
digitalWrite(Power, LOW);
}
void loop() {
Serial.println("loop");
if (digitalRead(BT) == LOW)
{
prog_N1();
}
}
void prog_N1(){
int cycle = 0;
while(cycle <= 2){ // determine le nombre de cycles de ionization (2 cycle pour l'exemples)
Serial.println("prog_N1");
Serial.println("L1 Mise sous tension du IONIZER");
for(int i=0; i<255; i++){ // utilisation d'un module PWM pour courbe de puissance
analogWrite(Power, i);
delay(5);
}
Serial.println("stabilisation alimentation (1sc pour l'exemple)");
delay(1000);
Serial.println("L2 mise en route ventilateur PWM");
for(int i=0; i<200; i++){
analogWrite(Ventilateur, i);
}
Serial.println("L3 impulsion court ionizer ON");
digitalWrite(IONIZER_Pin, HIGH);
Serial.println("pendant x temps (2sc pour l'exemple)");
delay(2000);
Serial.println("L4 impulsion court ionizer OFF");
digitalWrite(IONIZER_Pin, LOW);
Serial.println("pendant x temps (2sc pour l'exemple)");
delay(2000);
Serial.println("L5 impulsion longue ionizer ON");
digitalWrite(IONIZER_Pin, HIGH);
Serial.println("pendant x temps (5 sc pour l'exemple)");
delay(5000);
Serial.println("L6 arret du ionizer ");
digitalWrite(IONIZER_Pin, LOW);
Serial.println("pendant x temps (1sc pour l'exemple");
delay(1000);
Serial.println("L7 arret complete");
digitalWrite(Power, LOW);
digitalWrite(Ventilateur, LOW);
Serial.println("L8 pendant x temps (3sc pour l'exemple)");
delay(3000);
cycle++;
}
Serial.println("fin de programme");
}