Autor Tema: Potenciometro en RA0  (Leído 2265 veces)

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

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
Potenciometro en RA0
« en: 04 de Abril de 2005, 02:28:00 »
Holas a tod@s! Os explico mi problema: Enfurruñado

En RA0 tengo conectado un potenciometro con una R=5k. Me gustaría sacar el valor de ese pot por el LCD. De momento solo consigo sacar el valor .000000 y x mucho q mueva la ruleta del pot no cambia, os dejo el programita q he creado para q lo reviseis y digais posibles fallos o sugerencias para q esto me rule. Gracias!!

Codigo:
#include <16F877.h>
#device adc=8
#use delay(clock=4000000)
#include <lcd-picdem.c>
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP

const int escala = 256;
const float v_max = 5.0;

void calcula_voltaje (int val, float &voltaje)
 {
 voltaje=(val*v_max)/escala;
 }

void main(void)
{
 int valor;
 float voltaje;
 set_tris_a(0b00000001);
 
 lcd_init();
 lcd_putc("f"); //Borra pantalla
 lcd_putc("voltios =
"Giño;

 for(;Giño
  {
  lcd_gotoxy(4,2);

  setup_adc(adc_clock_div_2);
  setup_adc_ports(AN0);
  set_adc_channel(0);

  valor=read_adc();
  delay_ms(5000);
  setup_adc (adc_off);
  calcula_voltaje(valor,voltaje);
  printf(lcd_putc,"%f",voltaje);
  delay_ms(10);
  }
}

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Potenciometro en RA0
« Respuesta #1 en: 04 de Abril de 2005, 02:59:00 »
¿Cómo tienes conectado el potenciómetro?
Podría ser que hubieras conectado un extremo a masa, y el punto medio al pin RA0, pero no hayas conectado el otro extremo a ningún sitio. Si es así, tendrías que meter +5V por este extremo.

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: Potenciometro en RA0
« Respuesta #2 en: 04 de Abril de 2005, 03:12:00 »
El ensayo lo hago sobre la picdem 2 plus, y de los datasheet solo se puede sacar q el centro está conectado a RA0 (The center tap of R16 is connected to RA0). Los extremos no pone como están conectados. Pero es de suponer q están como tu comentas, no?

Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Potenciometro en RA0
« Respuesta #3 en: 04 de Abril de 2005, 03:22:00 »
Bueno, es de suponer que sí, aunque no conozco esa placa. ¿Puedes probar a meter 5V a pelo sobre el pin a ver si la lectura cambia?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Potenciometro en RA0
« Respuesta #4 en: 04 de Abril de 2005, 03:41:00 »
Vale, olvídate de lo que te he dicho antes.
He simulado tu programa en Proteus y he conseguido que funcione, pero para ello hay que declarar como FLOAT la variable ESCALA.
Giño

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: Potenciometro en RA0
« Respuesta #5 en: 04 de Abril de 2005, 03:44:00 »
Ahora mismo no xq estoy en casa y no en el lab y no tengo fuente. Pero he revisado los esquemas de conexion y efectivamente está como comentas: un extremo a masa y el otro a 5V.

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: Potenciometro en RA0
« Respuesta #6 en: 04 de Abril de 2005, 03:45:00 »
Valeee!!! Respondí antes de ver tu ultimo mensaje, ahora mismo lo compruebo!! Gracias!!

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: Potenciometro en RA0
« Respuesta #7 en: 04 de Abril de 2005, 03:49:00 »
RebotadoRebotadoRebotadoRebotado

Tenías razón!! Comprobado y funcionando!! Muchisimas gracias!!

RebotadoRebotadoRebotado

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: Potenciometro en RA0
« Respuesta #8 en: 04 de Abril de 2005, 04:15:00 »
Tengo otra dudilla... El resultado me sale con 6 decimales, si quiero q el resultado se muestre por ejemplo con 2 decimales que tendría q hacer??

Gracias!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Potenciometro en RA0
« Respuesta #9 en: 04 de Abril de 2005, 04:17:00 »
Ah, jeje, esta es más facilita. Puedes poner esto:
printf(lcd_putc,"%f3.2",voltaje);

Los números 3 y 2 significan 3 dígitos enteros y 2 decimales respectivamente, y puedes cambiarlos por otros a tu gusto.