P11: Kiwibot Basic Shield: Control matriz led sin libreria

4.820 visualizaciones

Publicado el

Control de matriz de LEDs con registros de desplazamiento
Registro de desplazamiento 74hc595
Función shiftout

Publicado en: Educación
2 comentarios
2 recomendaciones
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
4.820
En SlideShare
0
De insertados
0
Número de insertados
3.274
Acciones
Compartido
0
Descargas
45
Comentarios
2
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

P11: Kiwibot Basic Shield: Control matriz led sin libreria

  1. 1. PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO P11: CONTROL MATRIZ DE LEDS SIN LIBRERÍA José  Pujol  Pérez   IES  Vicente  Aleixandre  
  2. 2. OBJETIVOS •  Controlar una matriz de LEDS sin usar librería •  Usar un registro de desplazamiento  
  3. 3. Ideas Previas: •  ¿Qué es una matriz de LEDs? •  ¿Para qué nos puede servir? •  ¿Puedo controlarla con Arduino? ¿Cuantos pines digitales necesito? •  ¿Conoceis alguna forma de ahorrar pines? INTRODUCCIÓN
  4. 4. Controlar una matriz de LEDs a través de los registros de despalazamiento Ideas: •  Encender sucesivamente todos los puntos de la matriz •  Controlar el encendido de un punto con el joystick o el acelerómetro •  Añadir proporcionalidad al movimiento HACER
  5. 5. •  MATRIZ DE LEDS •  REGISTRO DE DESPLAZAMIENTO •  CONEXIÓN ARDUINO MATRIZ DE LEDS •  FUNCIÓN SHIFTOUT •  TIPO BYTE •  TIPO ARRAY •  EJEMPLO CONTROL MATRIZ INFORMACIÓN
  6. 6.   MATRIZ DE LEDS Es un encapsulado que contiene LEDs distribuidos en filas y columnas 5 Filas y 7 Columnas à M5x7= 35 LEDs Cada punto de la matriz es localizado por su posición M(i,j)=M(2,3)
  7. 7.   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
  8. 8.   REGISTRO DE DESPLAZAMIENTO Transmite un byte, bit a bit a sus salidas desde Q0àQ7 Nos permite aumentar el número de salidas digitales disponibles de Arduino Salidas digitales: Q0-Q7 Datos: byte enviado por Arduino 10101010 Reloj: marca la velocidad de desplazamiento de los bits Latch: habilita la entrada de datos 74HC595
  9. 9.   REGISTRO DE DESPLAZAMIENTO Salidas digitales Q0-Q7 Necesita 3 pines para ser controlado: •  DS: Datos serie (byte) enviados por Arduino •  SHCP= Reloj, velocidad de desplazamiento de los bits •  STCP= LATCH, si está a 0 ''escucha'' los datos entrantes, cuando se pone a 1 los muestra
  10. 10.   REGISTRO DE DESPLAZAMIENTO Registros en serie: •  Comparten señal de reloj y de activación •  Los datos se transmiten a través de Q7' •  El primer byte pasa al segundo registro
  11. 11.   CONEXIÓN ARDUINO MATRIZ LEDS
  12. 12. FUNCIÓN SHIFTOUT Transmite un byte bit a bit - shiftOut (dataPin, clockPin, bitorder,value); dataPin: pin que transmite los datos clockPin: pin del reloj bitorder: MSBFIRST / LSBFIRST MSBFIRST: transmite primero el bit más significativo LSBFIRST: transmite primero el bit menos significativo value: el byte a transmitir
  13. 13. TIPO BYTE - byte b; Variable que almacena un byte = 8 bits El byte lo podemos codificar en formato binario byte b= B0001000; El byte lo podemos codificar en formato decimal 0-255 byte b= 16; El byte lo podemos codificar en formato hexadecimal byte b= 0x10;
  14. 14. ARRAY Es una colección de variables indexadas por un número Para definir un array - tipo nombre[#]={v1, v2,...} byte columna[2]={B1000000, B0100000}; Para definir uno de sus elementos columna[0]=B1000000;
  15. 15. ARRAYS MATRIZ Para indicar un 1 en las columnas y un 0 en las filas enviando el bit menos significativo primero: byte columna[7]={B00000010, B00000100, B00001000, B00010000, B00100000, B01000000,B10000000}; byte fila[5]= {B11110111, B11101111, B11011111, B10111111,B01111111};
  16. 16.   EJEMPLO ENCENDER UN PUNTO MATRIZ
  17. 17. •  ¿Qué hemos conseguido hacer?   reflexionamos
  18. 18.       Este  guía  se  distribuye  bajo  licencia  Reconocimiento-­‐  ComparBrIgual  CreaBve   commons  4.0         (cc)  2015  José  Pujol  Pérez  Some  rights  reserved.  This  work  licensed  under  CreaBve   Commons  APribuBon-­‐ShareAlike  License.  To  view  a  copy  of  full  license,  see                   hPp://creaBvecommons.org/licenses/by-­‐sa/3.0/  or  write  to  CreaBve  Commons,  559   Nathan  AbboP  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

×