Bouw een handgehoude Geiger-teller met Arduino Nano
Onderdelen en benodigdheden
| Arduino Nano R3 | 1 |
| Klaar gemaakte Geiger-teller kit (GM-buis + HV-schakeling) | 1 |
| 0,96" OLED kleurdisplay 96x64 (SSD1331, SPI) | 1 |
| Micro-USB laadprint voor 18650 accu (TP4056 o.a.) | 1 |
| 3,7V 4000mAh beschermde 18650 Li-ion accu | 1 |
| Transistor BC547 | 1 |
| Buzzer 12mm | 1 |
| 1kΩ weerstand | 1 |
Benodigde gereedschappen
- 3D-printer (voor behuizing)
Ontwerpsoftware
- Autodesk Fusion 360 (3D-modellering)
- Cura (slicer)
- Arduino IDE
- ClickCharts / EasyEDA / Fritzing (schema/flowchart)
Over dit project
Dit project startte na aankoop van een kant-en-klaar Geiger-teller kit (Banggood). Doel: in een 3D-geprinte behuizing maken tot een handzaam meetapparaat.
Stap 1: Systeemontwerp
Het systeemdiagram toont: Arduino Nano telt pulsen van de GM-buis (via INT-pin), berekent CPM en µSv/h, toont dit op OLED met staafdiagram, piept op elke detectie, meet accuniveau.
Display (0,96" OLED SPI):
- CPM (Counts Per Minute): drijvend gemiddelde over 10 seconden (CPS × 6)
- µSv/h: CPM gedeeld door 151 (conversiefactor voor deze GM-buistype, zie Wikipedia)
- Staafdiagram: realtime CPS (laatste seconde) als rode balk
- Opstart: accuniveau in % (via A3, gekalibreerd op 770 = 100%)
Voeding: 18650 accu in laadprint (5V uitgang). 3,3V voor OLED vanaf dezelfde print. Arduino Nano USB poort bereikbaar voor updates. Micro-USB laadpoort op behuizing. Extra buzzer (via BC547) versterkt het geluid.
Stap 2: Mechanische en elektrische assemblage
Alle elektronica zit in de 3D-geprinte behuizing (boven- en onderkant). OLED-display zit in een apart doosje bovenop. Geen losse kabels. Laadpoort en USB-poort voor programmeren zijn toegankelijk via openingen.
Stap 3: Software-ontwerp
Flowchart: Interrupt-gestuurd tellen → elke seconde: update array, bereken CPM/µSv/h, verver display.
Kern van de code:
- Interrupt op pin D2 (INT0), valflank:
attachInterrupt(0, IMPULSE, FALLING) - ISR
IMPULSE():Counts++ - Elke 1000ms (
LOGtime):COUNTS[t] = Counts(array van 10 seconden)TenSecCPM = som(COUNTS[0..9])AVGCPM = 6 * TenSecCPMSievert = AVGCPM / 151.0- Display update: CPM, µSv/h (4 decimalen), staafdiagram (Counts), Counts reset
- Ringbuffer index
tophogen (0-9)
De sketch is ~150 regels, goed gecommentarieerd. Bibliotheken: Adafruit_GFX, Adafruit_SSD1331, SPI.
Schakeling
- GM-kit INT → Arduino D2 (via 1kΩ? check schema)
- GM-kit VCC/GND → 5V/GND
- OLED: SCK→13, MOSI→11, CS→10, RES→9, DC→8
- Buzzer via BC547 op PWM-pin (niet expliciet in code, zie schema)
- Accu spanning → A3 (spanningsdeler op laadprint?)
Code
Volledige sketch Geiger_Counter.ino bijgeleverd (GPL3+ licentie). Inclusief alle definities, setup, loop, interrupt handler en Blynk-achtige display functies.
3D-printbestanden
- Behuizing boven- en onderkant (Fusion 360, STL/OBJ)
- OLED-display behuizing (STL)
Schema
Overzichtsschema van de elektronica bijgevoegd.
Productieproces
- Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
- Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
- Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
- Bouw een Tetris-spel met Arduino Nano op een Zelfgemaakte 16×8 LED-matrix
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Twee Stappenmotors Sturen met Arduino Nano & Joystick – Simpele Tutorial
- Bouw een Eigen Geiger-Müller Tellers met Arduino, HV Boost en 20x4 LCD
- Pixel Chaser: Interactieve één-tik LED-spel met Arduino Nano
- Een nauwkeurig meetwieltje bouwen met Arduino Nano en draaiencoder