InicioCiencia EducacionSecuenciador de luces programables
Hola gente, he decidido rehacer el post del secuenciador ya que debido a los nuevos protocolos de taringa no cumplía ciertas pautas y me lo tuvieron que eliminar.

Vamos a ser breve y conciso con el funcionamiento del mismo. Este secuenciador de luces programables usa como controlador principal un PIC16F84A el cual se programa de tal manera que al leer el estado de tres interruptores switch en la entrada ,es posible obtener 8 efectos y secuencias diferentes a la salida.

El Pic:



Para tener una mejor idea, en la siguiente imagen se muestra un esquema de este secuenciador



Descripcion del esquema:

Placa 1: Fuente de alimentacion +5v
Placa 2: Placa del microcontrolador PIC16f84a
Placa 3: Placa de control de potencia (Esta placa permite el control de las lamparas)
Placa 4: Placa fusilera (Para cada una de las lamparas)
Placa 5: Esta es una placa auxiliar, en ella estan conectados el interruptor maestro de encendido de todo el sistema y el interruptor de encendido de la placa de potencia, el fusible general también debe estar ubicado en esta placa.

El modelo del panel frontal se muestra en la siguiente imagen, de todas maneras cada uno puede hacerlo a su manera.
En este panel podemos visualizar el interruptor maestro, el interruptor de encendido del circuito de potencia para las lamparas , los leds rojos indicadores de secuencia , los tres interruptores switch con sus respectivos indicadores de estado mediante leds verdes.




El Circuito de la placa 2:

Este es el circuito propuesto y se puede ver ademas los componentes a usar



Distribucion de pines del microcontrolador PIC16f84a:



Puertos A --> Puertos de lectura de switch

RA0: interruptor switch 1
RA2: interruptor switch 2
RA3: interruptor switch 3

Puertos B --> Puertos de salida a leds indicadores de secuencia

RB0...RB5 --> led 1...led 6

Podemos ver en el circuito de la placa 2 del microcontrolador los conectores (con 1 y con 2) los cuales deberian ir conectados a leds visualizadores de secuencia (a traves de con 1) y de indicacion de estados de switch(con 2).

Ejemplo de programa ensamblador para el PIC para un secuenciador de 8 bit de salida:

;;;;;;nota: Este programa usa los 8 bit del puerto B de salida del pic16f84 , en el caso de usar menos salidas, recordar que en la tabla de efectos el bit menos significativo (correspondiente al RB0) es el bit leido de derecha a izquierda en el comando retlw b'11111110';;;;;;;;

include"p16f84a.inc" ;En esta linea se especifica la biblioteca que incluye los registros definidos
radix hex ; Esta linea indica litelares(constantes) expresados en formato hexadecimal


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; igualdades de la CPU y el mapa de memoria;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
reg equ 0x0c
con1 equ 0x0d
con2 equ 0x0e
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;; inicio del programa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org 0
goto inicio

inicio bsf status,rp0 ; cambio al banco 1 para configurar el pic
movlw 0xff ;puerto A como entrada
movwf trisa; puerto A como entrada
movlw 0x00 ;puerto B como salida
movwf trisb;puerto B como salida
bcf status,rp0 ;cambio al banco 0
clrf portb ;apago los leds a la salida
clrf con1;valor inicial de contador 1 igual a 0x00
clrf con2;valor inicial de contador 2 igual a 0x00

;;;;;;;;;;;;;;;;;;;;;; Lectura del puerto A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
leer movf porta,w
sublw 0x00 ;si el valor del puerto A es 0x00 implemento efecto_uno
btfsc status,z
goto efecto_uno
movf porta,w
sublw 0x01 ;si el valor del puerto A es 0x01 implemento efecto_dos
btfsc status,z
goto efecto_dos
movf porta,w
sublw 0x02 ;si el valor del puerto A es 0x02 implemento efecto_tres
btfsc status,z
goto efecto_tres
movf porta,w
sublw 0x03 ;si el valor del puerto A es 0x03 implemento efecto_cuatro
btfsc status,z
goto efecto_cuatro
movf porta,w
sublw 0x04 ;si el valor del puerto A es 0x04 implemento efecto_cinco
btfsc status,z
goto efecto_cinco
movf porta,w
sublw 0x05 ;si el valor del puerto A es 0x05 implemento efecto_seis
btfsc status,z
goto efecto_seis
movf porta,w
sublw 0x06 ;si el valor del puerto A es 0x06 implemento efecto_siete
btfsc status,z
goto efecto_siete
movf porta,w
sublw 0x07 ;si el valor del puerto A es 0x07 implemento efecto_ocho
btfsc status,z
goto efecto_ocho
goto leer

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BLOQUE DE EFECTOS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
efecto_uno movlw 0x09;se coloca literal 9 porque cada efecto tiene 8 secuencias
movwf reg
leo_uno decfsz reg,f
goto fx_uno
goto leer

fx_uno movf reg,w
call tabla_uno
movwf portb
call retardo
goto leo_uno

tabla_uno addwf pcl,f ;;; tabla de secuencia de efecto_uno
return
retlw b'01111111'
retlw b'10111111'
retlw b'11011111'
retlw b'11101111'
retlw b'11110111'
retlw b'11111011'
retlw b'11111101'
retlw b'11111110'



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ACA DEBERIAN IR LOS DEMAS BLOQUES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DE LOS EFECTOS RESTANTES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




retardo decfsz con1,f ;; bloque retardo
goto retardo
decfsz con2,f
goto retardo
return

end



NOTA: En la linea comentada en rojo agreguen los efectos restantes . Deberian copiar todo el bloque del efecto uno y cambiar donde dice xxxxxx_uno por el numero de efecto correspondiente, a su vez tengan en cuenta su tabla de secuencia del mismo para el cual el '0' indica led encendido. Cambien la secuencia del efecto en la tabla por ejemplo:

tabla_xx addwf pcl,f ;;; tabla de secuencia de efecto_xx
return
retlw b'01111110'
retlw b'10111101'
retlw b'11011011'
retlw b'11100111'
retlw b'11100111'
retlw b'11011011'
retlw b'10111101'
retlw b'01111110'



Una vez dicha la parte de la programación , el otro circuito importante es el de potencia que maneja las lamparas de 220v, para ello el circuito siguiente muestra el esquema con el cual me base para realizarlo, usando triac TIC226 y optoacopladores MOC3041 o MOC3011.
El siguiente esquema muestra cuatro canales, los demas canales pueden adaptarse en paralelo:




Bueno gente, cabe aclarar que en este post tan solo muestro el esquema y circuito de las dos placas principales tanto del PIC como la de Potencia , la placa de la fuente de alimentacion usa un regulador de voltage LM7805 para alimentar la placa del circuito del PIC , hay muchos esquemas en internet de circuitos de fuente de alimentacion para implementar asi que no voy a entrar en detalles.Las placas restantes solo fueron auxiliares para que en mi diseño de la consola de luces me quedaran esteticamente bien separadas y organizadas pero podrian haberse implementado en una sola placa. Me despido con un video del secuenciador funcionando en donde solo uso 2 canales de los 6 canales disponibles en mi consola (podria usarse hasta ocho canales), bien amigos saludos y nos vemos la proxima.


Datos archivados del Taringa! original
54puntos
8,040visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
6visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
dynamico🇦🇷
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.