Otok Three Milles, Černobil, Fukušima in celo nekateri na nacionalnem ozemlju, kot sta reaktor Coral-I v Madridu ali reaktor Vandellós-I v Kataloniji. Veliko jih je jedrske nesreče ki so se dogajale skozi zgodovino in kljub strašnim posledicam se zdi, da ta tema sevanja še naprej vzbuja določeno privlačnost. Le malokdo ve, da smo vsak dan izpostavljeni naravnemu sevanju, tako tistemu, ki prihaja iz vesolja, kot tistemu, ki prihaja iz zemeljskih mineralov ...
No, če želite izmeriti sevanje okoli sebe, vam v tem novem priročniku po korakih pokažemo postopek kako lahko zgradite geigerjev števec, to je naprava, ki lahko meri radioaktivnost. V bistvu gre za napravo, ki lahko meri senci delcev, ki vplivajo na senzor, na primer ionizirajoče sevanje, zato se imenuje števec, saj lahko šteje število udarcev in s tem stopnjo sevanja predmeta ali kraja.
Kaj naj vem prej?
Pred začetkom projekta DIY bi rad nekaj komentiral o sevanju, za tiste, ki tega ne vedo. Tisti, ki že imate predhodno znanje, lahko preskočite ta razdelek in si ogledate naslednje ...
Kaj je sevanje?
To je pojav energetsko programiranje v obliki elektromagnetnih valov ali subatomskih delcev skozi medij. Zato imamo lahko različne vrste sevanja.
Katere vrste sevanja obstajajo?
Veliko jih je vrste sevanja, kot so toplotne, elektromagnetne itd., toda tiste, ki nas tu zanimajo, sta dve veliki skupini:
- Neionizirajoče: gre za val ali delce, ki ne moreta odstraniti elektronov iz snovi, torej ne more ionizirati. Primeri zanj so lahko elektromagnetni valovi mikrovalov, radia, svetlobe itd.
- Ionizirajoče: gre za val ali delce, ki lahko iztrgajo elektrone iz snovi, se pravi lahko ionizira zaradi svoje visoke energije. Zato je najbolj nevaren od vseh. V tej skupini imamo laserje, rentgenske žarke, alfa, beta, gama, zavorno sevanje ali zavorno svetlobo itd.
Če pogledamo v elektromagnetnem spektru, valovi z najdaljšo valovno dolžino, na primer radio ali mikrovalovna pečica, so najmanj prodorni, tisti z najmanj energije (nižja frekvenca). Ko se premikamo v desno, vidimo, da je valovna dolžina vsakič krajša in frekvenca vibracij večja, zato imajo več energije in so bolj prodorni in škodljivi.
Vrste ionizirajočega sevanja:
Če se osredotočimo na ionizirajoče sevanje, ki je sposoben izmeriti Geigerjev števec, moramo zaradi jedrskih pojavov spet filtrirati in se osredotočiti na tri osnove:
- Alfa: imajo pozitiven naboj in so sestavljeni iz dveh protonov in dveh nevtronov, torej so atom helija. So najmanj nevarni in prodorni, saj jih je mogoče ustaviti s preprostim papirjem. Vpliv na zdravje je odvisen od nekaterih težav, saj ne morejo niti skozi zunanjo plast kože, če pa vstopijo v telo, so lahko škodljivi. Vdihavanje, zaužitje ali vbrizgavanje v telo virov, ki proizvajajo to sevanje, lahko poškoduje živo tkivo.
- beta: so delci negativnega električnega naboja, elektroni. So bolj prodorni in energični kot prejšnji, in da bi jih ustavili, bi to lahko storili s kuhinjsko aluminijasto folijo. Kljub temu, da so bolj prodorne, niso tako škodljive za živo tkivo in DNA kot prejšnje, saj se ionizacije, ki jih povzročajo, pojavljajo širše. Lahko povzroči opekline kože in če vstopijo v telo, je to lahko ...
- Gamma: gama žarki so tisti z največjo prodorno močjo in energijo, torej najnevarnejši od vseh. To so fotoni, čista energija, ki je ni mogoče enostavno ustaviti, le s svinčenimi ploščami, betonom itd. Z lahkoto preidejo skozi naše telo in povzročijo resne poškodbe tkiva, mutacije DNK itd., Kar povzroča, na primer raka in celo nenadno smrt, če je odmerek velik.
Zato to ni igra in od hwlibre vam priporočamo upoštevajte vse previdnostne ukrepe in dobro veš, kaj delaš. Ne skrbimo za morebitne težave ...
Geiger-Müllerjeve cevi:
So življenjska sila vsakega Geigerjevega števca, saj je naprava o senzor ki je odgovoren za sprejemanje sevanja in pretvorbo tega števila šokov v električni impulz, ki ga lahko razlagajo ostala vezja. Znana je kot Geiger-Müllerjeva cev ali preprosto Geigerjeva cev, kupite pa jo lahko v različnih spletnih trgovinah, kot so Amazon, Aliexpress itd. Druga možnost je, da ga odstranimo iz Geigerjevega števca, ki ga imamo stare ali v uporabi.
Veliko jih je, različnih modelov (SBT-9, LND-712, J408y, ...) in različnih proizvajalcev (GSTube, LND, North Optic, ...). Najbolj priljubljeni so Američani in Rusi, čeprav obstajajo tudi kitajski. Nekateri sovjetskega izvora imajo ponavadi poceni cene, najdražja pa je LND. Jasno si moramo biti vrednosti napetosti, med katerimi se premika, saj bo analogni signal, ki ga oddaja, bolj ali manj intenziven, odvisno od zajetega sevanja.
država | Prodajalec | Model | Delci, ki jih zajame | Napetost | Material | cena |
---|---|---|---|---|---|---|
Rusija | GSTube | SBM-20 | Beta / gama | 400V | Aluminij | Bajo |
Rusija | GSTube | SBM-21 | Beta / gama | 650V | Aluminij | Bajo |
Rusija | GSTube | Da-1g | Gamma | 440V | Aluminij | Bajo |
Rusija | GSTube | SBT-9 | Beta / gama | 389V | Aluminij | Bajo |
Rusija | GSTube | Da-3bg | Beta / gama | 400V | Aluminij | Bajo |
EE.UU. | LND | LND-712 | Alfa / Beta / Gama | 500V | Mica | Srednje |
EE.UU. | LND | LND-7124 | Alfa / Beta / Gama | 500V | Mica | Visoka |
EE.UU. | LND | LND-7224 | Alfa / Beta / Gama | 500V | Mica | Visoka |
Kitajska | Severna optika | J408y | Gamma | 420V | Cristal | Bajo |
Kitajska | Severna optika | J305B | Beta / gama | 350V | Cristal | Bajo |
Kitajska | Severna optika | J306B | Beta / gama | 420V | Cristal | Bajo |
Za to umeriti bomo morali naše vezje za pretvorbo teh signalov v enote, v katerih se običajno meri sevanje, kot so Sievert (Sv), roentgen ali Rem, med drugim ... Kot bi to storili s temperaturnim senzorjem, moramo te izhodne napetosti pretvoriti v stopinje Celzija ali v merilu, ki ga merimo.
SI enota za merjenje sevanja:
Mednarodni sistem (SI) ima za enoto Sievert (Sv), ne pozabite, da obstajajo tabele, ki kažejo na nevarnost ali učinke sevanja, ki ga zajemamo za zdravje:
mSv | Učinki na zdravje |
---|---|
50-100 | Spremembe v kemiji krvi |
500 | Slabost v nekaj urah |
700 | Bruhanje |
750 | Izpadanje las v 2-3 tednih |
900 | Diarrea |
1000 | Krvavitev |
4000 | Možna smrt v dveh mesecih |
Že veste, da to ni odvisno samo od odmerka, ampak tudi od izpostavljenost. To pomeni, da lahko enkrat dobimo odmerek 100 mSv in nič se ne zgodi, če pa mesece prejemamo 50 mSv, so lahko dolgoročni učinki zelo negativni ...
Viri sevanja za preskuse:
Za izvedbo sevalni testi, vedeti morate, da obstaja več možnosti. Obstajajo kristali urana, kot jih vidite na tej sliki (levo), s katerimi Geigerjeve števce testirajo v laboratorijih. Obstajajo pa tudi drugi viri, bližje katerim lahko dobimo sevanje ali radioaktivni material, na primer senzorji dima v požarnih detektorjih.
V teh detektorjih so vir ionizirajočega sevanja americija in proizvajajo alfa sevanje. Morali bi celo vedeti, da ima veliko živil, bogatih s kalijem, izotop, imenovan Kalij-40, ki oddaja sevanje, čeprav za naše telo sploh ne predstavlja težave, ampak v zelo majhnih odmerkih, tako kot sevanje, ki ga prejmemo od same narave (nekatere granitne kamnine) ali kozmos.
Sami smo radioaktivni, izdelani smo iz ogljika in ogljik-14 je. Ampak bo presenetil Vedeti, da vsak dan ravnamo z veliko radioaktivnimi stvarmi, ne da bi se tega zavedali: nekaj gumbov, keramike, marmorja, nekaterih svetilk za kampiranje, cigaret, prevlečenega papirja, nekaj stenj itd. Vse, kar bi lahko uporabil za preizkus vašega Geigerjevega števca in ugotovil, ali deluje ali ne ...
Potrebni materiali:
Ko je vse to znano, gremo neposredno na seznam vseh komponent, ki jih potrebujemo za izdelavo našega domačega Geigerjevega števca:
- DC-DC pretvornik / regulatorni modul visoka napetost (npr: SODNI). Pomagal nam bo prilagoditi visoke napetosti, ki jih obvladuje Geiger-Müller, in transformirati to napetost v majhno napetost, primerljivo z ploščami Arduino in drugimi komponentami. Ne pozabite, da mora vzdržati vhodno napetost cevi, ki ste jo izbrali.
- Modul za polnjenje. Na primer je.
- Modul doprsja Pretvornik DC-DC 3-5v.
- ArduinoNano, čeprav deluje tudi kateri koli drug, toda da ne bi velikosti preveč povečali, je Nano boljši.
- OLED zaslon 128 × 64 ali 128 × 32, ki jih bomo uporabili kot zaslon za prikaz rezultatov meritev.
- Tranzistor 2n3904 za našo cev.
- Upori 10M ohmov in še 10K.
- Kondenzator od 470pf.
- stikalo za izklop in vklop.
- Zvočni signal ali majhen zvočnik.
- AAA baterija.
To glede komponent, čeprav boste tudi vi potrebovali orodja na primer spajkalniki, ožičenje nekaterih spojev, Arduino IDE za programiranje plošče, baterije ali baterij in tudi škatla po meri, če želite zaščititi svoj števec. Če imate 3D-tiskalnik, lahko izdelate plastično škatlo po meri.
Geigerjeva gradnja števca korak za korakom:
Naslednja stvar, ko boste dobili vse komponente, je, da sestavite vse komponente sestavljanke v skladu s tem diagramom, ki vam ga predstavljamo. The montaža je razmeroma preprost in ne potrebuje dodatnih razlag. Preprosto povezuje vse take elemente. To lahko storite v enem plošča preden preizkusite, ali vse deluje pravilno, nato nadaljujte s spajkanjem vseh komponent, da postane trajno.
Koraki:
P korake So, kot sledi:
- Z multimetrom lahko umeriti napetost (slika 1). Če ste na primer izbrali cev Geiger-Müller 410V, morate potenciometer modula DC-DC prilagoditi tako, da deluje pri tej napetosti.
- Potem se omejite na spajkajte ali spojite vse komponente kot so prikazani na prejšnjem diagramu kot na sliki 2.
- Uporabite lahko škatla za zaščito vse komponente ali ne.
- Ploščo Arduino povežite z računalnikom s kablom USB in z Arduino IDE napiši naslednji program (lahko ga prenesete tukaj) za razporedite in da lahko pretvori napetosti, s katerimi delamo pri meritvah v enoti, ki ste jo izbrali. Če želite, lahko uporabite druge enote ali prilagodite tako, da spremenite izvorno kodo skice ...
/* * * SCL - A5 * SDA - A4 * * * Voltmeter - A3 * * PWM - D9 * Input - D2 * * buzzer - D7 * */ #include <Bounce2.h> #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define NUMFLAKES 10 #define XPOS 0 #define YPOS 1 #define DELTAY 2 ////////////////////////////////////////////////////////////////////////////// unsigned long previousMillis = 0; unsigned long previousMillis1 = 0; const long interval = 40000; const long interval1 = 500; static const unsigned char PROGMEM lcd_bmp[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x40, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x80, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0xE0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xF0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const unsigned char PROGMEM logo[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0xC0, 0x3F, 0xE0, 0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0, 0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x7F, 0xF8, 0x07, 0x9E, 0x3E, 0x73, 0x9C, 0x00, 0x78, 0x3E, 0x3E, 0xF0, 0xF0, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x07, 0x9E, 0x7F, 0x33, 0x98, 0x00, 0x78, 0x7F, 0x3E, 0xF1, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0x9E, 0x7F, 0x33, 0xB8, 0x00, 0x78, 0x7F, 0x3E, 0xF3, 0xFC, 0x01, 0xFF, 0xF0, 0x7F, 0xF8, 0x07, 0xFE, 0xE7, 0x33, 0xB8, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x07, 0xFE, 0xE7, 0x3F, 0xF9, 0xF0, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xFF, 0xC0, 0x3F, 0xF8, 0x07, 0xFE, 0xE7, 0x3F, 0xF9, 0xF0, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xF8, 0x00, 0x03, 0xF8, 0x07, 0xFE, 0xE7, 0x3F, 0xF8, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x20, 0x40, 0x38, 0x07, 0x9E, 0xE7, 0x3F, 0xF0, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x10, 0x80, 0x08, 0x07, 0x9E, 0xE7, 0x1F, 0xF0, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x09, 0x00, 0x08, 0x07, 0x9E, 0xE7, 0x1E, 0xF0, 0x00, 0x78, 0x73, 0xBF, 0xF3, 0x9C, 0x01, 0x00, 0x0F, 0x00, 0x08, 0x07, 0x9E, 0xE7, 0x1E, 0xF0, 0x00, 0x78, 0x73, 0xBF, 0xF3, 0x9C, 0x00, 0x80, 0x1F, 0x80, 0x18, 0x07, 0x9E, 0x7F, 0x1E, 0xF0, 0x00, 0x78, 0x7F, 0x3F, 0xE3, 0xFC, 0x00, 0x80, 0x3F, 0xC0, 0x10, 0x07, 0x9E, 0x7E, 0x1E, 0xF0, 0x00, 0x78, 0x3F, 0x3F, 0xC1, 0xF8, 0x00, 0xC0, 0x7F, 0xC0, 0x30, 0x07, 0x9E, 0x1C, 0x1C, 0xE0, 0x00, 0x78, 0x1C, 0x3F, 0x00, 0xF0, 0x00, 0x40, 0xFF, 0xE0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xF0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const unsigned char PROGMEM fl[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const unsigned char PROGMEM bt1[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; #if (SSD1306_LCDHEIGHT != 32) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif const int buttonPin = 2; const int ledPin = 13; int buttonState = 0; int bt = 0; int pbt = 0; int s1 = 0; unsigned long j; unsigned long CR = 0; unsigned long cs; int sec; ///////////////////////////////// float input_voltage = 0.0; float temp=0.0; /////////////////////////////////// Bounce bouncer = Bounce(); void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.display(); display.clearDisplay(); display.drawBitmap(0, 0, logo, 128, 32, WHITE); display.display(); delay(2000); display.clearDisplay(); TCCR1A = TCCR1A & 0xe0 | 2; TCCR1B = TCCR1B & 0xe0 | 0x09; analogWrite(9,22 ); // на выводе 9 ШИМ=10% pinMode(ledPin, OUTPUT); // pinMode (7, OUTPUT); // buzzer pinMode(2 ,INPUT); // кнопка на пине 2 digitalWrite(2 ,HIGH); // подключаем встроенный подтягивающий резистор bouncer .attach(2); // устанавливаем кнопку bouncer .interval(5); // устанавливаем параметр stable interval = 5 мс } void loop() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////// unsigned long currentMillis = millis(); unsigned long currentMillis1 = millis(); if (bouncer.update()) { //если произошло событие if (bouncer.read()==0) { bt++; } } if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; CR = bt; bt = 0; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (bt != pbt) { pbt = bt; s1 = 1; } ////////////////////////////////////////////VOLTMETER PIN A3//////////////////////////////////////////////////////////////////// int analog_value = analogRead(A3); input_voltage = (analog_value * 5.0) / 1024.0; if (input_voltage < 0.1) { input_voltage=0.0; } ///////////////////////////////////////////////TEXT ON DISPLAY////////////////////////////////////////////////////////////////// display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(10,0); display.clearDisplay(); display.println(CR); display.setCursor(10,18); display.println(bt); display.setCursor(40,18); display.println(); display.setTextSize(1); display.setCursor(40,0); display.println("mR/hr"); /////////////////////////////////////////////////BATTERY INDICATION//////////////////////////////////////////// display.drawBitmap(0, 0, fl, 128, 32, WHITE); if (input_voltage > 3.3) { display.drawBitmap(0, 0, bt1, 128, 32, WHITE); if (input_voltage > 3.4) { display.drawBitmap(0, -5, bt1, 128, 32, WHITE); if (input_voltage > 3.5) { display.drawBitmap(0, -10, bt1, 128, 32, WHITE); if (input_voltage > 3.6) { display.drawBitmap(0, -15, bt1, 128, 32, WHITE); if (input_voltage > 3.8) { display.drawBitmap(0, -20, bt1, 128, 32, WHITE); } } } } } ////////////////////////////////////////////////////RADIATION ICON AND BUZZER///////////////////////////////////////////////////////////// if (s1 == 1){ display.drawBitmap(-10, 0, lcd_bmp, 128, 32, WHITE); digitalWrite (7, HIGH); // buzzer ON } else { digitalWrite (7, LOW); // buzzer OFF } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (currentMillis1 - previousMillis1 >= interval1) { previousMillis1 = currentMillis1; if (s1 == 1){ s1=0; } } display.display(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kako lahko preveriš Zelo preprosto (Čeprav se zaradi teh nastavitev zaslona zdi dolgo), morate le pretvoriti napetost, ki jo prejme plošča Arduino, v vrsto podatkov, ki jih lahko zajamete na zaslon ali zaslon.
Če bi šlo vse dobro, bi morali videti informacije na zaslonu in šum na zvočni signal, ko soočate svoj Geigerjev števec z radioaktivnim virom.
Fuentes:
Instrukcije - Naredi si sam Arduino Geiger števec
Cooking-Hacks - Geigerjev števec: plošča senzorja sevanja za Arduino in Raspberry Pi
Pozdravljeni, z njim bi rad arduino uno in spraševal sem se, kakšna bi bila shema za njegovo namestitev in ali bi se kaj drugega spremenilo
Pozdravljeni Paola,
Povezava je enaka v ONE. In lahko tudi spremenite nekatere povezave na drugih zatičih, če želite, edino, da bi morali spremeniti tudi kodo skice, da ustreza tistim, ki ste jih postavili. Je pa enako. Spoštujte povezave GND in Vcc, ostale pa, kot sem rekel, lahko vstavite v drugo številko ali v isto številko na svojo ploščo ... (da, spoštujte digitalni in analogni V / I, kot sta na Nano deska)
Lep pozdrav!