problema con operatore if

salve, riporto di seguito lo sketch, il problema è che quando carico il programma arduino non esegue la verifica della condizione e non esegue il programma.
il programma dovrebbe mantenere il pin digitale al livello alto finchè la condizione è vera ma non lo esegue anzi manda al livello alto altri piedini.

void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);

}

void loop() {

if(0 == LOW)
{
digitalWrite(4, HIGH);

}
if(1 == LOW)
{
digitalWrite(5, HIGH);
}
if(2 == LOW)
{
digitalWrite(6, HIGH);
}
if(3 == LOW)
{
digitalWrite(7, HIGH);
}

}

Ciao

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

il codice racchiudilo con l'apposito tag come indicato nel regolamento.

Per rispondere al tuo quesito:
per verificare lo stato di un ingresso non puoi controllare come hai fatto tu ma devi utilizzare la funzione digitalRead
Se modifichi il codice con la digitalRead i confronti funzioneranno come desideri, però una volta che il pin di input è stato posto a livello alto nessuno spegnerà più il rispettivo pin di output, per ottenere il funzionamento che desideri devi inserire anche i rami else di ciascun if mettendo i pin non più a HIGH ma a LOW.

E' anche possibile eliminare gli if/else sostituendo il valore fisso HIGH delle varie digitalWrite con il valore negato restituito dalla digitalRead. In questo modo il codice sarà più leggero da eseguire e leggere.

if(0 == LOW) non leggi mica il livello logico del pin.
Dove hai lasciato il digitalRead()?
Non usare i pin 0 e 1 perché é attacata l'adattatore USB.

Ciao Uwe

ah grazie, potreste farmi un esempio su come sarebbe lo sketch. grazie.

if(digitalRead(2) == LOW){
 digitalWrite(6, HIGH);
 }

e come consigliato, non usare i pin 0 e 1, sono riservati alla seriale USB

grazie mille, siete stati fondamentali.