Go Down

Topic: Trying to put a analog meter into a Arduino geiger counter (Read 954 times) previous topic - next topic


Hey guys,

I am trying to write a sketch that uses the:

100 V analog volt meter - http://makebright.com/2012/02/arduino-101-meetup-prep-day-7-vu-meter-needle-gauge
arduino geiger counter - http://www.cooking-hacks.com/index.php/documentation/tutorials/geiger-counter-arduino-radiation-sensor-board.

I am having a little trouble getting started because I am not used to codes for volt meters. May any of you offer any guidance on what I should do? Any help is appreciated.


Jun 09, 2013, 12:17 pm Last Edit: Jun 09, 2013, 01:18 pm by pito Reason: 1
You have to output an "analogWrite(pin, value)" from a pin - the "value" will be the number of your geiger counts per minute (for example). The meter is connected through resistor and a filtering capacitor. The resistor shall be set such it reads full scale with 255 value.
The "100V" analog meter is not usable for you (you are not going to measure voltages up to 100V), you need a plain analog meter, typical currents for full scale reading of such analog meters are from 10uA to 1mA.

Tell us what is your analog meter's current for full scale reading (in uAmps). If you are going to measure it, be careful not to burn the meter with high currents. ALWAYS use a RESISTOR wired in SERIES with your analog meter.

Use for example 10k resistor in series, and increase the voltage such you read full scale (see below). The current for full scale will be (aprox.):

I[A] = V[V] / 10000 [ohm]    

for example with 1Volt (and 10k resistor in series with the meter) and full scale reading the full scale current is 100uA.


Code: [Select]
analogWrite(pin, 0) - analog meter shows 0
analogWrite(pin, 255) - analog meter shows full scale

With "map" function you can adjust the analog reading range to your geiger count range, for example :
Code: [Select]

int geiger_count;   // this is the geiger count "per minute" for example, range 0..1000 per minute (that is too high!!!)
int analog_meter_value;  // this is the analog meter range (0-0, 255-full scale)
analog_meter_value = map(geiger_count, 0, 1000, 0, 255);
analogWrite(pin, analog_meter_value);


If you're using a mechanical meter, at a PWM frequency of nearly 500Hz, you can usually get away without capacitors - just a simple series resistor.
The mass of the meter mechanism will do your filtering for you.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.


For testing you might want to start with a simple analog multimeter like below to provide an inexpensive meter. I think walmart, radio shack, harbor freight, etc. probably have them for ~$10.

Google forum search: Use Google Search box in upper right side of this page.
Why I like my 2005 Rio Yellow Honda S2000  https://www.youtube.com/watch?v=pWjMvrkUqX0


"Data is not information, information is not knowledge, knowledge is not understanding, understanding is not wisdom."
~ Clifford Stoll

Go Up