HOWTO · Arduino

Arduino Attendi input

È possibile impostare Arduino in modo che attenda l'input utilizzando la funzione Serial.available() e la funzione digitalRead().

In questa pagina

Questo tutorial discuterà due metodi per impostare il tuo Arduino in attesa dell’input. Un metodo è per porte seriali o pin analogici e l’altro è per pin digitali.

Imposta Arduino in modo che attenda l’input utilizzando la funzione Serial.avaiable()

Se si desidera leggere l’input da una porta seriale, è possibile utilizzare la funzione Serial.available() per attendere l’input. Questa funzione ottiene il numero di byte presenti sulla porta seriale. Se non è presente alcun ingresso, restituirà zero.

void setup() { Serial.begin(9600); }

void loop() {
  while (Serial.available() == 0) {
  }
  int mydata = Serial.read();
}

Nel codice sopra, se non è presente alcun input sulla porta seriale, Arduino sarà bloccato in un loop e rimarrà lì. Se un input arriva alla porta seriale, il loop si interromperà e il seriale leggerà i dati usando Serial.read() e li memorizzerà nella variabile mydata.

Imposta Arduino in modo che attenda l’ingresso utilizzando la funzione digitalRead()

Se si desidera leggere l’ingresso da un pin digitale, è possibile utilizzare la funzione digitalRead() per attendere l’ingresso. Questa funzione legge il valore digitale di un pin digitale che è LOW o HIGH.

int valPin = 0;
int inputPin = 7;

void setup() { pinMode(inputPin, INPUT); }

void loop() {
  while (digitalRead(inputPin) != LOW)
    ;
  {}
  valPin = digitalRead(inputPin);
}

Nel codice sopra, se non è presente alcun ingresso sul pin digitale, Arduino sarà bloccato in un loop e rimarrà lì. Se un ingresso arriva al pin digitale, il loop si interromperà e il seriale leggerà i dati usando digitalRead() e li memorizzerà nella variabile valPin.