TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: tidustag en 01 de Mayo de 2016, 01:31:50

Título: Consejos para un programa PIC16F88
Publicado por: tidustag en 01 de Mayo de 2016, 01:31:50
Qué tal soy nuevo en este foro y es muy genial la verdad, quisiera , si es posible, que me den alguna orientación sobre un problema que tengo, es el siguiente:

Se necesita un ventilador extractor para un baño y que cumpla con los siguientes requerimientos:

-cuando se cierre la puerta de dicho  baño, se debe de encender el ventilador de 220Vac

-cuando la puerta del baño se abre(después de haber estado cerrado) el ventilador tendrá que  permanecer encendido por tiempo de 3 minutos.
  si en ese tiempo se cierra y abre la puerta se  reiniciará la cuenta de 3 minutos para luego desconectar el ventilador.

-durante dicho tiempo se titilará un led a razón de 1 segundo.


Creo que es necesario usar interrupción externa por RB0, gracias de antemano, saludos!
Título: Re:Consejos para un programa PIC16F88
Publicado por: QIQE en 01 de Mayo de 2016, 07:35:14
Cual es el problema que te ha surgido??
Como comentas seguramente tengas que usar una interrupción externa.
Y casi seguro que un Timer también, pero no nos enseñas tu código para poder ayudarte.
Título: Re:Consejos para un programa PIC16F88
Publicado por: tidustag en 01 de Mayo de 2016, 10:24:58
Gracias por el interés, lo que quisiera es consejos para partir en este proyecto, alguna idea o sugerencia, gracias de antemano.
Título: Re:Consejos para un programa PIC16F88
Publicado por: KILLERJC en 01 de Mayo de 2016, 11:07:19
Para lo que comentas no necesitas instrucciones.

Veamos no es algo "prioritario" que se active o desactive apenas detecta la puerta, sino que puede demorar 1 segundo. TU programa en pseudocodigo quedaria asi:

Loop:
      Delay de 1s ( este delay es para todo, te sirve de antirebote, para el led, etc )
      Puerta abierta?
      NO-> Ir a descontar tiempo
      SI -> Cargo el contador con el valor 180 (que espere nuevamente los 3 minutos), enciendo y apago el led segun como este, Voy a Loop

Descontar tiempo:
      Restar 1, al registro contador que posee los segundos a esperar ( 3minutos = 180 segundos )
      Contador = 0?
      SI -> Apago motor, Voy a Loop
      NO -> Voy a Loop
   
PD: Para el sensor de la puerta, buscate esos swith magneticos que se ponen con las alarmas como estos:

(http://mlm-s1-p.mlstatic.com/lamparas-proyectores-pantallas-237911-MLM20670416624_042016-Y.jpg)
Que adentro uno tiene el iman ( el que va en la puerta ) y el otro el micro swtich magnetico este que va en el marco:
(http://mlm-s1-p.mlstatic.com/tarjetas-controladoras-componentes-pc-857611-MLM20618865980_032016-Y.jpg)