TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: microfull en 23 de Septiembre de 2006, 02:31:04
-
ya leoelvoltaje con el conersor guardo el valor en una variable visualizo el valor de la variable pero como hago para covertir el valor de la variable a el valor del voltaje que esta leyendo estoy usando conversor de 10 bit´s
y como hago para que me salga el valor por ejemplo yo leo 5.32v el valor guardado en la constante es 63 como hago para pasarla a voltaje
estoy leyendo el voltaje de uan termocupla tipo k
-
Pues dependiendo de la precision de tu lectura es la forma en que se leen o se manejan, aqui hay un buen de ejemplos con adc.
Por ejemplo si usas Vrefs y el VREF+ = 5V, entonces 1024 seran 5V y si VREF- = 0V o gnd eso sera un 0de ahi podrias hacer tus salidas al LCD o lo que uses. Algo asi como una regla de tres.
-
y como hago para que el resultado me de en com flotante osea que no solo me muestre 4volts 3volt sino 3.1 - 2.5 ejemplo
tengo que modificar el programa este es mi programa
y mi ejemplo en proteus 6.7 sp3
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 22/09/2006 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
DEFINE OSC 20
DEFINE LCD_RWREG PORTD
DEFINE LCD_RWBIT 2
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 1
' Define ADCIN parameters
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
adval var word ' Create adval to store result
TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify result
Pause 500 ' Wait .5 second
loop: ADCIN 0, adval ' Read channel 0 to adval
Lcdout $fe, 1 ' Clear LCD
Lcdout "Value: ", salida ' Display the decimal value
Pause 100 ' Wait .1 second
Goto loop ' Do it forever
End
-
Bueno para lo de punto flotante asi tal cual con PBP es dificil, yo uso las rutinas de punto flotante de melabs, apuntando la lectura de tu variable a una variable que se usa para hacer operaciones, aqui hice algo parecido (por supuesto solo adaptando la lectura, a la rutina de Punto flotante) FP (http://www.todopic.com.ar/foros/index.php?topic=12300.msg69241#msg69241). Talvez te sirva
-
Hola maser y navaismo!
Mira aqui puedes encontrar lo que necesitas para el conversor adc de 10bits que sensa un voltaje de 5 voltios y no hay que utilizar punto flotante.
http://www.melabs.com/resources/samples.htm
se llama vmeterx.bas.
Saludos! :-/