Apuntes de Arduino
// Blink sin retardo
// Constantes que no van a cambiar:
const int ledPin = 13;
// Variables que van a cambiar:
int estadoLed = LOW;
// las siguientes variables son long porque el tiempo es medido en milisegundos,
// por lo que se convertirá rápidamente en un número más grande de lo que se puede almacenar en un int.
long horaprevia = 0;
long intervalo = 1000;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop()
{
// aquí es donde se pondría el código que debe estar en ejecución todo el tiempo.
// Se chequea para ver si es el momento de conmutar el LED, es decir, si la diferencia entre la hora
// actual y la última vez que se conmutó el LED es mayor que el intervalo de parpadeo:
unsigned long horaactual = millis();
if(horaactual - horaprevia > intervalo) { // actualiza la hora de la última vez que parpadeó el LED
horaprevia = horaactual;
if (estadoLed == LOW) estadoLed = HIGH; // Si el estado del LED está off lo pone on
else estadoLed = LOW;
digitalWrite(ledPin, estadoLed);
}
}
15. ESTRUCTURAS DE CONTROL
15.1. if (condición)
if , comprueba si una determinada condición se cumple, como, por ejemplo, si una entrada posee
un valor por encima de un determinado número y, en caso afirmativo, ejecuta un bloque de
código. El formato de la prueba if es:
if (condición)
{
// Hacer algo aquí
}
El programa comprueba si la condición entre paréntesis es cierta (true). Si es así, el programa
ejecuta la o las instrucciones dentro de las llaves. Si no, el programa se salta dicho código.
Las llaves se pueden omitir después de una sentencia if. Si se hace esto, la siguiente línea
(definida por el ";") se convierte en la única instrucción afectada por la condición.
Todas las siguientes sentencias condicionales son correctas
if (x > 120) digitalWrite (ledPin, HIGH);
Apuntes de Arduino. Tecnología
// se indica el pin donde va el LED, puede usarse el que incorpora la placa
// con el modificador const delante la variable se hace de "sólo lectura"
// la variable estadoLed es usada para establecer el estado del LED
// almacenará la última vez que el LED se ha actualizado
// intervalo de parpadeo (milisegundos)
// establece el pin digital como salida
// Si el estado del LED está on lo pone off
// establece el LED al estado indicado por estadoLed
23