That's good to know. I just downloaded the Atmel Studio 6. I will be playing with this environment for a while to see how well it works. I will update the ADC program and look at the data.
@kratok2006 The value swinging is cause by two main things: Interference that may be introduced between the potentiometer and the microcontroller, and the noise produced from the AVR core itself. Regarding the latter issue, I have a video that will show how to minimize this (putting the micro to sleep while a conversion takes place). The swinging will not be completely eliminated in this prototyping environment (use of breadboard), but will be reduced.
What if the OCR1A reaches more than 65536? For example I want to convert a sensor output after every 10 min, the OCRA value reaches a lot more than 65536 even if I take 1024 as prescalar?
There's no much sense in getting 10-bit resolution from AVR ADC without calibrating it, because two LSBs will contain noise and offset/gain error. Errors and calibration process are described in AVR120 appnote. Or am I missed some words about calibration in a video?
Hi sir.. It's good that you explained from registers level so that the students can know from. The root. Sir I have a question, I wanna read my analog voltage from an analog pin of my Arduino mega board and display that in binary form. What can be the simple basic program for that.. Help will be appreciated..thank you.
Hi anajonesr. Great tutorial videos! But I have one question. How to make bigger precision, I mean how to make that lcd show numbers after comma? (12,2) or (1023,0). Thanks.
Hi... i am trying to read ADC from ADC0 And ADC1...... and store the value for further calculation. I am not getting ISR Interrupt working. Please help.
@TKEarly09 See the reply to @kratok2006. Additional information, I will be including a test on how much swinging occurs in a new video and prove that the sleep function works.
Hi Patrick , I am using Atmel studio 6.0, when I am debugging the ADC program it is not going into interrupt service routine ISR(ADC_vect). Can you please help me out Thank you
ADLAR must be set to 0 to get ADC 10 bit. I just try the 6 studio and the compass routine that performs arctg(-x/y) with float numbers and a linear interpolation from a 18 float array, it has half the size when compilled... in terms of speed is no differne (at bare eye) in normal execution on micro so I think it's realy nice.. the avr 6 It's so slow when it starts tough on computer and do not recodnize an home made isp proggramer... but it has nice tips while you're typing
Sounds like a bad connection. If that is not it, try adding some delay in the communication to give the slow processing of the LCD some time to accept the communication.
Great. I will try this later. I just started using the Atmel Studio and I am very excited to test.
That's good to know. I just downloaded the Atmel Studio 6. I will be playing with this environment for a while to see how well it works. I will update the ADC program and look at the data.
@kratok2006 The value swinging is cause by two main things: Interference that may be introduced between the potentiometer and the microcontroller, and the noise produced from the AVR core itself. Regarding the latter issue, I have a video that will show how to minimize this (putting the micro to sleep while a conversion takes place). The swinging will not be completely eliminated in this prototyping environment (use of breadboard), but will be reduced.
And I fogot to tell you: YOU DID AREALY GREAT JOB with this tutorials, my compliments.
super good thank you very much. I had a lot of trouble working this out, but your video has put me in the right direction :)
in avr studio from ver 4 untill now, you can :
int i;
i=ADC;
and you'll have the 16 bit val directly.
Why do you don't use the ADCW Register, thats the 16-Bit value.
What if the OCR1A reaches more than 65536? For example I want to convert a sensor output after every 10 min, the OCRA value reaches a lot more than 65536 even if I take 1024 as prescalar?
You can use:
uint16_t tenBitValue =ADCL>>6|ADCH
There's no much sense in getting 10-bit resolution from AVR ADC without calibrating it, because two LSBs will contain noise and offset/gain error. Errors and calibration process are described in AVR120 appnote. Or am I missed some words about calibration in a video?
Can U please guide me how come I get proximity sensor input from ADC pins and then drive motors (wheels for robot) with it as to balance the robot?
Amazing. Thank you so much
Hi sir..
It's good that you explained from registers level so that the students can know from. The root.
Sir I have a question, I wanna read my analog voltage from an analog pin of my Arduino mega board and display that in binary form. What can be the simple basic program for that..
Help will be appreciated..thank you.
Hi anajonesr. Great tutorial videos! But I have one question. How to make bigger precision, I mean how to make that lcd show numbers after comma? (12,2) or (1023,0). Thanks.
To make the ADCL read first for left justified can i write: uint16_t tenBitValue = (ADCL >> 6) | (ADCH
Hi... i am trying to read ADC from ADC0 And ADC1...... and store the value for further calculation. I am not getting ISR Interrupt working. Please help.
@TKEarly09 See the reply to @kratok2006. Additional information, I will be including a test on how much swinging occurs in a new video and prove that the sleep function works.
can u give the neural network code and its presentation for ATMEGA 32
Hi Patrick ,
I am using Atmel studio 6.0, when I am debugging the ADC program it is not going into interrupt service routine ISR(ADC_vect).
Can you please help me out
Thank you
how to use itoa function?
@imTUFAAN I'm not quite there yet.
just awesome and very helpful work.. Great Job...
@imTUFAAN You're welcome.
ADLAR must be set to 0 to get ADC 10 bit.
I just try the 6 studio and the compass routine that performs arctg(-x/y) with float numbers and a linear interpolation from a 18 float array, it has half the size when compilled... in terms of speed is no differne (at bare eye) in normal execution on micro so I think it's realy nice.. the avr 6 It's so slow when it starts tough on computer and do not recodnize an home made isp proggramer... but it has nice tips while you're typing
Comıng from the potantiometer value of ADC is not beginning at "0" referance value. What could be the issue? best regards.
it begins at "64" which is value of ADC.
Excellent presentation thank u...........
great tutorial, thanks a lot, why u don't use this statement : tenBitvalue = ADCW instead. i think it's more convenient and still work properly
before the lcd show adc value, screen disappear. And then it comes back again. How can i fix it?
Sounds like a bad connection. If that is not it, try adding some delay in the communication to give the slow processing of the LCD some time to accept the communication.
Patrick Hood-Daniel thanks. its done. thanks for your helps. you are the best.
very nice explanation,
Can we use multiple interrupts
Depending on the interrupt, yes.
good job
Good job..