Go Down

Topic: besoin de lumiere:je n arrive pas a faire ma selection de cycle (Read 559 times) previous topic - next topic

mapypd

:smiley-fat:
bonjour
j ai fait un petit programme , mais je n arrive pas a trouver l'erreur :
je fait une comparaison sur l entree analogique 3 pour faire la selection du cycle correspondant
mais j ai essayé de corriger le programme pour faire fonctionner celui ci , mais je ni arrive pas (je suis trop nul)
j ai besoin de vos lumiere pour trouver mon erreur
je n ai mis que les 2 premier cycles
merci
patrick


#include <LiquidCrystal.h>
byte compteur1;
byte compteur2;
byte compteur3;
byte compteur4; 
byte compteur5;
byte compteur6; 
byte compteur7;
byte compteur8;
const int APPUI=LOW;
const int CYCLE1=LOW;
const int CYCLE2=LOW; 
const int CYCLE3=LOW; 
const int CYCLE4=LOW;
const int CYCLE5=LOW;
const int CYCLE6=LOW; 
const int CYCLE7=LOW;
const int CYCLE8=LOW;
const int BP1=7;   
const int REL1=2;
const int REL2=3; 
const int REL3=4;   
const int REL4=12; 
const int REL5=13; 
const int REL6=0; 
const int REL7=14;
const int REL8=15;
const int REL9=16; 
const int RS=1; 
const int E=9;   
const int D4=10;
const int D5=11;
const int D6=5; 
const int D7=6; 
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);

void setup()   { 
lcd.begin(16,2);                   
delay(10);                         
lcd.print(".Patrick. LCD OK") ;   
delay(3000);
lcd.setCursor(0, 1) ;               
lcd.print("--Prg. Arduino--") ;   
delay(2000);                       
lcd.setCursor(0, 0) ;               
lcd.print("--pour le Labo.-") ;     
delay(2000);                     
lcd.setCursor(0, 1) ;               
lcd.print("----8 Cycles----") ;   
delay(2000);                       
lcd.setCursor(0, 0) ;               
lcd.print("BP1 Lance le cycle ") ;
lcd.setCursor(0, 1) ;               
lcd.print("selection commut") ;   
delay(2000);                       
pinMode (REL1,OUTPUT);
pinMode (REL2,OUTPUT);
pinMode (REL3,OUTPUT);
pinMode (REL4,OUTPUT);
pinMode (REL5,OUTPUT);
pinMode (REL6,OUTPUT);
pinMode (REL7,OUTPUT);
pinMode (REL8,OUTPUT);
pinMode (REL9,OUTPUT);   
pinMode (BP1,INPUT);
digitalWrite (BP1,HIGH); 
digitalWrite (REL1,HIGH);
digitalWrite (REL2,HIGH);
digitalWrite (REL3,HIGH);
digitalWrite (REL4,HIGH);
digitalWrite (REL5,HIGH);
digitalWrite (REL6,HIGH);
digitalWrite (REL7,HIGH);
digitalWrite (REL8,HIGH);
digitalWrite (REL9,HIGH);
}
void loop(){   
int valeurResistance = analogRead(A3); //mets la valeur de l'entree ana  dans valeurResistance                                     
//comparaison pour le cycle 1
if((valeurResistance> 400)&&(valeurResistance< 410))digitalWrite(CYCLE1,HIGH);
if((valeurResistance< 399)&&(valeurResistance> 0))digitalWrite(CYCLE1,LOW);   
if((valeurResistance> 411)&&(valeurResistance< 1023))digitalWrite(CYCLE1,LOW);
//comparaison pour le cycle 2
if((valeurResistance> 420)&&(valeurResistance< 430))digitalWrite(CYCLE2,HIGH);
if((valeurResistance< 419)&&(valeurResistance> 0))digitalWrite(CYCLE2,LOW);   
if((valeurResistance> 431)&&(valeurResistance< 1023))digitalWrite(CYCLE2,LOW);

//CYCLE 1
if ((digitalRead(BP1)==APPUI)&&(CYCLE1,HIGH)) { // si bp1 et comparaison
lcd.setCursor(0, 0) ;
lcd.print("-----CYCLE=1----") ;
lcd.setCursor(0, 1) ;
lcd.print("    en cours    ") ;
delay(500);
for(compteur1=0;compteur1<30;compteur1++) 
   { 
   digitalWrite(REL1,LOW);   
   delay (300000);           
   digitalWrite (REL1,HIGH); 
   digitalWrite(REL2,LOW);   
   delay (300000);           
   digitalWrite (REL2,HIGH); 
   digitalWrite(REL3,LOW);   
   delay (300000);           
   digitalWrite (REL3,HIGH);
   digitalWrite(REL2,LOW);   
   delay (300000);           
   digitalWrite (REL2,HIGH);
}                           
lcd.setCursor(0, 0) ;           
lcd.print("ARRET en attente") ; 
lcd.setCursor(0, 1) ;           
lcd.print("  depart cycle  ") ; 
delay(1000);                     
}
//CYCLE 2
if ((digitalRead(BP1)==APPUI)&&(CYCLE2,HIGH)) {           
for(compteur2=0;compteur2<60;compteur2++)                                                                         
   {
   digitalWrite(REL1,LOW);                               
   delay (300000);                                       
   digitalWrite (REL1,HIGH);                           
   digitalWrite(REL2,LOW);                               
   delay (300000);                                       
   digitalWrite (REL2,HIGH);                             
   digitalWrite(REL3,LOW);                               
   delay (300000);                                       
   digitalWrite (REL3,HIGH);                             
   digitalWrite(REL2,LOW);                               
   delay (300000);                                   
   digitalWrite (REL2,HIGH);                           
}                                                         
lcd.setCursor(0, 0) ;                 
lcd.print("ARRET en attente") ;         
lcd.setCursor(0, 1) ;                   
lcd.print("  depart cycle  ") ;         
delay(1000);                             
}
}

Go Up