you can also see http://www.picbasic.co.uk/forum/showthread.php?t=1659 or search the forums, there's lots of good info here.
you can also see http://www.picbasic.co.uk/forum/showthread.php?t=1659 or search the forums, there's lots of good info here.
Do you have any examples which use ADCIN and put the input directly into the variable (see below) ? T
Thanks ! Just to clarify, so my code below can work without problems ?
define adc_bits 10 'define number of bits in result
define adc_clock 3 'clock source3=RC
define adc_sampleus 50 'set sampling time in microsec
adcvar1 var word
adcvar2 var word
diff var byte
start:
adcin 0, adcvar1 'read channel 0 to adcvar1
adcin 1, adcvar2 'read channel 1 to adcvar2
diff = adcvar1-adcvar2
select case diff
...
Thanks guys. Any other links will be very helpful.
Hi,
IF you want "real same time" measurements ... simply use :
1) slow variatons : RC Low pass on ADC inputs to filter and "damp" a bit
2) quick variations : External LF398 ( i.e.) Sample and Hold circuits ...
3) Use two external ADCs
4) Use a differential OPA ...
And then use the ADC ... or read the ext ADCs.
remember The Pic can do ONE THING ONLY at a time .... but can drive many peripherals at the same time ....
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Thanks Alain, but I dont think I need 'same time' measurements.
OK, so I have read the links. If my code is like this
meaning I repeatedly check the analog input until 'diff' is less than 'tolerance', there will be no problems as I havepair1:
adcin 0, adc1 'read channel 0 to adc1
adcin 1, adc2 'read channel 1 to adc2
diff = abs(adc1-adc2)
if diff>tolerance then
' run servo1 for x seconds
goto pair1 'recheck values
else
return
endif
DEFINE ADC_SAMPLEUS 50
at the top, and this will add the delay between each ADCIN automatically. Am I correct ? Just want to confirm.
ps. I also read that sampling at 8 bits instead of 10 will improve the speed and stability when using multiple analog inputs. Will reducing to 8 bits help a lot, or can it work just fine with 10 bits ?
Bookmarks