Saludo cordial a todos los foreros, hoy solicito amablemente su colaboracion y es que se me presento el siguiente inconveniente con el temporizador de mi horno de secado UV, simplemente dejo de trabajar, cuando lo destape, era uno de esos temporizadores cuyo micro es de tipo gota, como quien dice...murio su sistema de temporizacion, por lo que me puse en la tarea de reemplazarlo y como no domino muy bien la programacion en pbp, use el buscador del foro y encontre que reyvilla y darkbytes, ya habian tratado el tema, incluso postearon unos programas con simulacion y todo y aunque no pude entender su programa, andan muy bien en proteus y seguramente tambien lo haran en fisico, especialmente el temporizador regresivo de darkbytes, esta bien completo y valga la oportunidad de agradecerles ya que personas como ellos me han dado su valiosa colaboracion en otras oportunidades y me han sacado de multiples dudas.
La cuestion es que quisiera realizar algo similar a los temporizadores regresivos de estos expertos, pero en lugar de emplear un lcd para indicar el tiempo que falta para terminar la temporizacion, habia pensado en emplear dos display de 7 segmentos de catodo comun, ya que proveen buna visualizacion en cualquier ambiente de luz y seguro que entendere como generar un algoritmo o una base de tiempo para lograr que el programa realize el conteo regresivo, que para mi caso me gustaria que comienze en 15 minutos y finalice en cero minutos, no es necesario que indique segundos, solo que vaya descendiendo minuto a minuto, tampoco sera necesario ningun ajuste, tan solo el boton de reset y el de start, este ultimo no deberia funcionar hasta tanto el contador llegue al final,esto con el proposito de no incrementar o desajustar el conteo accidentalmente.
Podria ser que el conteo quede almacenado en la eeprom del pic, por si el fluido de energia llegara a fallar y retorne instantes despues, aunque no es imprescindible, si me gustaria entender como se almacena dicho dato, porque no lo tengo claro.
En resumen lo que me propongo es: al presionar START (RA4) comienza la cuenta regresiva de los 15 minutos, el puerto b gestionaria el encendido de los display de catodo comun, (escogi estos para mayor comprension del programa, ya que se activan con high), RB7 se encarga de avisar cuando el tiempo de conteo ha llegado al final enviando puede ser un tono intermitente durante unos 3 segundos a un buzer, RA0 y RA1 polarizan un par de transistores para crear el efecto de la vision persistente (multiplexado), RA3 maneja un led de forma intermitente mientras el conteo se este efectuando, cuando llega a cero, este se apaga, RA2 maneja otro led que se mantiene encendido de manera fija mientras el conteo se efectua cuando llega a cero, se apaga (aqui debo colocar la etapa de potencia), por ultimo, el RESET me permite setear el programa a cero en cualquier momento del conteo
Al terminar el conteo debe permanecer el display en 00 hasta que la cuenta inicie con START y de ser posible guardar el conteo si se interrumpe el flujo de energia. START no debera funcionar de ningun modo mientras se realiza el conteo.
Como ven muchas de las prestaciones del hardware son tomadas del m,odelo de darkbytes.
No se como comenzar a realizar el programa en PBP, salvo la declaracion de algunas variable que sospecho no esten completas, mucho menos crear un algoritmo que me permita crear una base de tiempo para que funcione, no he realizado ningun ejercicio en el que involucre bases de tiempo que se vean reflejadas en 7 segmentos, tan solo algunos contadores que funcionan a base de pulsos de entrada, lo basico. Espero puedan darme luz sobre este ejercicio/proyecto que me propongo desarrollar para llegar a buen termino, mi intencion es entender y aprender ya que si solo quisiera reparar mi maquina, me habria bastado con montar el temporizador de reylilla o darkbytes o cualquier otro, que al ser de LCD se ven mucho mejor presentados y con mayores prestaciones y hacen la funcion que se necesita, pero quiero algo que pueda analizar y entender, no he encontardo este proyecto con 7 segmentos por ningun lado, seguro que mas de uno tiene interes en como se encara este programa.
Adjunto una simulacion de como deberian gestionarse los puertos. mil gracias por su tiempo
La cuestion es que quisiera realizar algo similar a los temporizadores regresivos de estos expertos, pero en lugar de emplear un lcd para indicar el tiempo que falta para terminar la temporizacion, habia pensado en emplear dos display de 7 segmentos de catodo comun, ya que proveen buna visualizacion en cualquier ambiente de luz y seguro que entendere como generar un algoritmo o una base de tiempo para lograr que el programa realize el conteo regresivo, que para mi caso me gustaria que comienze en 15 minutos y finalice en cero minutos, no es necesario que indique segundos, solo que vaya descendiendo minuto a minuto, tampoco sera necesario ningun ajuste, tan solo el boton de reset y el de start, este ultimo no deberia funcionar hasta tanto el contador llegue al final,esto con el proposito de no incrementar o desajustar el conteo accidentalmente.
Podria ser que el conteo quede almacenado en la eeprom del pic, por si el fluido de energia llegara a fallar y retorne instantes despues, aunque no es imprescindible, si me gustaria entender como se almacena dicho dato, porque no lo tengo claro.
En resumen lo que me propongo es: al presionar START (RA4) comienza la cuenta regresiva de los 15 minutos, el puerto b gestionaria el encendido de los display de catodo comun, (escogi estos para mayor comprension del programa, ya que se activan con high), RB7 se encarga de avisar cuando el tiempo de conteo ha llegado al final enviando puede ser un tono intermitente durante unos 3 segundos a un buzer, RA0 y RA1 polarizan un par de transistores para crear el efecto de la vision persistente (multiplexado), RA3 maneja un led de forma intermitente mientras el conteo se este efectuando, cuando llega a cero, este se apaga, RA2 maneja otro led que se mantiene encendido de manera fija mientras el conteo se efectua cuando llega a cero, se apaga (aqui debo colocar la etapa de potencia), por ultimo, el RESET me permite setear el programa a cero en cualquier momento del conteo
Al terminar el conteo debe permanecer el display en 00 hasta que la cuenta inicie con START y de ser posible guardar el conteo si se interrumpe el flujo de energia. START no debera funcionar de ningun modo mientras se realiza el conteo.
Como ven muchas de las prestaciones del hardware son tomadas del m,odelo de darkbytes.
No se como comenzar a realizar el programa en PBP, salvo la declaracion de algunas variable que sospecho no esten completas, mucho menos crear un algoritmo que me permita crear una base de tiempo para que funcione, no he realizado ningun ejercicio en el que involucre bases de tiempo que se vean reflejadas en 7 segmentos, tan solo algunos contadores que funcionan a base de pulsos de entrada, lo basico. Espero puedan darme luz sobre este ejercicio/proyecto que me propongo desarrollar para llegar a buen termino, mi intencion es entender y aprender ya que si solo quisiera reparar mi maquina, me habria bastado con montar el temporizador de reylilla o darkbytes o cualquier otro, que al ser de LCD se ven mucho mejor presentados y con mayores prestaciones y hacen la funcion que se necesita, pero quiero algo que pueda analizar y entender, no he encontardo este proyecto con 7 segmentos por ningun lado, seguro que mas de uno tiene interes en como se encara este programa.
Adjunto una simulacion de como deberian gestionarse los puertos. mil gracias por su tiempo
Adjuntos
Última edición: