Stap 4: programma
Kopie plak de volgende code in de Arduino-programma:Opmerking: U moet hebben de RX en TX losgekoppeld van de Arduino om hem te programmeren
Voor het programmeren van een Pro Mini van Arduino met een Arduino UNO-Volg deze link
Geigerteller
Eric onontwikkeld
//
Introductie
//
Een geigerteller Sparkfun gebruikt voor het meten van straling en converteert deze naar graven
per minuut. De berekende graven per minuut wordt weergegeven op een LCD-scherm.
Elke tellen is geregistreerd bij een hoorbaar en zichtbaar signaal door het gebruik van een
piëzo spreker en een LED.
//
Setup:
//
-Sluit de LED en piëzo-luidspreker aan op pin 9 en 8 respectievelijk
-Bevestig pinnen RX, GND, en VDD van de LCD display op pinnen 2 GND en VCC op
de Arduino.
-Attach geigerteller op stopcontact met PIN VCC en GND en sluit de
TX naar de RX-pin op de Arduino pin
//
#include < SoftwareSerial.h >
int i;
int count;
int oude = -1;
int de controle;
float CPM;
float nu;
float tijd;
int begin;
int piezo = 8;
int geleid = 9;
char OnesString [10];
char DecimalString [10];
char TimerString [10];
SoftwareSerial mySerial (3, 2);
VOID Setup {}
pinMode (piëzo, OUTPUT);
pinMode led (, uitvoer);
Serial.begin(9600);
mySerial.begin(9600);
delay(500);
mySerial.write(254); cursor naar het begin van de eerste regel
mySerial.write(128);
mySerial.write(""); Schakel weergeven
mySerial.write("");
}
void loop {}
Ik = 0;
Graaf = 0;
Start = millis();
terwijl (ik < 30) {}
digitalWrite (led, laag);
digitalWrite (piëzo, laag);
Als (Serial.available() > 0) {/ / als informatie beschikbaar
check = Serial.read(); Ingang voor seriële lezen
Als (selectievakje > 0) {}
Graaf ++; Als er een, increment bezoekersteller
digitalWrite (piëzo, hoge); Hoorbare sount maakt wanneer er een hit
digitalWrite (led, hoog); LED knippert wanneer er een hit
}
}
Ik = millis();
Ik = i - start;
Ik = i / 1000;
sprintf (TimerString, "% 2d", 30-i);
mySerial.write(254); cursor naar 7de positie op de tweede regel
mySerial.write(192);
mySerial.write(TimerString);
}
CPM = aantal * 2;
oude graaf; = Hiermee stelt u de instructie 'als'
int cpm CPM; =
int. temp = CPM * 1000;
int decimaal = temp % (cpm * 1000);
sprintf (OnesString, "% 3d", cpm);
mySerial.write(254); Displays CPM
mySerial.write(128);
mySerial.write ("CPM:");
mySerial.write(OnesString);
}