Table of Contents

Capteur Geiger

Nous utiliserons un capteur Geiger de ce type :

Nous allons connecter ce capteur à une carte arduino, puis la carte arduino à un ordinateur. Les données du compteur Geiger vont donc être transmises à l'ordinateur via la arduino sur le port série en usb. Nous allons par la suite les récupérer avec un patch pure Data.

Connection capteur Geiger vers arduino

Nous connectons les ports VIN du capteur Geiger au pin digital 2 de la arduino.

Et le GND du Geiger au GND du arduino.

On peut connecter le 5v du capteur Geiger au 5v de la arduino si on n'alimente pas le capteur Geiger avec le secteur(NB : le capteur Geiger s'allume en meme temps que la arduino; l'interrupteur n'étant plus utilisable car by-passé).

côté capteur Geiger

côté arduino

Les deux

On connecte la arduino en usb sur l'ordinateur.

Maintenant il faut programmer la arduino et une réception, pure Data ici

Programmation Arduino

Voici le programme à uploader dans la carte arduino :

// This Sketch send a 0 for each pulse to the serial port.

// Connect the GND on Arduino to the GND on the Geiger counter.

// Connect the 5V on Arduino to the 5V on the Geiger counter.

// Connect the VIN on the Geiger counter to the D2 on Arduino.

unsigned long counts; //variable for GM Tube events

unsigned long previousMillis; //variable for measuring time

void impulse() { // dipanggil setiap ada sinyal FALLING di pin 2

counts = 1;

}

#define LOG_PERIOD 60 // count rate

void setup() { //setup

counts = 0;

Serial.begin(9600);

pinMode(2, INPUT);

attachInterrupt(digitalPinToInterrupt(2), impulse, FALLING); //define external interrupts

Serial.println("Start counter");

}

void loop() { //main cycle

Serial.println(counts);
Serial.write(counts);
counts = 0;

delay(30);

}

On notera le “pinMode(2, INPUT);” qui correpsond au numéro du PIN digital de la arduino.

Programmation Purr Data

Côté ordinateur on pourra réceptionner la pulsation via un patch de ce type :

Ouvrez un fichier avec l'éditeur de texte nommé par exemple geiger.pd (NB:avec l'extension “.pd”) Copiez-collez le code suivant :

#N canvas 0 22 1280 953 10;
#X msg 478 187 close;
#X msg 477 156 devices;
#X msg 493 82 open 0;
#X obj 555 50 loadbang;
#X obj 546 192 comport 9600;
#X floatatom 660 241 5 0 0 0 - - -, f 5;
#X obj 607 301 change;
#X obj 448 528 bng 45 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 434 277 sel 10;
#X floatatom 758 318 5 0 0 0 - - -, f 5;
#X obj 726 408 sel 49;
#X floatatom 555 232 5 0 0 0 - - -, f 5;
#X obj 705 268 sel 13;
#X connect 0 0 4 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 8 0;
#X connect 4 0 11 0;
#X connect 5 0 6 0;
#X connect 5 0 12 0;
#X connect 8 1 5 0;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
#X connect 12 1 9 0;

Puis sauvegardez le fichier. C'est le patch sur le screenshot ci-dessus.

Le bang doit se déclencher à chaque pulsation du capteur Geiger.