Autor Tema: activar una salida dependiendo de un valor de una señal analógica.  (Leído 1206 veces)

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

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
Hola a todos!!!

Me ha surgido una dudilla.

Tengo un potenciómetro que me regula la tensión del una entrada para ADC, la tensión va d 0 a 5 V. Lo que quiero es que a partir de un valor determinado de tensión se active una salida del pic. Creo que no se puede hacer una compración en un IF con un float, no? entonces comparo el valor d "q" que es un entero despejando de la ecuación del adc con una "q" de 3v y m da un valor de 614, pero ni por esas me deja, os dejo el código para ver si m podeis dar una solucion ok??


#include <16f877.h>
#device adc=10
#fuses xt,nowdt
#use delay(clock=4000000)
#include <lcd.c>
#use standard_io(b)
#use standard_io(d)

void main(){
int16 q;
int16 j;
int l;
float p;
port_b_pullups(true);
setup_adc_ports(an0);
setup_adc(adc_clock_internal);
set_tris_b(0x00);
lcd_init();
for(;;){
set_adc_channel(0);
delay_us(20);
q=read_adc();//Valor ADC
p=5.0*q/1024.0;//Voltage


printf(lcd_putc,"\fADC= %6ld",q);
printf(lcd_putc,"\nVoltage= %01.2fV",p);
delay_ms(100);

if(q>>614)
output_high(pin_d0);
else
output_low(pin_d0);


}}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: activar una salida dependiendo de un valor de una señal analógica.
« Respuesta #1 en: 14 de Enero de 2011, 15:50:01 »
Hola.

Para comparar, usa: > o >= dentro del if.

>> es una función de corrimiento.

Saludos
El papel lo aguanta todo

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
Re: activar una salida dependiendo de un valor de una señal analógica.
« Respuesta #2 en: 14 de Enero de 2011, 15:53:48 »
Jaja. Es verdad!!! Que haría yo sin ustedes... muchísimas gracias!!!