SlideShare une entreprise Scribd logo
1  sur  17
Cubo de LEDs controlado
por microprocesador
Autores:
Víctor Silvero
Marcelo Mendoza
Alumnos de Ingeniería Electrónica, UCA.
Especificaciones
O Cubo de 4x4x4 = 64 diodos LEDs,
dispuestos en 4 pisos de 16 diodos cada
uno.
O 5 efectos programados, más un modo
automático que junta todos los efectos.
O Botón para cambiar efectos.
O Potenciómetro para configurar la
velocidad del efecto en curso.
Especificaciones
Diagrama del proyecto
Hardware
O Microcontrolador Tiva C Series
TM4C123GH6PM, de Texas Instruments.
Cuenta con el procesador ARM Cortex M4,
de 80MHz de frecuencia, registros de 32bits,
también cuenta con 256 kBytes de flash,
además de una unidad de
punto flotante.
O Se utiliza el Convertidor Analógico-Digital
(ADC) del micro, para leer el voltaje que
proporciona el potenciómetro.
O Se utiliza, además, contadores, que son
periféricos con los que cuenta el micro.
Hardware
Hardware
O Los LEDs están conectados por los ánodos en una columna, y
por las cátodos para constituir un piso.
O Cada LED cuenta con un transistor conectado a su ánodo
(columna), y otro a su cátodo (piso).
RLED00
10
RBCOL00
1.5k
PINCOL00
Q57
PN2907A
LEDCOL00
QP10
PN2222
RBPISO
470
PINPISO
VCC
0
RLED01 10
RBCOL01
PINCOL01
Q58
PN2907A
LEDCOL01
O Para encender un LED, se debe saturar el transistor
columna: el pin conectado a la base debe proveer un voltaje
de nivel BAJO, pues es PNP, por el emisor fluye la corriente
de la fuente, y va por el colector, pasa por la resistencia, llega
al LED
hasta encontrar la tierra. La tierra es
referenciada por el transistor de piso,
el cual se debe saturar con un
voltaje de nivel ALTO en su base,
entonces, la corriente que fluye desde el
LED, viene por el cátodo y va al emisor,
que finalmente está a tierra.
Funcionamiento
Limitaciones
O La potencia está limitada por la potencia
máxima que puede entregar el
microcontrolador.
O La estructura del cubo limita la variedad
de efectos realizables (aunque se puede
remediar por software).
O El código está hecho en lenguaje C.
O Los registros de datos de los puertos de salida son de 32
bits, contados de derecha a izquierda, indicando que el n-
ésimo bit corresponde al pin n-ésimo del puerto en
cuestión.
O Se configuran los puertos del micro para utilizarlos como
salida. Básicamente, se “escriben” en las direcciones de
los registros de propósito general, un número de 32 bits,
que contendrá un 1 en una determinada posición,
especificando un voltaje HIGH de salida, o un 0 en caso
contrario. Por ejemplo:
GPIO_PORTB_DATA_R = 0x00000003; (...00000011)
Indica que al pin 0 y al pin 1 del puerto B, se le asignarán un
voltaje HIGH.
Software
O Por ello, el código cuenta con funciones que
simplemente cambian los valores de los registros de
datos de los puertos, que a un lenguaje de bajo nivel
serían funciones que “encienden” o “apagan” un LED.
Simplemente asignan 1s (unos) o 0s (ceros).
void encender_led_piso1_col01(void)
{
GPIO_PORTA_DATA_R |= 0x04;
GPIO_PORTE_DATA_R &= ~0x10;
}
void apagar_col01(void)
{
GPIO_PORTE_DATA_R |= 0x10;
}
Software
O Timers: se los utiliza para producir retardos entre el
encendido y apagado de cada LED, para que así se
puedan generar los efectos. En el código se encuentra
una función que recibe como parámetro la cantidad de
tiempo a esperar, y en base a eso, genera el retardo
correspondiente, automáticamente, ya que es un
periférico del micro, al cual se lo configura previamente
para que cuente un tiempo que es múltiplo del periodo del
micro (inverso de la frecuencia de operación),
O ADC: De acuerdo al número que devuelve el ADC, que a
su vez, recibe el voltaje proporcionado por el
potenciómetro, lo que se hace con ese número es
cambiar el tiempo que se retarda entre el encendido y
apagado de cada LED, causando esto una transición
“más rápida” en el efecto de encendido.
Software
O Ejemplo de una parte del código, para generar un
efecto.
encender_led_piso1_col00();
if(boton_apretado){
return;
}
Retardo_Timer0A(3);
apagar_col00();
encender_led_piso1_col01();
Retardo_Timer0A(3);
if(boton_apretado){
return;
}
apagar_col01();
Software
O Filtrado por software de rebotes al presionar el
botón.
Todo botón de por sí, tiene rebotes al momento de
pulsarlo, y al momento de soltarlo. Esta situación
puede generar problemas minuciosos y sensibles en
tareas donde se requiere precisión.
Los Timers tienen la capacidad de que, cada que
termine el conteo periódico, se “atiende” a la fuente de
interrupción (si está configurada), y luego vuelve a
contar.
Software
Software utilizado para
programación
O Keil uVision 4 – IDE (Integrated Development
Environment)
Solución completa de desarrollo de software para
microcontroladores basados en ARM e incluye todos los
componentes que se necesita para crear, construir y depurar
programas (debug) y aplicaciones a ser cargadas, soporte para
dispositivos Cortex-M, incluyendo la nueva arquitectura ARMv8-M.
Incluye compiladores de C / C++ con ensamblador, enlazador.
Cubo de LEDs
O Imágenes del encendido.
Muchas gracias por su atención.

