4 secuencias de luces con un solo pulsador

#1
hola a todos por favor su ayuda con este programa, quisiera que un pulsador por RB0 controle 4 secuencias de luces en forma escalonada es decir presiono el pulsador activa secuencia 1 luego presiono activa secuencia 2 y así sucesivamente, es factible de hacerlo con el pic?

gracias de antemano por su apoyo
slds :)
 

Adjuntos

#2
ese programas lo has echo tu??

donde esta tu rutina de Interupcion?
no veo donde definiste "Pulsador","Led"

sugerencia para la rutina:
define una variable que usaras como contador de secuencias..luego lo vuelves a cero cuando acabes, o algo que te permita identificar en que secuencia estas otro entre cada interrupción, utiliza retardo para evitar posibles rebotes

si tu preguntas, si es factible hacerlo con pic?--> porq no...
 
Última edición:
#3
#DEFINE Pulsador PORTB,0 ; Línea donde se conecta el pulsador.
si es lo que me falta hacer mi rutina de interrupcion y asociarlo a las secuencias
tienes una idea de como hacerlo?
 
#6
bsf STATUS,RP0 ; Acceso al Banco 1.
bsf Pulsador ; La línea RB0/INT se configura como entrada.
bcf LED ; Se configura como salida.
bcf OPTION_REG,NOT_RBPU ; Activa las resistencias de Pull-Up del Puerto B.
bcf OPTION_REG,INTEDG ; Interrupción INT se activa por flanco de bajada.
bcf STATUS,RP0 ; Acceso al Banco 0.
movlw b'10010000' ; Habilita la interrupción INT y la general.
movwf INTCON
CLRF PORTB ;Pone a cero la salida PORTB esperando la primera interrupcion por flanco de bajada.


toda esa parte la entiendo pero como puedo hacer para que funcione la secuencia
 
#7
Hola ! mira no soy un experto pero yo usaría un 4017 y usaría de clock el pulsador.
La salida 5 la conectaría a reset, cosa que al encender el circuito esté activado el circuito 1,
al apretar el pulsador el 2 , y así y cuando está en el cuatro y apretás de nuevo vuelve al 1.
Luego en cada entrada pones el circuito, creo poder ayudarte si me decís para que lo quieres.
 
Última edición por un moderador:
#8
claro tambien puede ser , lo que quiero es encender un led tricolor de 4 pines uno común y los otros azul, verde y rojo quiero encenderlos uno por uno y la cuarta secuencia seria alternar los tres colores con un tiempo determinado

slds.
 
#9
Pero tu programa lo que hace no es "uno por uno", más bien es "uno a uno".
En todo caso agrega un bcf entre LUCESX.

PD: Si ese fuera el caso... También se puede hacer con el 4017 y algo de circuitería adicional!!!

¿Ya aprendiste como poner las rutinas de Interrupción?

También es factible hacer una maquina de estados... Sin interrupciones :)
 
Última edición por un moderador:
#10
claro tambien puede ser , lo que quiero es encender un led tricolor de 4 pines uno común y los otros azul, verde y rojo quiero encenderlos uno por uno y la cuarta secuencia seria alternar los tres colores con un tiempo determinado

slds.
Lo Haces facilmente con el 4017 , el de 3 colores lo haces Flip-Flop si queres , es mas facil me parece que prgogramar un PIC
 

Temas similares


Arriba