probleme programmation

Bonsoir à tous,
comme je suis novice avec la programmation de l’Arduino j’aurais aimé avoir une âme charitable qui puisse me guider voilà je voudrais programmer une pompe à chaleur à partir d’un grafcet et de pouvoir gérer des défauts je voulais commencer par cela mais j’ai pas réussi a me dépêtrer avec la fonction if else

voilà mon début de programme:

#include <MsTimer2.h>

//Declaration des entrées et sorties

const int thermostat =2;
const int debit =3;
const int haute_pression =4;
const int basse_pression =5;
const int pompe =8;
const int ventilo =9;
const int compresseur =10;
const int led_defaut_debit =11;
const int led_defaut_haute_pression =12;
const int led_defaut_basse_pression =13;
int GRAFCET_Etape=0;
int defaut=0;
int etatDefaut=0;

void setup()
{

Serial.begin(9600);
//Init
pinMode(thermostat, INPUT) ;
pinMode(haute_pression,INPUT);
pinMode(basse_pression,INPUT);
pinMode(pompe,OUTPUT);
pinMode(ventilo,OUTPUT);
pinMode(compresseur,OUTPUT);
pinMode(led_defaut_debit,OUTPUT);
pinMode(led_defaut_haute_pression,OUTPUT);
pinMode(led_defaut_basse_pression,OUTPUT);
digitalWrite(pompe,LOW);
digitalWrite(ventilo,LOW);
digitalWrite(compresseur,LOW);
}

void loop()
{
//gestion des défauts
// lit l’etat du defaut et stocke le resultat dans etatDefaut
etatDefaut=digitalRead(defaut);

}

if
(digitalRead(haute_pression==LOW));

{
digitalWrite(defaut==HIGH);
}
else
{
digitalWrite(defaut==LOW);
}

if

(digitalRead(basse_pression==LOW));

{

digitalWrite(defaut==HIGH);
}
else
{
digitalWrite(defaut==LOW);

}
if(digitalRead(debit)==LOW);

if (digitalRead(debit)==LOW);
{
digitalWrite(defaut==HIGH);
}
else
{
digitalWrite(defaut==LOW);
}

defaut " expected unqualified-id before ‘if’" en ligne 73

debut_prog.txt (1.54 KB)

Bonjour,

Mets ton code entre balises de code
il y a un ; de trop ici

 if

 (digitalRead(basse_pression==LOW));

Formates ton code avec CTRL T et tu verras le problème.

Une ligne dupliquée, à moins que ce soit lors du collage du code en deux fois.

if(digitalRead(debit)==LOW);
 
if (digitalRead(debit)==LOW);

Tout le code est en dehors des { } de loop() !!

Je pense qu'il faudrait jeter un oeil à la doc
digitalWrite(defaut==LOW);digitalWrite() attend en argument un identifiant d'I/O et un état (doc)

digitalRead(basse_pression==LOW)digitalWrite() attend en argument un identifiant d'I/O (doc)

Dans un if, pas de ; après le test (doc)