Contenu connexe

Tendances

Arquitectura exposicion acceso memoria directa y transistores
Arquitectura exposicion  acceso memoria directa y transistoresArquitectura exposicion  acceso memoria directa y transistores
Arquitectura exposicion acceso memoria directa y transistores
Alfredo Hermoso Sevilla
 
Decodificadores
DecodificadoresDecodificadores
Decodificadores
Tefa195
 
Tutorial proton part 2
Tutorial proton part 2Tutorial proton part 2
Tutorial proton part 2
dar851112
 
Leccion 3 y4_2tp1ene2011
Leccion 3 y4_2tp1ene2011Leccion 3 y4_2tp1ene2011
Leccion 3 y4_2tp1ene2011
Jair BG
 

Tendances (19)

Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
 
Taller de Arduino en Cylicon Valley - Semana 2
Taller de Arduino en Cylicon Valley - Semana 2Taller de Arduino en Cylicon Valley - Semana 2
Taller de Arduino en Cylicon Valley - Semana 2
 
Presentación unidad 5: Programación de Sensores y Actuadores con ArduBlock
Presentación unidad 5: Programación de Sensores y Actuadores con ArduBlockPresentación unidad 5: Programación de Sensores y Actuadores con ArduBlock
Presentación unidad 5: Programación de Sensores y Actuadores con ArduBlock
 
Manual arduino programació
Manual arduino programacióManual arduino programació
Manual arduino programació
 
Arquitectura exposicion acceso memoria directa y transistores
Arquitectura exposicion  acceso memoria directa y transistoresArquitectura exposicion  acceso memoria directa y transistores
Arquitectura exposicion acceso memoria directa y transistores
 
Usart
UsartUsart
Usart
 
Presentacion
PresentacionPresentacion
Presentacion
 
Decodificadores
DecodificadoresDecodificadores
Decodificadores
 
Contador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionContador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacion
 
Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...Características sumadore, multiplexores, codificadores, decodificadores y muc...
Características sumadore, multiplexores, codificadores, decodificadores y muc...
 
Instituto tecnologico de tuxtepec
Instituto tecnologico de tuxtepecInstituto tecnologico de tuxtepec
Instituto tecnologico de tuxtepec
 
