Autor Tema: Poblemas con sensor de Alcohol y Pic 16f819  (Leído 1520 veces)

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

Desconectado guillermoc

  • PIC10
  • *
  • Mensajes: 3
Poblemas con sensor de Alcohol y Pic 16f819
« en: 07 de Agosto de 2015, 17:35:23 »
Hola, es la primera vez que escribo aunque si visito mucho este sitio, esto me llevó a decidirme a escribir aquí mi problema, el cual persiste por más tiempo de lo habitual y me está comenzando a preocupar  :5].
Estoy programado en PIC C y uso el pic 16f819 para que funcione como alcoholimetro, utilizo un display de siete segmentos para mostrar el valor decimal y dos leds que indicarán la parte entera (1 solo un led .. 2 indicado con dos leds encendidos) el problema es que no logro capturar o interpretar los valores que emite el MQ-3. hasta ahora en el display puedo determinar si hay o no alcohol (Salida digital) pero no se leer los datos analógicos. voy a adjuntar el programa que lee la entrada digital, quizás puedan ayudarme para modificarlo y poder leer los valores analógicos, utilizo cristal interno y AN1 para conectar el sensor MQ-3.
Mi idea es que, seguro recibo un valor en la variable que se carga con read_adc() pero no se que valor tiene, debería ser un valor entre 0 y 1024 pero no lo hallo. En un ratito pongo el programa porque no lo tengo en el trabajo, disculpas pensé que lo tenía en el pendrive.

Aquí está.

#include <16f819.h>
#fuses   NOBROWNOUT
#use     delay(internal = 4MHz)

void main()
{
 int sensor;

setup_oscillator(OSC_4MHz);// Configurar el oscilador interno a 4MHz.


while(true)
{

 sensor=input(pin_a1);   
     
     
   if (sensor == 1){
    output_b(0b01111111);}   // Dibujo numero 0

   if (sensor == 0){
    output_b(0b11101110);}    // Dibujo letra A
 
 
}
}

este otro es el que uso para leer el valor analógico, y no lo logro mostrar nada en display.

#include <16F819.h>
#device ADC=10
#fuses NOWDT,INTRC_IO,PUT,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOMCLR
#use     delay(internal = 4MHz)

#include<LCD_FLEX.c>

void main()
    {
         float volt;
         
         lcd_init();
         printf (lcd_putc,"HOLA");
         delay_ms(500);
         lcd_init();

         setup_oscillator(OSC_4MHz);// Configurar el oscilador interno a 4MHz.
         setup_adc(ADC_CLOCK_INTERNAL);
         setup_adc_ports(ALL_ANALOG);
       
         set_adc_channel(1);
         delay_ms(10);
         
         while(true)
         {                   
            volt = read_adc() /1024.0 * 4.892367906066536;
            lcd_gotoxy(1,1);
            printf(lcd_putc, "Valor: %1.4fV ",volt);
            delay_ms(500);
         }
    }
« Última modificación: 07 de Agosto de 2015, 19:05:18 por guillermoc »

Desconectado guillermoc

  • PIC10
  • *
  • Mensajes: 3
Re: Poblemas con sensor de Alcohol y Pic 16f819
« Respuesta #1 en: 16 de Agosto de 2015, 20:25:51 »
Hola, les comento que está correcto el código, simplemente que había una colisión entre una línea del display y el sensor que está conectado a AN0, modifiqué la librería del display y funcionó!!. Espero les sirva alguien, saludos!


 

anything