User Tools

Site Tools


nomades:capteur_geiger
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


nomades:capteur_geiger [2019/11/25 10:00] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== Capteur Geiger ======
 +
 +Nous utiliserons un capteur Geiger de ce type :
 +
 +
 +{{:nomades:img_20191113_1003414_2.jpg?direct&200|}}
 +
 +
 +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
 +
 +{{:nomades:img_20191113_1003506.jpg?direct&200|}}
 +
 +
 +côté arduino
 +
 +
 +{{:nomades:img_20191113_1004145.jpg?direct&200|}}
 +
 +Les deux 
 +
 +
 +{{:nomades:img_20191113_1003414.jpg?direct&200|}}
 +
 +
 +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 :
 +
 +
 +<code>
 +
 +// 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);
 +
 +}
 +
 +</code>
 +
 +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 :
 +
 +
 +{{:nomades:screenshot_2019-11-25_09-53-45.png?direct&200|}}
 +
 +
 +Ouvrez un fichier avec l'éditeur de texte nommé par exemple geiger.pd (NB:avec l'extension ".pd")
 +Copiez-collez le code suivant :
 +<code>
 +#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;
 +</code>
 +
 +Puis sauvegardez le fichier.
 +C'est le patch sur le screenshot ci-dessus.
 +
 +
 +Le bang doit se déclencher à chaque pulsation du capteur Geiger.
 +
 +
  
nomades/capteur_geiger.txt · Last modified: 2019/11/25 10:00 by 127.0.0.1