¿ Cómo activo una tarjeta de 8 reles que lleva un CD 4099 Addressable ?

Para tratar de hacerla corta:
Lo que está proponiendo xzjuanc es bastante "ridículo", por que que ha armado un circuito diseñado para excitarlo en binario desde un microprocesador y quiere adaptarlo para que funcione desde 8 interruptores independientes, para lo cual debe diseñar una lógica digital que codifique cada pulsador en un código de tres bits (y lo más simple es usar un codificador de prioridades) mas un generador de pulsos... y todo eso solo para desarmarlo con la lógica que ya tiene armada, que hace lo opuesto.

La respuesta correcta está en el post #2 y no hace falta usar NADA de electrónica al medio, por que lo unico que va a lograr es una pérdida de confiabilidad, y eso en un vehículo es inadmisible.

Vamos.... las ideas están muy buenas pero son completamente inútiles para este caso.
 
Buenos días, Torres

Me quedó clarísimo, tu propuesta de los PICAXE supera mis expectativas, la cuál lo tomaré, pues leyendo tus libros a grandes rasgos en realidad minimiza y hace menos laborioso y mas acorde a nuestros tiempos.
Del circuito que hice utilizaré los relés, transistores y algunos.

Amigos del Foro, agradezco sus comentarios, enseñanzas e instrucciones.

Estaré en contacto proximamente.

Unos abrazos.
 
Tal cual, seria bueno que lo hagas con un PIC ya que seria mucho mas economico y tendrias mas posibilidades de controlar el 100% del micro, pero para ello, tendras que implementar una grabadora de microcontroladores que tiene su costo... igualmente en el foro hay un par de diseños de una grabadora JDM, que es sencilla y economica... como quieras, esta en tu desicion...
En el caso que quieras hacerlo con PICAXE, este es el programa del circuito abreviado:

Código:
symbol RELAY1 = 1                    ;definimos y o nombramos la salida 1 con el nombre de RELAY1
symbol RELAY2 = 2                    ;definimos y o nombramos la salida 2 con el nombre de RELAY2
symbol RELAY3 = 3                    ;definimos y o nombramos la salida 3 con el nombre de RELAY3
symbol RELAY4 = 4                    ;definimos y o nombramos la salida 4 con el nombre de RELAY4
symbol RELAY5 = 5                    ;definimos y o nombramos la salida 5 con el nombre de RELAY5
symbol RELAY6 = 6                    ;definimos y o nombramos la salida 6 con el nombre de RELAY6
symbol LED = 7                       ;definimos y o nombramos la salida 7 con el nombre de led
symbol salidaSTROBO = b0             ;definimos y o nombramos la variable b0 con el nombre de salidaSTROBO 
symbol bandera = b1                  ;definimos y o nombramos la variable b1 con el nombre de bandera

Inicio:
low RELAY1                           ;apagar salida1
low RELAY2                           ;apagar salida2
low RELAY3                           ;apagar salida3
low RELAY4                           ;apagar salida4
low RELAY5                           ;apagar salida5
low RELAY6                           ;apagar salida6
low LED                              ;apagar led 
pause 100                            ;pequeño retardo

menu:                                ;etiqueta principal llamada "menu"
if input0 = 0 then gosub R1          ;si la entrada0 es igual a 0 ir a la etiqueta R1
if input1 = 0 then gosub R2          ;si la entrada1 es igual a 0 ir a la etiqueta R2
if input2 = 0 then gosub R3          ;si la entrada2 es igual a 0 ir a la etiqueta R3
if input6 = 0 then gosub R4          ;si la entrada3 es igual a 0 ir a la etiqueta R4
if input7 = 0 then gosub R5          ;si la entrada4 es igual a 0 ir a la etiqueta R5
if bandera=1 then                    ;consigna:si la variable bandera es igual a 1 entonces...
high RELAY5:low RELAY6               ;activar salida5 - desactivar salida6
pause 500                            ;pequeña pausa
low RELAY5 : high RELAY6             ;desactivar salida5 - activar salida6
pause 500                            ;pequeña pausa
endif                                ;fin de la consigna 
goto menu                            ;LOOP - ir a la etiqueta menu  

R1:                                  ;etiqueta R1
high LED                             ;encender led de pulsador presionado
if input0 = 0 then goto R1           ;si el pulsador de la entrada 0 sigue presionado volver a la etiqueta R1
pause 100                            ;pequeño retardo
low LED                              ;apagar led indicador de pulsador presionado
toggle RELAY1                        ;cambiar estado de la salida 1 (si esta encendido, se apaga y viceversa)
return                               ;volver y seguir en la linea siguiente de donde partio con "gosub"

R2:
high LED
if input1 = 0 then goto R2
pause 100
low LED
toggle RELAY2
return

R3:
high LED
if input2 = 0 then goto R3
pause 100
low LED
toggle RELAY3 
return

R4:
high LED
if input6 = 0 then goto R4
pause 100
low LED
toggle RELAY4
return

R5:                                  ;etiqueta R5
high LED                             ;encender led de pulsador presionado
if input7 = 0 then goto R5           ;si el pulsador de la entrada 0 sigue presionado volver a la etiqueta R5
pause 100                            ;pequeño retardo
low LED                              ;apagar led indicador de pulsador presionado
if bandera >= 1 then                 ;si la variable bandera es igual a 1 entonces...
bandera=0                            ;re-asignamos nuevo valor a la varible, osea "cero" 
low RELAY5                           ;apagar salida5
low RELAY6                           ;apagar salida6
return                               ;volver y seguir en la linea siguiente de donde partio con "gosub"
endif                                ;fin consigna
bandera=1                            ;asignamos el valor de "uno" a la variable bandera
return                               ;volver y seguir en la linea siguiente de donde partio con "gosub"

;NOTA: la implementacion de la variable bandera, seria algo asi como emplear una memoria de autoenclavamiento; 
;En este caso en particular, usamos esta variable para indicar que se presiono el pulsador de esa salida y activa
;la salida...Si se vuelve a pulsar, la desactiva.,

y este el circuito con el PICAXE18X
F_E_Picaxe.jpg
Lo que hice en este progama y seguro que hay que modificar para que sea de tu gusto y pedido, es controlar los relay con los pulsadores ... los ultimos led que ves en linea, se activan secuencialmente como los estrobo de laas ambulancias u balizas...
Para saber si estamos presionando el pulsador, sume tambien un led extra que te indica que se esta pulsando cualquier pulsador y hasta que no lo sueltes, no se apagara y por ende, no hara la funcion determinada ese pulsador... ahora te hago un video para que puedas verlo... igualmente, si tenes proteus, te subi el archivo y todo lo que necesitas para simularlo



acá esta el video de la simulacion:


Si queres mas entradas (pulsadores) y mas salidas, tenesque migrar a un picaxe 28X u 40X...
 

Adjuntos

  • F_E_PICAXE.rar
    176.1 KB · Visitas: 19
Última edición:
Buenos días, amigos del foro

A decir verdad de que esperaba una alternativa, sin embargo salí con 3 alternativas y sobre todo actuales y modernas (reduce espacios, menos componentes, más eficiente y minima tiempos, pero se requiere conocimientos); en donde obsoletó mi circuito muy complejo...que más habrá en tanto arenal de conocimientos.
Bién pués amigos, me decidí por PIACXE....

Un fuerte abrazo Torres, Meza, fan2006.....y a todos los amigos del foro. Soy su aprendiz.

Hasta pronto.
 
Atrás
Arriba