P9: Arduino Basic Shield: Aplicaciones Matriz de LEDs

19
PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO P9: APLICACIÓN MATRIZ DE LEDS José Pujol Pérez IES Vicente Aleixandre

Transcript of P9: Arduino Basic Shield: Aplicaciones Matriz de LEDs

PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO

P9: APLICACIÓN MATRIZ DE LEDS

José  Pujol  Pérez  IES  Vicente  Aleixandre  

OBJETIVOS

•  Controlar una matriz de LEDS y comprender su funcionamiento

•  Instalar y usar una librería

•  Usar control de tiempo mediante reloj interno  

Ideas Previas:

•  ¿Qué es una matriz de LEDs?

•  ¿Para qué nos puede servir?¿Qué aplicaciones se os

ocurren?

•  ¿Puedo controlarla con Arduino? ¿Cuantos pines

digitales necesito?

 

INTRODUCCIÓN

•  MATRIZ DE LEDS

•  LIBRERÍA MATRIZ DE LEDS

•  INSTALAR LA LIBRERÍA

•  MULTIPLEXADO

•  FUNCIÓN MILLIS

•  CONTROL TIEMPO MILLIS

•  SENSOR TEMPERATURA LM35

 

INFORMACIÓN

 

MATRIZ DE LEDS

Es un encapsulado que contiene LEDs distribuidos en

filas y columnas

En este caso, tenemos 5 filas i y 7 columnas j

M5x7= 35 LEDs

Cada punto de la matriz es localizado por su posición

M(i,j)=M(2,3)

 

MATRIZ DE LEDS Configuración interna: •  Las columnas están conectadas a los ánodos de los

LEDs •  Las filas están conectadas a los cátodos •  Para encender un LED tengo que activar a 1 la

columna y poner a 0 la fila

librería matriz leds

- #include <Matriz.h>Incluye la librería Matriz con todas sus funciones

- Matriz matriz(6, 9, 5);Indica los pines latch, reloj y datos del registro de

desplazamiento

- matriz.printPixel(fila, columna);Enciende un pixel

- matriz.printLine(filaIni, columnaIni, filaFin, columnaFin);Dibuja una línea desde un punto inicial a un punto final

librería matriz leds

- matriz.printNumber(numero);Imprimir un número de una o dos cifras

- matriz.cleanMatrix();Apaga todos los píxeles de la matriz

- matriz.newPixel(fila, columna);Almacena píxeles en una variable

- matriz.printMatrix();Imprime los píxeles almacenados en la variable

 

INSTALAR LA LIBRERÍA

Descargar la librería de: http://www.kiwibot.es/escudo-arduino/libreria-matriz-de-leds/

En Arduino:

Sketchà Importar Librería à Add Library

Cargar el archivo .zip

Reiniciar Arduino y la librería ya está lista para ser usada

Realizar un termómetro usando la matriz de LEDs

•  Imprimir la temperatura por el puerto serie

•  Representar el valor de la temperatura con dígitos

Ideas:

•  Añadir que cambie de temperatura Celsius a Fahrenheit con un pulsador

•  Realizar un gráfico de barras. Alternar entre gráfico de barras y dígitos con pulsador

•  Pulsador de desconexión

•  Realizar media de valores para que no oscile

 

HACER PROPUESTA 1

 

SENSOR TEMPERATURA LM35

Sensor de temperatura calibrado

•  Tensión de salida proporcional a la temperatura

•  Cada grado centígrado equivale a 10mv

1°C=10mv  5v=1024  pasos    

 

ESQUEMA ARDUINO LM35

PROGRAMA BASE

Realizar una aplicación o juego usando la matriz de

LEDs

Ideas:

•  Mover un pixel por la pantalla con el acelerómetro

•  Dibujar usando el joystick-pulsador y borrar con el

otro pulsador

•  Juego de memorización de flechas

 

HACER PROPUESTA 2

 

MULTIPLEXADO

Consiste en realizar barridos a gran velocidad Crea la ilusión óptica de que todos los LEDs están encendidos simultaneamente

FUNCIÓN mILLIS

- millis();Devuelve el número de milisegundos desde que se

conectó la placa Arduino Es necesario usarlo si vamos a usar funciones con multiplexado y control de tiempo Si lo guardamos en una variable de tipo unsigned long se desborda cada 50 dias

unsigned long time=0;time=millis();

 

CONTROL TIEMPO RELOJ INTERNO

•  ¿Qué hemos conseguido hacer?

 

reflexionamos

     Este  guía  se  distribuye  bajo  licencia  Reconocimiento-­‐  ComparJrIgual  CreaJve  commons  4.0    

   

(cc)  2014  José  Pujol  Pérez  Some  rights  reserved.  This  work  licensed  under  CreaJve  Commons  ARribuJon-­‐ShareAlike  License.  To  view  a  copy  of  full  license,  see                  

hRp://creaJvecommons.org/licenses/by-­‐sa/3.0/  or  write  to  CreaJve  Commons,  559  Nathan  AbboR  Way,  Stanford,  California  94305,  USA.    

Some  of  the  figures  have  been  taken  from  the  Internet  Source,  and  author  and  licence  if  known,  is  specified.    

For  those  images,  fair  use  applies.    

 

licencia