Étape 4: programme
Copier coller le code suivant dans le programme de l’Arduino :Remarque : Vous devez avoir le RX et TX débranché de l’Arduino programmer
Pour programmer un Arduino Pro Mini avec un Arduino UNO suivez ce lien
Compteur Geiger
Eric sans livres
//
Introduction
//
Utilise un compteur Geiger de Sparkfun pour mesurer le rayonnement et le convertit en chiffres
par minute. Les coups calculés par minute s’affiche sur un écran LCD.
Chaque chef d’accusation est enregistré avec un signal sonore et visuel par l’utilisation d’un
haut-parleur piézo et une LED.
//
Programme d’installation :
//
-Branchez le haut-parleur piézo et LED aux bornes 9 et 8 respectivement
-Fixer les broches RX, GND et la DMV dans l’afficheur LCD les broches 2, GND et VCC sur
l’Arduino.
-Fixer le compteur Geiger à la source d’alimentation avec broches VCC et GND et connecter le
Broche TX à la broche RX sur l’Arduino
//
#include < SoftwareSerial.h >
int i ;
int count ;
vieux int = -1 ;
contrôle par int.
flotteur CPM ;
flotteur maintenant ;
temps de flotteur ;
int start ;
piezo int = 8 ;
int mené = 9 ;
char OnesString [10] ;
char DecimalString [10] ;
char TimerString [10] ;
SoftwareSerial mySerial (3, 2) ;
void setup() {}
pinMode (piezo, sortie) ;
pinMode (led, sortie) ;
Serial.Begin(9600) ;
mySerial.begin(9600) ;
Delay(500) ;
mySerial.write(254) ; déplacer le curseur au début de la première ligne
mySerial.write(128) ;
mySerial.write("") ; Désactivez l’affichage
mySerial.write("") ;
}
void loop() {}
i = 0 ;
Count = 0 ;
Démarrer = millis() ;
tandis que (j’ai < 30) {}
digitalWrite (led, faible) ;
digitalWrite (piezo, faible) ;
Si (Serial.available() > 0) {/ / si les informations disponibles
vérifier = Serial.read() ; Lire l’entrée série
Si (cocher > 0) {}
Count ++ ; Si c’est un succès, au compteur d’incrémentation
digitalWrite (piezo, HIGH) ; Fait sount audible lorsqu’il y a un grand succès
digitalWrite (conduit, en haut) ; Clignote LED quand il y a un grand succès
}
}
J’ai = millis() ;
i = i - start ;
i = i / 1000 ;
sprintf (TimerString, « % 2d ", 30-i) ;
mySerial.write(254) ; curseur à la 7e position sur la deuxième ligne
mySerial.write(192) ;
mySerial.write(TimerString) ;
}
CPM = nombre * 2 ;
vieux = count ; Réinitialise l’instruction « if »
int cpm = CPM ;
int temp = CPM * 1000 ;
int décimal = %Temp% (cpm * 1000) ;
sprintf (OnesString, « % 3d ", cpm) ;
mySerial.write(254) ; Affichages CPM
mySerial.write(128) ;
mySerial.write ("CPM:") ;
mySerial.write(OnesString) ;
}