02 Parpadeo sin retardo

Páginas: 8 (1769 palabras) Publicado: 8 de noviembre de 2015
02 - PARPADEO SIN RETARDO
(Blink without delay).

En  el  ejercicio anterior vimos el ejemplo de Sketch más sencillo que se puede hacer con 
Arduino, que un ​
LED ​
parpadee controlando los intervalos de tiempo con la función delay(). 
La  función  delay() es un retardo, la placa Arduino UNO no hace otra  cosa que contar los 
milisegundos   que  le  especifiquemos  entre  los  paréntesis.  En un  Sketch  sencillo  como  el  del 
ejercicio  1  no  hay  problema  en  tener  al  microcontrolador  ocupado  en  la  tarea  de  contar 
milisegundos,  pero  en  general  serán  pocas  las  veces  que  podamos  permitirnos  ese  lujo.  Lo 
más  normal  será  que  además  de  controlar  el  tiempo  nuestra  Arduino  tenga  que  ocuparse  de 
otras tareas. 
Por  ese  motivo  vamos  a  ver  como puede  Arduino  controlar  el  tiempo  que  está 
encendido  el  LED  sin  recurrir  a  la  función   delay()  y  mientras  tanto  queda  el  microcontrolador 
libre para hacer otras cosas. 

 
El  ejercicio  2:  Blink  WithOut  Delay,  que  figura  entre  los   ejemplos que vienen con el IDE 
(los  programas  que  trae  incorporados)  de  Arduino  utiliza  la  ​
función  millis()  para  controlar el 
tiempo.  Esta  función  devuelve  el  número  de  milisegundos  que  han  transcurrido   desde  que  se 
ha encendido por última vez. Veremos la función millis() con más detalle más adelante 

CÓDIGO 
 
 
/* Parpadeo sin delay()
Enciende y apaga un LED conectado a un pin digital sin utilizar la función delay(). Esto significa que
otro código se puede ejecutar al mismo tiempo sin ser interrumpidopor el código que controla el
parpadeo del LED
Circuito: Un LED conectado entre el pin 13 y el pin GND.
Nota: en muchos Arduinos hay un LED en la placa conectado al pin 13, por lo que no sería necesario
un LED externo para este ejemplo.
Creado en 2005 por David A. Mellis, modificado el 8/2/2010 por Paul Stoffregen.
Este ejemplo es de dominio público*/
// las constantes no cambian. Las usamos aquípara establecer los números de los pines.
int​
ledPin ​
=​
13​

;​ ​
// el número del pin conectado al LED
// variables que cambiarán de valor.
int​
ledState ​
=​
LOW​

;​ ​
// ledState se usará para establecer el estado del LED
long​
previousMillis ​
=​
0​

;​ ​
// almacenará la última vez que el estado del LED se actualizó
// la siguiente variable es del tipo long por que el tiempo medido enmilisegundos supera
// rápidamente al número que puede ser almacenado en unavariable del tipo int
long​
interval ​
=​
1000​

;​ ​
// intervalo del parpadeo (en milisegundos)
void​
setup​

()
{
pinMode​
(​
ledPin​
,​
OUTPUT​

);
}

// establece el pin digital como salida:

void​
loop​

()
{
// Aquí es donde pondríamos el código que debe ejecutarse durante todo el tiempo.
// Se comprobará si esel momento de parpadear el LED, esto es, si la diferencia entre
// el tiempo transcurrido y el tiempo en que parpadeó por última vez el LED es mayor que
// el intervalo que establecimos en la declaración de variables.
unsigned​
long​

currentMillis ​
=​
millis​

();​ ​
// Se toma el tiempo actual
// se comprueba si el tiempo actual menos el tiempo en que el LED cambió
// de estado por últimavez es mayor que el intervalo.
if​
(​

currentMillis ​
-​
previousMillis ​
>​
interval​
){
// Si se cumple la condición se guarda el nuevo tiempo en el que el LED cambia de estado
previousMillis ​
=​
currentMillis​
;
// Y ahora cambiamos de estado el LED, si está encendido a apagado o viceversa.
if​
(​

ledState ​
==​
LOW​

)
ledState ​
=​
HIGH​

;
else
ledState ​
=​
LOW​

;
digitalWrite​
(​ledPin​
,​
ledState​
); // Hacemos que el contenido de la variable llegue al LED
}
}

Ejercicio 2: apéndice
A estas alturas somos unos expertos en el arte de hacer que un LED se encienda o se
apague, hemos visto la estructura de un Sketch y hemos utilizado los comandos más
usuales en los ejemplos de programación de Arduino.
En este apéndice repasaremos los comandos vistos hasta ahora, su...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Retardadores
  • retardadores
  • Retardos
  • Retardantes
  • Retardadores
  • Parpadeo atencional
  • EN LO QUE DURA UN PARPADEO
  • Guion Un Parpadeo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS