FAQ FAQ  •  Buscar Buscar  •  Registrarse Registrarse  •  Entre para ver sus mensajes privados Entre para ver sus mensajes privados
Login Login

Contador de dos switch
Índice de los Foros Electronica Facil » FOROS ELECTRONICA » Electronica Digital
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
AutorMensaje
Mikemical
Asunto: Contador de dos switch MensajePublicado: 17 Jul, 2016 - 10:59
Nuevo en el Foro
Nuevo en el Foro


Registrado: 17 Jul, 2016
Mensajes: 2

Buenas tardes, ante todo un cordial saludo.

He estado teniendo problemas con el diseño de un circuito con display de 7 segmentos, el cual debe funcionar de la siguiente manera:

Hay dos switches, A y B. El circuito debe funcionar de manera tal que cuando se presione A y luego B, el contador y el display aumente en 1. Por el caso contrario, si se presiona primero B y luego A, el contador decrece en 1.

En terminos de lenguaje de programación, vendría siendo algo más o menos así:

a > b = ++, b>a =--

ó

if(previousbutton==a && currentbutton==b)

Muchas gracias de antemano. Very Happy
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
rina
Asunto:  MensajePublicado: 20 Jul, 2016 - 09:26
Fanatico de la Electronica
Fanatico de la Electronica


Registrado: 14 Ago, 2005
Mensajes: 1891

pongamos que eso que quieres es el principio de funcionamiento de un encoder rotativo. creo que tengo suvida alguna subrrutina o incluso mejoras de la misma subrrutina. solo que para evitar revotes crequeco no cuando se pulsan sino cuando se sueltan aparte que permite que el progrma detecte mejor el paso y evita rebotes. en un enconder de un raton es diferente hay si estar obligado a tener el programa o las interruciones de canvio de estado de los pines activos.

otro de mis consejos..
esta expresion esta mal

a > b = ++, b>a =--

primero seria

a>b : a=b : b=0 decrementa bariable
b>a : b=a : a=0 incrementa bariable

piensa que en un integrado los pulsadores sules configurarlos como pull-up a 1 y cuando se pulsa da un 0

otra que no esta muy bien espresada ano ser que necesites usar un else (pongamos que su compilacion ocupa muchas instrucciones, y para encima tanto programador forero de los que se creen tanto las usan sin para sin darse cuenta que relentizan el codigo por añadir muchas instrucciones)

if(previousbutton==a && currentbutton==b) then xxxxxx

es lenta y ocupa unas 17 instruciones de comando mas que

if previousbutton==a then
if currentbutton==b then
endif

esto ocuparia 17 procesos menos +- ala ora de compilarse tanto para c como para basic. metele 7 de esas y saturaras el pic a lo chapuzas..

pero que vamos realmente ese no es tu problema..

lo primero que tendrias que chequear es que pulsador se a pulsado primero almacenarlo en una bariable como alias y despues si se pulsa el otro hacer la accion de sumar o restar..
si fuera al soltar el pulsador seria algo diferente en el programa podrias estar rodando tranquilamente asta que a y b fueran cero y despues esperar a que se suelten los dos y crequear cual fue el ultimo en soltarse. es relativo segun se mire..

lo de crear un alias de los pines en una bariable es o comun para como quieres en una respuesta insofacta y usando la interruccion de cambio de estado de las patillas (date cuenta que el integrado tiene que tener tambien esta posivilidad aunque todos los pic tienen almenos 4 patillas de este tipo aparte de la int que seria por el blanco si es ascendente o descendente..

espero que te sirva un saludo
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
Mikemical
Asunto:  MensajePublicado: 27 Jul, 2016 - 03:38
Nuevo en el Foro
Nuevo en el Foro


Registrado: 17 Jul, 2016
Mensajes: 2

Gracias por tu respuesta rina.



Esto es mas o menos lo que he simulado hasta ahora sin usar PIC. Mi pregunta es si hay otra forma de hacerlo sin usar el PIC, es decir, compuertas logicas o algo similar.



ss+(2016-07-26+at+10.38.46).png

Clik para agrandar


 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
rina
Asunto:  MensajePublicado: 30 Jul, 2016 - 03:56
Fanatico de la Electronica
Fanatico de la Electronica


Registrado: 14 Ago, 2005
Mensajes: 1891

bufff. anda que me llevo unas horas un par de dias mal entender todavia ese integrado..

pero me da que es un comparador binario de 4bit segun la tabla de la verdad.

las entradas a>b a=b y a<b y la salida es para ir compajinando unos cuentos en serie de esos lo cual que no necesitarias usarlo (tendrias que dejarlos sin conectar) simplemente manejando a0 y b0 para cada pulsador. lo que no entiendo es por que conectas la entrada serial a otra masa y no a masa comun y apoarte que necesitarias un par de integrados de esos para acer la secuencia entera de pulsar a despues b suba pulsarb y luego a y baje (tiene que aver otro integrado mas sencillo para hacer eso) vas a necesitar el paso a=b memorizando cual fue el anterior una vez esto que no detecte el paso..

aver si me esplico mejor
pulso a lo cual a>b espero el siguente paso que tendria que ser a=b (si no es asi parar el proceso incremento decremento) en caso de un encoder rotativo el siguiente paso a<b tendria tambien que pasarse de el y empezar siempre desde a=b siendo ambos 1

repito.. pulsadores pull-up detectando sin pulsar a0=1 b0=1
pulsamos a
a<b
lo cual que detectamos que es para incrementar o decrementar un balos como queramos

el siguiente paso para la secuencia es que los dos esten pulsados lo cual a0=0 b0=0
a=b
en este momento es cuando incrementamos el valor al otro integrado y esperamos que asea igual a b estando en estado alto buelta otra vez a a0=1 b0=1

lo que no entiendo para que ese proceso tan raro aparte tendria que aver otra manera de acerlo. conun microcontrolador esta claro te sandria mucho mas barato hombre si no vas a comprarte uno de la serir 18f o superior. todo es relativo alo que necesites y economizar y reducir el circuito

un saludo
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
rina
Asunto:  MensajePublicado: 30 Jul, 2016 - 04:02
Fanatico de la Electronica
Fanatico de la Electronica


Registrado: 14 Ago, 2005
Mensajes: 1891

y una pregunta ese integrado que era usado mara maquinas pinball, porque no me cuadre ninguna utilidad diferente?? o ala hora de comprara balores binarios de display antiguos o despertadores de la epoca??

un saludo
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
Mostrar mensajes anteriores:     
Cambiar a:  
Todas las horas son GMT + 1 Hora
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
 Índice de los Foros Electronica Facil » FOROS ELECTRONICA »  Electronica Digital
powered by phppowered by MySQLPOWERED BY APACHEPOWERED BY CentOS© 2004 - 2017Información LegalPrensa