Introduction
Ionizing radiation, an invisible and intangible enemy, exists not only in nuclear power plant reactors. In fact, we are bombarded by radiation from the surrounding environment and outer space all the time, but fortunately our body is strong enough to resist the natural background radiation.
No active contact does not mean that high-energy ionizing radiation will not be encountered. Natural marble building materials, ore gems with different colors, and "negative ion powder" of unknown composition may contain different amounts of radioactive elements. With the use of a Geiger counter, these radioactive sources have nowhere to hide.
In addition, the Geiger counter is a good random number generator, and undetermined high-energy particle ionization events can provide enough random entropy to get you a truly random number, rather than a fixed random sequence based on a random algorithm.
Note
♥ This product is not a professional measuring instrument, it is only suitable for principle research and teaching demonstration. Not for use in radiation dose measurement that directly affects personal safety.
⚠ Geiger tube is fragile, please handle with care when using.
☢ The Geiger counter can only detect ionizing radiation, such as nuclear radiation, X-rays, cosmic rays, etc. Unable to detect electromagnetic radiation, such as microwave oven radiation, mobile phone radiation, WiFi radiation, induction cooker radiation.
☢ M4011 Geiger tube can detect α rays, β rays, γ rays. Among them, hard β rays and γ rays can be quantitatively measured.
☀ Exposure to strong light may cause high readings on the Geiger counter, please avoid direct sunlight on the Geiger tube.
⚡ The Geiger tube is driven by a voltage of up to 400V, after powering on do not touch the high voltage circuit near the positive pole of the Geiger tube.
Specification
Geiger Counter
- Supply voltage: 3.3V ~ 5V
- Signal output: digital output, pull down when a pulse is detected
- Driving voltage: ≈400V
- Maximum range: 1200 μSv/h (theoretical value)
- Dimensions: 107mm × 42mm
M4011 Geiger Tube
- Working voltage: 380V ~ 450V
- Background count: ≈25CPM
- CPM ratio: 153.8 CPM/(μSv/h)
- Dimensions: Φ10mm × 88mm
Function Description
- Pin
- ① - Negative power supply
- ② + Positive power supply
- ③ D signal output
- Switch
- ④ Signal buzzer switch
Tutorial
Requirements
- Hardware
- DFRduino UNO R3 (or similar) x 1
- Gravity: Geiger Counter Module x1
- Gravity 3Pin Connector x1
Connection Diagram
The Geiger counter library needs to use external interrupts for counting, so it can only be connected to external interrupt pins.
On Arduino UNO, the external interrupts are pins 2 and 3. For other development boards, please refer to the development documentation.
Arduino Development Board External Interrupts Reference Document
Sample program
/*!
@file geiger.ino
@brief Detect CPM radiation intensity, the readings may have a large deviation at first, and the data tends to be stable after 3 times
@copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
@licence The MIT License (MIT)
@author [fengli](li.feng@dfrobot.com)
@version V1.0
@date 2021-9-17
@get from https://www.dfrobot.com
@https://github.com/DFRobot/DFRobot_Geiger
*/
#include <DFRobot_Geiger.h>
#if defined ESP32
#define detect_pin D3
#else
#define detect_pin 3
#endif
/*!
@brief Constructor
@param pin External interrupt pin
*/
DFRobot_Geiger geiger(detect_pin);
void setup()
{
Serial.begin(115200);
//Start counting, enable external interrupt
geiger.start();
}
void loop() {
//Start counting, enable external interrupt
//geiger.start();
delay(3000);
//Pause the count, turn off the external interrupt trigger, the CPM and radiation intensity values remain in the state before the pause
//geiger.pause();
//Get the current CPM, if it has been paused, the CPM is the last value before the pause
//Predict CPM by falling edge pulse within 3 seconds, the error is ±3CPM
Serial.println(geiger.getCPM());
//Get the current nSv/h, if it has been paused, nSv/h is the last value before the pause
Serial.println(geiger.getnSvh());
//Get the current μSv/h, if it has been paused, the μSv/h is the last value before the pause
Serial.println(geiger.getuSvh());
}
Upload the program and open the serial monitor to view the output results. The reading takes about half a minute to stabilize.
Pause count
Since the Geiger counter uses external interrupts, other programs that are being executed by the Arduino are suspended when the output signal triggers the interrupt. If the I/O pin is being operated to communicate with other devices, a sudden insertion of an interrupt may cause a communication error. The Geiger counter library provides a pause counting function to temporarily turn off external interrupts to avoid the impact.
//Pause count
geiger.pause();
//restore count
geiger.start();
geiger.pause();
Keeps radiation readings in their last state before pausing until geiger.start();
is executed to continue counting.
Pausing the count will affect the measurement accuracy, please only pause when necessary.
FAQ
- Q: Do Geiger tubes have a life span? How long does it need to be replaced?
- A: Geiger tubes are designed to have a lifetime of 10⁹ pulses. In practice, if you only measure background radiation in your living environment, you do not need to worry about running out of life; if you have been exposed to strong radioactivity, you should replace the Geiger tube as soon as possible, regardless of whether it has run out of the theoretical life. Strong radiation can affect the composition of the gas filled in the Geiger tube, resulting in irreversible changes in sensitivity.