Programmare Arduino

14. Funzioni di INPUT e di OUTPUT

Il linguaggio di programmazione comprende le funzioni per la gestione delle porte di Arduino. Attraverso queste funzioni e’ possibile indicare il senso di utilizzo di una porta (INPUT oppure OUTPUT), attivare o disattivare una porta digitale, rilevare il segnale fornito da una porta analogica o attivare una porta digitale in modalita’ PWM, una modalita’ che simula l’emissione di un segnale analogico.

pinMode(porta,utilizzo);

questa istruzione e’ utilizzata per configurare una delle 14 porte digitali; nella variabile porta deve essere inserito il numero della porta digitale (da 0 a 13) che si intende definire mentre in utilizzo deve essere indicato il tipo di utilizzo (INPUT oppure OUTPUT).

digitalWrite(porta,valore);

attiva (HIGH) o disattiva (LOW) una porta digitale di OUTPUT. L’attivazione implica che la porta in oggetto venga alimentata con una tensione di 5 volt mentre la disattivazione implica che attraverso la porta non circoli alcuna tensione (in pratica attiva o disattiva l’attuatore collegato alla porta)


variabile = digitalRead(numero della porta);

rileva lo stato di una porta digitale di INPUT. Inserisce il valore 1 (HIGH) in variabile se sulla porta rileva una tensione superiore a 3 volt, inserisce 0 (LOW) se rileva una tensione inferiore a 1,5 volt e lascia inalterato il valore di variabile se rileva una tensione compresa tra 1,5 e 3 volt.

variabile = analogRead(porta);

rileva la tensione presente su di una porta analogica e inserisce in variabile un numero, compreso tra 0 e 1023, proporzionale alla tensione rilevata. 0 corrisponde ad una tensione pari a 0 mentre 1023 corrisponde ad una tensione pari a 5 volt.

analogWrite(porta,valore);

Con questa istruzione e’ possibile utilizzare una porta digitale in maniera PWM e cioe’ come una porta analogica di OUTPUT. L’istruzione e’ in grado di fornire in uscita sulla porta in questione una tensione (tra 0 e 5 volt) proporzionale al numero (compreso tra 0 e 255) inserito nella variabile valore.

Nota: su Arduino Uno le porte digitali utilizzabili come porte analogiche di OUTPUT sono solo le porte: 11, 10, 9, 6, 5, e 3.