Vediamo ora come utilizzare questi pin come ingresso. In particolare utilizzeremo un ingresso digitale per accendere un LED...nei prossimi post renderò l'esempio più interessante.
Cosa ci serve:
- Board Arduino
- 1 resistenza 1K
- 1 resistenza 100 Ohm
- 1 LED
Sketch
/* * Ingressi digitali */ int ledPin = 12; // Pin a cui connettere il led int InPin = 2; // Pin a cui connettere il pulsante int val; // variabile per leggere lo stato del pulsante void setup() { pinMode(ledPin, OUTPUT); // Imposta il pin del LED come uscita pinMode(InPin, INPUT); // Imposta il pin del pulsante come ingresso } void loop(){ val = digitalRead(InPin); // legge l'input e lo inserisce in una variabile if (val == LOW) { // se il pulsante è premuto digitalWrite(ledPin, HIGH); // accende il LED } if (val == HIGH) { // se il pulsante è premuto digitalWrite(ledPin, LOW); // spegne il LED } }
Con pinMode(InPin, INPUT) abbiamo definiti il pin 2 come ingresso digitale e con val = digitalRead(InPin); possiamo leggerne lo stato e attribuirlo alla variabile val.
A questo punto connettendo il pin 2 a massa = LOW (pin GND) il pin 12 andrà in stato LOW e il LED si spegnerà mentre collegandolo a 5v = HIGH (pin 5v) il pin 12 andrà in stato HIGH e il LED si accenderà.
ATTENZIONE!
Come nel caso del Digital output dobbiamo prestare attenzione a non bruciare il pin di I/O evitando sovratensioni (>5v) o correnti troppo alte.
Possiamo porre una resistenza da 100 ohm prima del pin di INPUT per evitare cortocircuiti. Se per errore definiamo un pin come output e lo colleghiamo a +5v ..... il corto brucerebbe l'ingresso!!!
Nessun commento:
Posta un commento