Omet navegació

3.- Eixides digitals

Les eixides digitals les utilitzarem per engegar llums com leds, per activar altres dispositius com relés connectats a voltatges molt més elevats del que pot suportar la targeta, o per activar utilitzant una eixida digital un integrat que activarà motors com veurem més avall.

Una variable eixida digital és defineix com variable entera int , se li assigna el port on està connectada, i se la configura d'eixida (OUTPUT) amb la funció pinMode. Fixat en les dues línies de l'exemple que tens més a baix.


int ledPinR = 12; // led roig connectat al pin 12

pinMode(ledPinR, OUTPUT);

Quan volem engegar-la o aturar-la utilitzen la funció digitalWrite(variable, engega); o digitalWrite(variable, apaga); fixat en les dues línies de sota:

digitalWrite(ledPinR, HIGH); //engega el led roig

digitalWrite(ledPinR, LOW); //apaga el led roig

 

Exemple:

semàfor RGV

 

			// Copyleft (C) 2007 Carles Ferrando
			// SemaforRGV
			//Els semafors Roig , Groc i Verd  s'engegen durant un cicle indefinit */
			//
			int ledPinR = 12; // led roig connectat al pin 12
			int ledPinG = 11; // led groc connectat al pin 11
			int ledPinV = 10; // led verd connectat al pin 10
			void setup(){
			pinMode(ledPinR,OUTPUT); // defineix la funcio digital pin roig
			pinMode(ledPinG,OUTPUT); // defineix la funcio digital pin groc
			pinMode(ledPinV,OUTPUT); // defineix la funcio digital pin verd
			}
			void loop() { 
			digitalWrite(ledPinR, HIGH); //engega el led roig
			delay(1000); // espera 1 segons amb el led engegat
			digitalWrite(ledPinR, LOW); //apaga el led roig
			delay(200); //espera 0,2 segons
			digitalWrite(ledPinG, HIGH); //engega el led groc
			delay(1000); // espera 1 segons amb el led engegat
			digitalWrite(ledPinG, LOW); //apaga el led groc
			delay(200); //espera 0,2 segons
			digitalWrite(ledPinV, HIGH); //engega el led verd
			delay(1000); // espera 1 segons amb el led engegat
			digitalWrite(ledPinV, LOW); //apaga el led verd
			delay(200); //espera 0,2 segons