Autor Tema: Cómo lee un pic una "entrada"?  (Leído 2864 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Cómo lee un pic una "entrada"?
« en: 14 de Marzo de 2016, 19:18:48 »
Buenas tardes, amigos del foro, estoy necesitando saber que señal lee el pic 16f628A o quizá todos los pic´s tengan la misma manera de leer los sensores.
Tengo  instalado en el pin (entrada) ra0 un sensor de presión N/A a masa y una resistencia de 10k a +5v. Está diseñado para que dicha entrada tenga permanentemente un 1 lógico. Cuando pulso el sensor la entrada en cuestion se pone en 0 logico. En ese instante, cuando la entrada se hace "0", la salida ra1 enciende un led por 3 segundos.
Mi problema es el siguiente: Si conecto el circuito con el pulsador apretado, es decir con un "0" desde el inicio la condición (si ra0=0) no se cumple, o sea que el led en ra1 no enciende. ¿Porqué no enciende el led si en la entrada hay un "0"?.
¿Será que la condición (si ra0=0) lee el umbral de bajada?
Alguna respuesta será bien recibida.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Cómo lee un pic una "entrada"?
« Respuesta #1 en: 14 de Marzo de 2016, 19:28:56 »
Sin entrar en lo de Nipple, no hay muchos pines que realmente detectan flanco en los PICs, uno es el RB0 casi siempre, todo lo demas es por nivel, es decir 1 o 0 logico.

La unica es que el programa tenga algo que no solo busque la condicion de si RA=0 sino que ademas espere que se suelte, o espere que este en 1 desde el comienzo.

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re:Cómo lee un pic una "entrada"?
« Respuesta #2 en: 15 de Marzo de 2016, 19:59:45 »

La unica es que el programa tenga algo que no solo busque la condicion de si RA=0 sino que ademas espere que se suelte, o espere que este en 1 desde el comienzo.

Estas en lo cierto KILLERJC. La entrada Ra0 esta configurada dentro de la interrupción Rb4 a Rb7 y entonces ocurre que la interrupcion actua como vos explicas más arriba. Luego probé sin interrupcion, como una entrada común  y entonces se comportó como lo quería de un principio. Arranca el programa con el sensor en "0" y lo toma como tal, encendiendo el led de Ra1 el tiempo que le programé.

Gracias amigo.