Volver a la página principal

Ejemplos de código

Salida digital

En este ejemplo el LED conectado al pin 13 parpadea cada segundo.

 
int ledPin = 13; 		// LED que se encuentra en el pin 13
   void setup(){ 
   pinMode(ledPin, OUTPUT);	// El p1n 13 será una salida digital 
} 
void loop(){ 
   digitalWrite(ledPin, HIGH);	// Enciende el LED
   delay(1000); 				// Pausa de 1 segundo 
   digitalWrite(ledPin, LOW); 	// Apaga el LED 
   delay(1000);				// Pausa de 1 segundo 
} 
 

Salida digital II

En este ejemplo el LED conectado al pin 13 parpadea en un intervalo de tiempo variable que depende del número de veces que se ejecuta el programa (función loop)

 
int ledPin = 13;	// LED que se encuentra en el pin 13
int n = 0;  	//Entero que contará el paso por la función loop
void setup(){ 
   pinMode(ledPin, OUTPUT);	// El p1n 13 será una salida digital 
} 
void loop(){ 
   digitalWrite(ledPin, HIGH);	// Enciende el LED
   delay(1000); 				// Pausa de 1 segundo 
   digitalWrite(ledPin, LOW);		// Apaga el LED 
   n++;					//Incrementamos n
   delay(delayVal(n));			//Pausa de un tiempo variable
}
 

//Función que devuelve un valor tipo entero según el parámetro pasado

 
int delayVal(int f){
   return f*100;
}
 

Entrada digital

Este ejemplo lee el valor de un interruptor conectado en el pin 2. Cuando el interruptor está cerrado en el pin de entrada habrá un estado alto (HIGH) y se encenderá el LED.

 
int ledPin = 13; 	// Pin de salida para el LED 
int inPin = 2; // Pin de entrada (donde está conectado el interruptor) 
void setup() { 
   pinMode(ledPin, OUTPUT); 
   pinMode(inPin, INPUT); 
} 
void loop() { 
   if (digitalRead(inPin) == HIGH){	// Si se activa interruptor
      digitalWrite(ledPin, HIGH);	// Enciende el LED 
      delay(1000); 			// Pause de 1 segundo 
      digitalWrite(ledPin, LOW); 	// Apaga el LED 
      delay(1000); 			// Pausa de 1 segundo 
   } 
}
 

Salida PWM

Modulación por ancho de pulso (PWM) puede emplearse, por ejemplo, para establecer el brillo de un led o controlar un servomotor. En el siguiente ejemplo se va aumentando y decrementando el brillo del pin 9 mediante PWM.

 
int ledPin = 9; 				// Pin controlado por PWM 
void setup(){} 
void loop() { 
   for (int i=0; i<=255; i++){ 
      analogWrite(ledPin, i); 	// Establece el brillo a i 
      delay(100); 				// Pausa de 100 ms 
   } 
   for (int i=255; i>=0; i--) { 
      analogWrite(ledPin, i); 
      delay(100); 
   } 
}
 

Entrada a partir de un potenciómetro

En el siguiente código se emplea arduino para controlar la frecuencia de parpadeo de un LED.

 
int potPin = 0; 		// Pin de entrada para el potenciómetro 
int ledPin = 13; 		// Pin de salida para el LED
void setup() { 
   pinMode(ledPin, OUTPUT); 	// Declara el pin del LED como de salida
} 
void loop() { 
   digitalWrite(ledPin, HIGH);	// Enciende el LED 
   delay(analogRead(potPin));		// Lee el valor del potenciómetro 
   digitalWrite(ledPin, LOW);		// Apaga el LED 
   delay(analogRead(potPin)); 	 
}