INHOUDSOPGAWE:
- Stap 1: Gereedskap en onderdele
- Stap 2: Monteer u Geiger -toonbank
- Stap 3: Toets die Geiger -toonbank elektries
- Stap 4: Bedrading
- Stap 5: Kode
- Stap 6: Serial.println Vs Serial.print
- Stap 7: J305 Meting van agtergrondstraling
- Stap 8: J305 Meting van rooksensorstraling
- Stap 9: SBM-20
- Stap 10: Bedrading van die Geiger -toonbank met 'n LCD
- Stap 11: Geiger -toonbank met LCD
- Stap 12: lêers
Video: Arduino DIY Geiger -toonbank: 12 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
U het dus 'n DIY Geiger -toonbank bestel en u wil dit aan u Arduino koppel. U gaan aanlyn en probeer om te dupliseer hoe ander hul Geiger -toonbank met Arduino verbind het om te sien dat iets verkeerd is. Alhoewel dit lyk asof u Geiger -toonbank werk, werk niks soos beskryf in die DIY wat u volg wanneer u u Geiger -toonbank aan u Arduino koppel nie.
In hierdie instruksies sal ek bespreek hoe u sommige van hierdie foute kan oplos.
Onthou; Monteer en kodeer Arduino een stap op 'n slag, as u direk na 'n voltooide projek gaan en daar 'n draad of 'n kodelyn is, kan dit vir ewig neem om die probleem op te spoor.
Stap 1: Gereedskap en onderdele
Prototipe boks Ek het 'n Ferrero Rocher snoepboks gebruik.
Klein broodbord
16x2 LCD
Arduino bord eter 'n UNO of Nano
220 Ω weerstand
Pot 10 kΩ verstelbare weerstand.
DIY Geiger -toonbankstel
Jumper Wires
Battery -aansluiting of harnas
Ossilloskoop
Fyn neus tang
Klein standaard skroewedraaier
Stap 2: Monteer u Geiger -toonbank
Enige skade aan u Geiger -buis; en u Geiger -toonbank werk nie, dus gebruik die beskermende akrielbedekking om skade aan u Geiger -buis te voorkom.
Hierdie instruksie handel oor hoe ek dieselfde Geiger -toonbank herstel het met 'n gebreekte Geiger -buis en die beskermende akrielbedekking aangebring het om in die toekoms te breek.
www.instructables.com/id/Repairing-a-DIY-G…
Stap 3: Toets die Geiger -toonbank elektries
Gebruik eers die regte spanning vir die kragtoevoer; die USB -koord verskaf 5 volt DC direk vanaf u rekenaar, maar die 3 AA -batteryhouer is geskik vir 1,5 volt alkaliese batterye, wat 'n totale spanning van 4,5 volt lewer. As u 1,2 volt herlaaibare NI-Cd- of NI-MH-batterye gebruik, benodig u 'n 4 AA-batteryhouer vir 'n totale spanning van 4,8 volt. As u minder as 4,5 volt gebruik, werk die Geiger -toonbank moontlik nie soos dit moet nie.
Daar is baie min stroombane op die uitvoer van die Geiger -tellers; so solank die luidspreker 'n tikkende geluid maak en die LED knipper, moet u 'n sein op die VIN -pen kry.
Om seker te wees van die uitsetsein; verbind 'n ossilloskoop met die uitset deur die positiewe kant van die ossilloskoop -sonde aan die VIN en die negatiewe kant van die ossilloskoop -sonde aan die grond te koppel.
Eerder as om net op agtergrondstraling te wag om die Geiger-toonbank te aktiveer, het ek americium-241 uit 'n rookdetektor-ioonkamer gebruik om die Geiger-tellers se reaksies te verhoog. Die uitset van die Geiger -toonbank begin by +3 volt en daal tot 0 volt elke keer as die Geiger -buis op die alfa -deeltjies reageer en 'n oomblik later terugkeer na +3 volt. Dit is die sein wat u met Arduino gaan opneem.
Stap 4: Bedrading
Daar is twee maniere waarop u die Geiger -toonbank aan u Arduino en u rekenaar kan koppel.
Koppel die GND op Arduino aan die GND op die Geiger -toonbank.
Koppel die 5V op Arduino aan die 5V op die Geiger -toonbank.
Koppel die VIN op die Geiger -toonbank aan die D2 op Arduino.
Met onafhanklike krag gekoppel aan die Geiger -toonbank.
Koppel die GND op Arduino aan die GND op die Geiger -toonbank.
Koppel die VIN op die Geiger -toonbank aan die D2 op Arduino.
Koppel Arduino aan op u rekenaar.
Stap 5: Kode
Maak Arduino IDE oop en laai die kode.
// Hierdie skets tel die aantal pulse per minuut.
// Koppel die GND op Arduino aan die GND op die Geiger -toonbank.
// Koppel die 5V op Arduino aan die 5V op die Geiger -toonbank.
// Koppel die VIN op die Geiger -toonbank aan op die D2 op Arduino.
ongetekende lang tellings; // veranderlike vir GM Tube -geleenthede
ongetekende lang vorigeMillis; // veranderlike vir die meting van tyd
void impulse () {// dipanggil setiap ada sinyal FALLING deur pen 2
tellings ++;
}
#definieer LOG_PERIOD 60000 // telkoers
ongeldige opstelling () {// opstelling
tellings = 0;
Serial.begin (9600);
pinMode (2, INVOER);
attachInterrupt (digitalPinToInterrupt (2), impuls, FALLING); // definieer eksterne onderbrekings
Serial.println ("Begin toonbank");
}
leemte -lus () {// hoofsiklus
ongetekende lang stroomMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
vorigeMillis = currentMillis;
Serial.println (tellings);
tellings = 0;
}
}
Kies in Tools die Arduino of ander bord wat u gebruik.
Kies in Poortgereedskap die poort en kom
Laai die kode op.
Sodra die kode in Tools opgelaai is, kies Serial Monitor en kyk hoe u Geiger -toonbank werk.
Soek foute. Die enigste ding met hierdie kode is dat dit 'n bietjie vervelig is; u moet 1 minuut wag vir elke telling.
Stap 6: Serial.println Vs Serial.print
Dit is een van die eerste foute wat ek in die kode gevind het; kyk dus daarna in u kode, “Serial.println (cpm);” en "Serial.print (cpm);".
Serial.println (cpm); sal elke telling op sy eie reël druk.
Serial.print (cpm); Dit sal lyk soos een groot getal wat elke telling op dieselfde lyn druk, wat dit onmoontlik maak om te weet wat die telling is.
Stap 7: J305 Meting van agtergrondstraling
Eerstens is die meting van agtergrondstraling, die natuurlike bestraling wat reeds natuurlik bestaan. Die gelyste getal is die CPM (telling per minuut), wat 'n totaal van gemeet radioaktiewe deeltjies is elke minuut.
Die gemiddelde J305 -agtergrondtelling was 15,6 CPM.
Stap 8: J305 Meting van rooksensorstraling
Dit is nie ongewoon dat 'n Geiger -toonbank herhaaldelik dieselfde telling gee nie, dus kyk met 'n bestralingsbron. Ek het die stralingsmeting van Americium gebruik, 'n ioonkamer van 'n rookmelder. Die rooksensor gebruik Americium as 'n bron van alfa -deeltjies wat rookdeeltjies in die lug ioniseer. Ek het die metaaldop van die sensor verwyder sodat die alfa- en beta -deeltjies saam met die gamma -deeltjies by die Geiger -buis kan uitkom.
As alles reg is, moet die tellings verander.
Americium-241 van 'n rookdetektor se ioonkamer se gemiddelde telling was 519 CPM.
Stap 9: SBM-20
Hierdie Arduino -skets is 'n gewysigde weergawe wat deur Alex Boguslavsky geskryf is.
Hierdie skets tel die aantal pulse in 15 sekondes en skakel dit om in tellings per minuut, wat dit minder vervelig maak.
Kode wat ek bygevoeg het "Serial.println (" Start counter ");".
Kode I verander; "Serial.print (cpm);" na "Serial.println (cpm);".
“#Defineer LOG_PERIOD 15000”; stel die tel tyd op 15 sekondes, ek het dit verander na "#define LOG_PERIOD 5000" of 5 sekondes. Ek het geen merkbare verskil in die gemiddelde gevind tussen tel vir 1 minuut, of 15 sekondes en 5 sekondes nie.
#insluit
#define LOG_PERIOD 15000 // Tekenperiode in millisekondes, aanbevole waarde 15000-60000.
#define MAX_PERIOD 60000 // Maksimum aanmeldperiode sonder om hierdie skets te verander
ongetekende lang tellings; // veranderlike vir GM Tube -geleenthede
ongetekende lang cpm; // veranderlike vir CPM
ongetekende int vermenigvuldiger; // veranderlike vir berekening van CPM in hierdie skets
ongetekende lang vorigeMillis; // veranderlike vir tydmeting
void tube_impulse () {// subprosedure vir die vaslegging van gebeure vanuit Geiger Kit
tellings ++;
}
ongeldige opstelling () {// opstel subprosedure
tellings = 0;
cpm = 0;
vermenigvuldiger = MAX_PERIOD / LOG_PERIOD; // die vermenigvuldiger bereken, hang af van u logtydperk
Serial.begin (9600);
attachInterrupt (0, tube_impulse, FALLING); // definieer eksterne onderbrekings
Serial.println ("Begin toonbank"); // kode wat ek bygevoeg het
}
leemte -lus () {// hoofsiklus
ongetekende lang stroomMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
vorigeMillis = currentMillis;
cpm = tellings * vermenigvuldiger;
Serial.println (cpm); // kode wat ek verander het
tellings = 0;
}
}
Die gemiddelde SBM-20-agtergrondtelling was 23,4 CPM.
Stap 10: Bedrading van die Geiger -toonbank met 'n LCD
LCD -verbinding:
LCD K -pen na GND
LCD 'n Speld tot 220 Ω weerstand teen Vcc
LCD D7 -pen na digitale pen 3
LCD D6 -pen na digitale pen 5
LCD D5 -pen na digitale pen 6
LCD D4 -pen na digitale pen 7
LCD Aktiveer pen tot digitale pen 8
LCD R/W -pen teen die grond
LCD RS -pen na digitale pen 9
LCD VO -pen om die pot van 10 kΩ aan te pas
LCD Vcc -pen na Vcc
LCD Vdd -pen na GND
Pot 10 kΩ verstelbare weerstand.
Vcc, Vo, Vdd
Geiger Counter
VIN na digitale pen 2
5 V tot +5 V.
GND tot op die grond
Stap 11: Geiger -toonbank met LCD
// sluit die biblioteekkode in:
#insluit
#insluit
#define LOG_PERIOD 15000 // Tekenperiode in millisekondes, aanbevole waarde 15000-60000.
#define MAX_PERIOD 60000 // Maksimum aanmeldperiode sonder om hierdie skets te verander
#define PERIOD 60000.0 // (60 sek) meetperiode van een minuut
vlugtige ongetekende lang CNT; // veranderlike vir die tel van onderbrekings vanaf dosimeter
ongetekende lang tellings; // veranderlike vir GM Tube -geleenthede
ongetekende lang cpm; // veranderlike vir CPM
ongetekende int vermenigvuldiger; // veranderlike vir berekening van CPM in hierdie skets
ongetekende lang vorigeMillis; // veranderlike vir tydmeting
ongetekende lang dispPeriod; // veranderlike vir die meting van tyd
ongetekende lang CPM; // veranderlike vir die meting van CPM
// initialiseer die biblioteek met die nommers van die koppelvlakpenne
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
ongeldige opstelling () {// opstelling
lcd.begin (16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print ("Geiger Counter");
vertraging (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // Gebeurtenis op pen 2
}
leemte -lus () {
lcd.setCursor (0, 0); // druk teks en CNT op die LCD
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// As 'n minuut verby is
cleanDisplay (); // Duidelike LCD
// Doen iets aan opgehoopte CNT -geleenthede …
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // Vertoon CPM
CNT = 0;
dispPeriod = millis ();
}
}
ongeldig GetEvent () {// Kry geleentheid vanaf toestel
CNT ++;
}
void cleanDisplay () {// Duidelike LCD -roetine
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
Stap 12: lêers
Laai hierdie lêers af en installeer dit op u Arduino.
Plaas elke.ino -lêer in 'n gids met dieselfde naam.
Aanbeveel:
DIY slim weegskaal met wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): 10 stappe (met foto's)
DIY Smart Scale With Alarm Clock (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In my vorige projek het ek 'n slim badkamerskaal met Wi-Fi ontwikkel. Dit kan die gebruiker se gewig meet, plaaslik vertoon en dit na die wolk stuur. U kan meer inligting hieroor kry op die onderstaande skakel: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
DIY Givi V56 Topbox Light Kit met motorfiets met geïntegreerde seine: 4 stappe (met foto's)
DIY Givi V56 Topbox -ligstel vir motorfietse met geïntegreerde seine: As motorfietsryer is ek al te goed vertroud daarmee om behandel te word asof ek onsigbaar is op die pad. Een ding wat ek altyd by my fietse voeg, is 'n boks met 'n geïntegreerde lig. Ek het onlangs opgegradeer na 'n nuwe fiets en die Givi V56 Monokey gekoop
PKE Meter Geiger -teller: 7 stappe (met foto's)
PKE Meter Geiger Counter: Ek wou al lankal 'n Geiger -toonbank bou om my Peltier Cooled Cloud Chamber aan te vul. Daar is (hopelik) nie 'n baie nuttige doel om 'n Geiger -toonbank te besit nie, maar ek hou net van die ou Russiese buise en het gedink dit sou
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer