I am working on Geiger Counter project with an Arduino MKR WIFI 1010. This project is very simple: I just want to count "radiation" every minute. Thus, I have just made these connections between the Arduino Board and the Geiger Board:
Arduino - Geiger board
5V - 5V
GND - GND
A1 - Vin
For this project I am using the A1 pin as an interrupt pin. Thus, if I have understood weel, everytime the event is verified the code should perform the function (i.e. just count +1). After a fixed time the count will be reset. This is the simple code that I am using:
However, I noticed that it does not work very well: most of the times it counts always 0. Only sometimes it counts but it is not possible because the LED of the board blinks everytime that it counts. Can someone help me?
I am attaching here a picture my Geiger Counter board
I changed the pin from A1 to A2, I disconnected and reconnected the Arduino, I have added "volatile" and I should have solved it. It seems that it works properly. I will monitor it for some days and eventually I will close this post. Thanks for your feedback
Let's hope you didn't to this, because it implied you changed the wiring while the system was powered up. One of the best way there is for damaging any system.
What is the purpose of this measurement?
Did you know that every time you detect a detection event in a GM tube, then the tube becomes unable to detect any more events until it recovers. Therefore you will be underestimating the true count you would get if the tube did not have this "dead time" as it is called.
The goal of this experiment is just for teaching and explain how a Geiger Tube works.
I know about the "dead time" but since I am not using any radiation sources I haven't to perform accurate measurements. At most I am measuring the background level and by sure a dead time of "ms" does not impact on this. But anyway I don't have to do any real measurements for now.
Anyway I solved my issue: the wire "A1 - Vin" had a poor contact.