Let's Make Robots!


Fellow members,

Does any of you know of, or use a way to monitor the ADC values produced by a Picaxe analog input pin in real time?

As far as I know, the only two ways to monitor these values as they happen are: 1) with an LCD in the circuit or 2) on the programming PC via the download cable.

I was wondering f there was a cheap-o version, something you could breadboard easily and with discrete components... Ideas anyone? Or am I looking for the holy grail?

Thanks, all!



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

is an audio/visual indication enough? If audio or visual is enough then, pwm output to a LED, an amp and a speaker or a piezo buzzer. I am taking a page from I believe Frist's book here.

PWM out to LED would be my vote as well.

yet effective. :)

Thanks, crazy kids. I was looking for something easier to "read" for a human... or at least, more accurate. Anyway, your ideas got me thinking. Maybe using more than one LED. Maybe one for each of the 3 digits in the 256 possible results... I have to give it some serious thought. THANKS for pointing me in the right direction! :D

BTW, if anyone is interested in a nice primer on how to get those same values on the PC screen with the board still hooked up to the serial port, here it is: http://www.picaxeforum.co.uk/showthread.php?t=11344&highlight=adc+values



I was thinking a three legged Bi-coloured LED. It uses two output pins and you can generate three colours + off condition. Use the different colours to indicate hundreds, tens and ones and blink out the numbers. This will take some time to execute depending how fast you can count the blinks. I guess it would be best to trigger the readout by a switch so it only uses time when you actually WANT to see it eg. an interrupt or something like that.


Hat off to you! Very creative and exactly along the lines of what I wanted! That is the way I am going. Thanks!



Convert the ADC value to a servo output, then the servo will move depending on the ADC value. You could even make an 'analog' gauge, like a speedometer, to show the actual value. The code might look like;

init: servo 4,75 ; initialise servo



readadc C.1,b1 ; read value into b1

b2 = (b1 / 2) + 75; convert from 0-255 to 75 - 203

 servopos 4,b2 

goto main ;back to start


I wish I had thought of it. It would require very little programming and be readily visible from a distsance.

Very cool and minimal idea, Chench. I have already solved my need, but this might be fun to just try out! I promise to post pictures here if I do. Thanks.