Unidad 1: Comenzando con arduino
Unidad 1: Comenzando con arduinoUnidad 1: Comenzando con arduino
Unidad 1: Comenzando con arduino
 
Tutorial proton part 2
Tutorial proton part 2Tutorial proton part 2
Tutorial proton part 2
 
Leccion 3 y4_2tp1ene2011
Leccion 3 y4_2tp1ene2011Leccion 3 y4_2tp1ene2011
Leccion 3 y4_2tp1ene2011
 
Ejercicio 03 Porticos
Ejercicio 03 PorticosEjercicio 03 Porticos
Ejercicio 03 Porticos
 
08 Memoria de los Atmega164P
08 Memoria de los Atmega164P08 Memoria de los Atmega164P
08 Memoria de los Atmega164P
 
Instituto tecnologico de tuxtepec
Instituto tecnologico de tuxtepecInstituto tecnologico de tuxtepec
Instituto tecnologico de tuxtepec
 
Electrónica de potencia
Electrónica de potenciaElectrónica de potencia
Electrónica de potencia
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 

Similaire à Cubo de LEDs controlado por microprocesador

Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
Daniel Remondegui
 

Similaire à Cubo de LEDs controlado por microprocesador (20)

Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Arquitectura de la PC-I
Arquitectura de la PC-IArquitectura de la PC-I
Arquitectura de la PC-I
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
NCO
NCONCO
NCO
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
Laboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docxLaboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docx
 
Semana6
Semana6Semana6
Semana6
 
Dispositivos electronicos
Dispositivos electronicosDispositivos electronicos
Dispositivos electronicos
 
Robótica Educativa TEMA 2 (3).pptx
Robótica Educativa TEMA 2 (3).pptxRobótica Educativa TEMA 2 (3).pptx
Robótica Educativa TEMA 2 (3).pptx
 
Control nivel luz
Control nivel luzControl nivel luz
Control nivel luz
 
Robotica2
Robotica2Robotica2
Robotica2
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Informe dav
Informe  davInforme  dav
Informe dav
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Introduccion_a_los_Microcontroladores_v2.ppt
Introduccion_a_los_Microcontroladores_v2.pptIntroduccion_a_los_Microcontroladores_v2.ppt
Introduccion_a_los_Microcontroladores_v2.ppt
 
Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2
 
Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 

Dernier (6)

477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptx
 
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptx
 
Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y software
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
 

Cubo de LEDs controlado por microprocesador

  • 1. Cubo de LEDs controlado por microprocesador Autores: Víctor Silvero Marcelo Mendoza Alumnos de Ingeniería Electrónica, UCA.
  • 2. Especificaciones O Cubo de 4x4x4 = 64 diodos LEDs, dispuestos en 4 pisos de 16 diodos cada uno.
  • 3. O 5 efectos programados, más un modo automático que junta todos los efectos. O Botón para cambiar efectos. O Potenciómetro para configurar la velocidad del efecto en curso. Especificaciones
  • 5. Hardware O Microcontrolador Tiva C Series TM4C123GH6PM, de Texas Instruments. Cuenta con el procesador ARM Cortex M4, de 80MHz de frecuencia, registros de 32bits, también cuenta con 256 kBytes de flash, además de una unidad de punto flotante.
  • 6. O Se utiliza el Convertidor Analógico-Digital (ADC) del micro, para leer el voltaje que proporciona el potenciómetro. O Se utiliza, además, contadores, que son periféricos con los que cuenta el micro. Hardware
  • 7. Hardware O Los LEDs están conectados por los ánodos en una columna, y por las cátodos para constituir un piso. O Cada LED cuenta con un transistor conectado a su ánodo (columna), y otro a su cátodo (piso). RLED00 10 RBCOL00 1.5k PINCOL00 Q57 PN2907A LEDCOL00 QP10 PN2222 RBPISO 470 PINPISO VCC 0 RLED01 10 RBCOL01 PINCOL01 Q58 PN2907A LEDCOL01
  • 8. O Para encender un LED, se debe saturar el transistor columna: el pin conectado a la base debe proveer un voltaje de nivel BAJO, pues es PNP, por el emisor fluye la corriente de la fuente, y va por el colector, pasa por la resistencia, llega al LED hasta encontrar la tierra. La tierra es referenciada por el transistor de piso, el cual se debe saturar con un voltaje de nivel ALTO en su base, entonces, la corriente que fluye desde el LED, viene por el cátodo y va al emisor, que finalmente está a tierra. Funcionamiento
  • 9. Limitaciones O La potencia está limitada por la potencia máxima que puede entregar el microcontrolador. O La estructura del cubo limita la variedad de efectos realizables (aunque se puede remediar por software).
  • 10. O El código está hecho en lenguaje C. O Los registros de datos de los puertos de salida son de 32 bits, contados de derecha a izquierda, indicando que el n- ésimo bit corresponde al pin n-ésimo del puerto en cuestión. O Se configuran los puertos del micro para utilizarlos como salida. Básicamente, se “escriben” en las direcciones de los registros de propósito general, un número de 32 bits, que contendrá un 1 en una determinada posición, especificando un voltaje HIGH de salida, o un 0 en caso contrario. Por ejemplo: GPIO_PORTB_DATA_R = 0x00000003; (...00000011) Indica que al pin 0 y al pin 1 del puerto B, se le asignarán un voltaje HIGH. Software
  • 11. O Por ello, el código cuenta con funciones que simplemente cambian los valores de los registros de datos de los puertos, que a un lenguaje de bajo nivel serían funciones que “encienden” o “apagan” un LED. Simplemente asignan 1s (unos) o 0s (ceros). void encender_led_piso1_col01(void) { GPIO_PORTA_DATA_R |= 0x04; GPIO_PORTE_DATA_R &= ~0x10; } void apagar_col01(void) { GPIO_PORTE_DATA_R |= 0x10; } Software
  • 12. O Timers: se los utiliza para producir retardos entre el encendido y apagado de cada LED, para que así se puedan generar los efectos. En el código se encuentra una función que recibe como parámetro la cantidad de tiempo a esperar, y en base a eso, genera el retardo correspondiente, automáticamente, ya que es un periférico del micro, al cual se lo configura previamente para que cuente un tiempo que es múltiplo del periodo del micro (inverso de la frecuencia de operación), O ADC: De acuerdo al número que devuelve el ADC, que a su vez, recibe el voltaje proporcionado por el potenciómetro, lo que se hace con ese número es cambiar el tiempo que se retarda entre el encendido y apagado de cada LED, causando esto una transición “más rápida” en el efecto de encendido. Software
  • 13. O Ejemplo de una parte del código, para generar un efecto. encender_led_piso1_col00(); if(boton_apretado){ return; } Retardo_Timer0A(3); apagar_col00(); encender_led_piso1_col01(); Retardo_Timer0A(3); if(boton_apretado){ return; } apagar_col01(); Software
  • 14. O Filtrado por software de rebotes al presionar el botón. Todo botón de por sí, tiene rebotes al momento de pulsarlo, y al momento de soltarlo. Esta situación puede generar problemas minuciosos y sensibles en tareas donde se requiere precisión. Los Timers tienen la capacidad de que, cada que termine el conteo periódico, se “atiende” a la fuente de interrupción (si está configurada), y luego vuelve a contar. Software
  • 15. Software utilizado para programación O Keil uVision 4 – IDE (Integrated Development Environment) Solución completa de desarrollo de software para microcontroladores basados en ARM e incluye todos los componentes que se necesita para crear, construir y depurar programas (debug) y aplicaciones a ser cargadas, soporte para dispositivos Cortex-M, incluyendo la nueva arquitectura ARMv8-M. Incluye compiladores de C / C++ con ensamblador, enlazador.
  • 16. Cubo de LEDs O Imágenes del encendido.
  • 17. Muchas gracias por su atención.