Ostrov tÅà mil, Äernobyl, Fukushima a dokonce i nÄkteré na vnitrostátnÃm územÃ, napÅÃklad reaktor Coral-I v Madridu nebo reaktor Vandellós-I v Katalánsku. Je jich mnoho jaderné nehody které se vyskytly v průbÄhu historie, a navzdory hroznÜm důsledkům se zdá, ÅŸe toto téma záÅenà nadále zvyÅ¡uje urÄitou pÅitaÅŸlivost. Málokdo vÅ¡ak vÃ, ÅŸe kaÅŸdÜ den jsme vÅ¡ichni vystaveni pÅirozenému záÅenÃ, a to jak vyzaÅovánà z vesmÃru, tak vyzaÅovánà z minerálů ZemÄ ...
Pokud chcete mÄÅit záÅenà kolem sebe, v této nové pÅÃruÄce vám ukáşeme postup krok za krokem jak můşete postavit Geigerův pult, tj. zaÅÃzenà schopné mÄÅit radioaktivitu. V zásadÄ se jedná o zaÅÃzenÃ, které dokáşe mÄÅit Äástice, které dopadajà na senzor, napÅÃklad ionizujÃcà záÅenÃ, proto se mu ÅÃká poÄÃtadlo, protoÅŸe dokáşe spoÄÃtat poÄet nárazů, a tedy i úroveÅ záÅenà objektu nebo mÃsta.
Co bych mÄl vÄdÄt dÅÃve?

PÅed zahájenÃm projektu DIY bych chtÄl nÄco komentovat o záÅenÃ, pro ty, kteÅà o tom nevÄdÃ. Ti z vás, kteÅà jiÅŸ majà pÅedchozà znalosti, můşete tuto Äást pÅeskoÄit a pÅejÃt pÅÃmo na následujÃcà ...
Co je to záÅenÃ?
Je to fenomén energetické programovánà ve formÄ elektromagnetickÜch vln nebo subatomárnÃch Äástic médiem. Proto můşeme mÃt různé typy záÅenÃ.
Jaké druhy záÅenà existujÃ?

Je jich mnoho typy záÅenÃ, jako jsou tepelné, elektromagnetické atd., ale ty, které nás zde zajÃmajÃ, jsou dvÄ velké skupiny:
- NeionizujÃcÃ: je to vlna nebo Äástice, která nedokáşe odstranit elektrony z hmoty, to znamená, ÅŸe nemůşe ionizovat. PÅÃkladem toho mohou bÜt elektromagnetické vlny mikrovln, rádia, svÄtla atd.
- IonizujÃcÃ: je to vlna nebo Äástice, která můşe vytrhnout elektrony z hmoty, to znamená, ÅŸe můşe ionizovat kvůli své vysoké energii. Proto je ze vÅ¡ech nejnebezpeÄnÄjÅ¡Ã. V této skupinÄ máme lasery, rentgenové paprsky, alfa, beta, gama, brzdné záÅenà nebo bremsstrahlung) atd.
Pokud se podÃváme v elektromagnetickém spektru, vlny s nejdelšà vlnovou délkou, napÅÃklad rádiové nebo mikrovlnné, jsou nejménÄ pronikavé, vlny s nejmenšà energià (nişšà frekvencÃ). ZatÃmco se pohybujeme doprava, vidÃme, ÅŸe pokaÅŸdé, kdyÅŸ je vlnová délka kratšà a frekvence vibracà vÄtÅ¡Ã, majà tedy vÃce energie a jsou pronikavÄjšà a Å¡kodlivÄjÅ¡Ã.
Typy ionizujÃcÃho záÅenÃ:

Pokud se zamÄÅÃme na ionizujÃcà radiace, kterÜ je schopen mÄÅit Geigerův poÄÃtaÄ, musÃme znovu filtrovat a zamÄÅit se na tÅi základy kvůli jadernÜm jevům:
- Alpha: majà kladnÜ náboj a jsou sloÅŸeny ze dvou protonů a dvou neutronů, to znamená, ÅŸe jsou atomem helia. Jsou nejménÄ nebezpeÄné a pronikavé, protoÅŸe je lze zastavit pomocà jednoduchého papÃru. ÃÄinek na zdravà závisà na nÄkterÜch problémech, protoÅŸe nemohou proniknout ani do vnÄjšà vrstvy kůşe, ale pokud se dostanou do tÄla, mohou bÜt Å¡kodlivé. VdechnutÃ, poÅŸità nebo injekce do tÄla zdrojů, které produkujà toto záÅenÃ, by mohlo poÅ¡kodit ÅŸivou tkáÅ.
- Beta: jsou to Äástice negativnÃho elektrického náboje, elektrony. Jsou pronikavÄjšà a energiÄtÄjšà neÅŸ pÅedchozÃ, a abychom je zastavili, mohli bychom to udÄlat pomocà kuchyÅské hlinÃkové fólie. PÅestoÅŸe jsou pronikavÄjÅ¡Ã, nejsou tak Å¡kodlivé pro ÅŸivou tkáŠa DNA jako pÅedchozÃ, protoÅŸe ionizace, které způsobujÃ, se vyskytujà ÄastÄji. Mohlo by to způsobit popáleniny kůşe, a pokud by se dostaly do tÄla, mohlo by to bÜt, ale ...
- Gamma: gama paprsky jsou ty, které majà nejvyššà penetraÄnà sÃlu a energii, a proto jsou nejnebezpeÄnÄjšà ze vÅ¡ech. Jedná se o fotony, Äistou energii, kterou nelze snadno zastavit, pouze pomocà olovÄnÜch plechů, betonu atd. Snadno procházejà naÅ¡Ãm tÄlem a způsobujà váşné poÅ¡kozenà tkánÃ, mutace DNA atd., CoÅŸ s sebou nese, jako je rakovina a dokonce i náhlá smrt, pokud je dávka vysoká.
Nejde tedy o hru a od hwlibre vám doporuÄujeme pÅijmÄte vÅ¡echna opatÅenà a dobÅe vÄdÄt, co dÄláte. Nestaráme se o moÅŸné problémy ...
Geiger-MÃŒllerovy trubky:

Jsou mÃzou kaÅŸdého pultu Geiger, protoÅŸe se jedná o zaÅÃzenà o senzor kterÜ je zodpovÄdnÜ za pÅijÃmánà záÅenà a transformaci tohoto poÄtu rázů na elektrickÜ impuls, kterÜ můşe bÜt interpretován zbytkem obvodů. Je známá jako Geiger-MÃŒllerova trubice nebo jednoduÅ¡e Geigerova trubice a můşete si ji koupit v různÜch online obchodech, jako jsou Amazon, Aliexpress atd. Dalšà moÅŸnostà je odebrat jej z pultu Geiger, kterÜ máme starÜ nebo nepouÅŸÃvanÜ.
Existuje mnoho z nich, různé modely (SBT-9, LND-712, J408y,âŠ) a různà vÜrobci (GSTube, LND, North Optic,âŠ). NejoblÃbenÄjšà jsou AmeriÄané a Rusové, i kdyÅŸ existujà i ââÄÃnÅ¡tÃ. NÄkteré ze sovÄtského původu mÃvajà levné ceny, nejdraşšà je NLD. MusÃme mÃt jasno v hodnotách napÄtÃ, mezi kterÜmi se pohybuje, protoÅŸe analogovÜ signál, kterÜ vydává, bude vÃceménÄ intenzivnà v závislosti na zachyceném záÅenÃ.

| zemÄ | ProdávajÃcà | Model | Äástice, které zachycuje | Voltaje | Materiál | cena |
|---|---|---|---|---|---|---|
| Rusko | GSTube | SBM-20 | Beta / gama | 400V | HlinÃk | NÃzká |
| Rusko | GSTube | SBM-21 | Beta / gama | 650V | HlinÃk | NÃzká |
| Rusko | GSTube | Ano - 1 g | Gamma | 440V | HlinÃk | NÃzká |
| Rusko | GSTube | SBT-9 | Beta / gama | 389V | HlinÃk | NÃzká |
| Rusko | GSTube | Ano - 3 bg | Beta / gama | 400V | HlinÃk | NÃzká |
| EE.UU. | LND | LND-712 | Alfa / Beta / Gamma | 500V | Málo | PoloviÄnà |
| EE.UU. | LND | LND-7124 | Alfa / Beta / Gamma | 500V | Málo | VysokÜ |
| EE.UU. | LND | LND-7224 | Alfa / Beta / Gamma | 500V | Málo | VysokÜ |
| ÄÃna | Severnà optika | J408y | Gamma | 420V | Cristal | NÃzká |
| ÄÃna | Severnà optika | J305B | Beta / gama | 350V | Cristal | NÃzká |
| ÄÃna | Severnà optika | J306B | Beta / gama | 420V | Cristal | NÃzká |
To je důvod, proÄ budeme muset kalibrovat náš obvod pÅevést tyto signály na jednotky, ve kterÜch se obvykle mÄÅà záÅenÃ, jako je Sievert (Sv), rentgen nebo Rem, mimo jiné ... StejnÄ jako u teplotnÃho senzoru musÃme tato vÜstupnà napÄtà transformovat na stupnÄ Celcius nebo v mÄÅÃtku, které mÄÅÃme.
Jednotka SI pro mÄÅenà záÅenÃ:
Mezinárodnà systém (SI) má jako svou jednotku Sievert (Sv), nezapomeÅte, ÅŸe existujà tabulky, které oznaÄujà nebezpeÄà nebo úÄinky záÅenÃ, které zachycujeme pro zdravÃ:
| mSv | ÃÄinky na zdravà |
|---|---|
| 50-100 | ZmÄny v chemii krve |
| 500 | Nevolnost bÄhem nÄkolika hodin |
| 700 | Zvracenà |
| 750 | Vypadávánà vlasů za 2-3 tÜdny |
| 900 | průjem |
| 1000 | KrvácejÃcà |
| 4000 | MoÅŸná smrt za dva mÄsÃce |
UÅŸ vÃte, ÅŸe to záleÅŸÃ nejen na dávce, ale také na expozice. To znamená, ÅŸe můşeme obdrÅŸet dávku 100 mSv jednou a nic se nedÄje, ale pokud dostáváme 50 mSv nÄkolik mÄsÃců, pak mohou bÜt dlouhodobé úÄinky velmi negativnà ...
Zdroje záÅenà pro zkouÅ¡ky:

Chcete-li provést radiaÄnà testy, mÄli byste vÄdÄt, ÅŸe existuje nÄkolik moÅŸnostÃ. Existujà krystaly uranu, jako ty, které vidÃte na tomto obrázku (vlevo), s nimiÅŸ jsou Geigerovy poÄÃtaÄe testovány v laboratoÅÃch. Existujà ale i dalšà zdroje, ke kterÜm můşeme zÃskat záÅenà nebo radioaktivnà materiál, napÅÃklad kouÅové senzory v detektorech poşáru.
UvnitÅ tÄchto detektorů jsou zdroj ionizujÃcÃho záÅenà americium a produkujà alfa záÅenÃ. Dokonce byste mÄli vÄdÄt, ÅŸe mnoho potravin bohatÜch na draslÃk má izotop zvanÜ DraslÃk-40, kterÜ vyzaÅuje záÅenÃ, i kdyÅŸ to pro naÅ¡e tÄlo vůbec nenà problém, jsou to velmi nÃzké dávky, stejnÄ jako záÅenÃ, které dostáváme od samotné pÅÃrody (jisté ÅŸulové skály) nebo vesmÃr.
My sami jsme radioaktivnÃ, jsme vyrobeni z uhlÃku a uhlÃk-14 je. Ale pÅekvapà S vÄdomÃm, ÅŸe kaÅŸdÜ den zacházÃme s mnoha radioaktivnÃmi vÄcmi, aniÅŸ bychom to vÄdÄli: nÄkteré knoflÃky, keramika, mramor, nÄkteré kempinkové lampy, cigarety, potahovanÜ papÃr, nÄkteré knoty atd. VÅ¡e, co jsem mohl pouÅŸÃt k otestovánà vaÅ¡eho Geigerova pultu a zjistit, zda funguje nebo ne ...
PotÅebné materiály:
Jakmile je toto vÅ¡e známo, pÅejdeme pÅÃmo k seznam vÅ¡ech komponent, které potÅebujeme postavit náš domácà Geigerův pult:
- Modul mÄniÄe / regulátoru DC-DC vysoké napÄtà (napÅ .: SODIÃLNÃ). Pomůşe nám to upravit vysoké napÄtÃ, které Geiger-MÃŒller zpracovává, a transformovat toto napÄtà na malé napÄtà srovnatelné s deskami Arduino a dalÅ¡Ãmi souÄástmi. NezapomeÅte, ÅŸe musà odolat vstupnÃmu napÄtà trubice, kterou jste vybrali.
- NabÃjecà modul. NapÅÃklad to je.
- Modul poprsà konvertor DC-DC 3-5v.
- ArduinoNano, i kdyÅŸ jakÜkoli jinÜ je také uÅŸiteÄnÜ, ale aby se pÅÃliÅ¡ nezvÄtÅ¡ilo, je vÜhodnÄjšà Nano.
- OLED displej 128 à 64 nebo 128 à 32, které pouÅŸijeme jako obrazovku pro zobrazenà vÜsledků mÄÅenÃ.
- 2n3904 tranzistor pro naši trubku.
- Rezistory 10M ohmů a dalÅ¡Ãch 10K.
- Kondenzátor 470pf.
- PÅeruÅ¡ovaÄ pro vypnutà a zapnutÃ.
- BzuÄák nebo malÜ reproduktor.
- Baterie AAA.
To z hlediska komponent, i kdyÅŸ budete také potÅebovat náÅadà jako jsou pájeÄky, zapojenà nÄkterÜch spojů, Arduino IDE pro programovánà desky, baterie nebo baterià a také vlastnà krabiÄka, pokud chcete chránit svůj mÄÅiÄ. Pokud máte 3D tiskárnu, můşete si postavit vlastnà plastovou krabici.
Konstrukce poÄÃtadla Geiger krok za krokem:

Dalšà vÄcÃ, jakmile budete mÃt vÅ¡echny souÄásti, je sestavit vÅ¡echny souÄásti skládaÄky podle tohoto diagramu, kterÜ vám pÅedstavÃme. The montaje je to relativnÄ jednoduché a nepotÅebuje dalšà vysvÄtlenÃ. Je to jen propojenà vÅ¡ech prvků, jako je tento. Můşete to udÄlat v jednom prkénko na prkénko pÅedtÃm, neÅŸ otestujete, ÅŸe vÅ¡e funguje správnÄ, a poté pÅiletujte vÅ¡echny komponenty, aby to bylo trvalé.
Kroky:
- 1
- 2
L dalšà kroky Jsou následujÃcÃ:
- Pomocà multimetru můşete kalibrovat napÄtà (obrázek 1). NapÅÃklad pokud jste zvolili 410V Geiger-MÃŒllerovu trubici, musÃte upravit potenciometr DC-DC modulu tak, aby pracoval s tÃmto napÄtÃm.
- Pak se omezte na pájet nebo spojovat vÅ¡echny souÄásti jak se objevujà v pÅedchozÃm diagramu jako na obrázku 2.
- Můşete pouÅŸÃt a box na ochranu vÅ¡echny souÄásti nebo ne.
- PÅipojte desku Arduino k poÄÃtaÄi pomocà kabelu USB a pomocà Arduino ide napsat následujÃcà program (můşete si jej stáhnout zde) pro naplánovat to a ÅŸe dokáşe pÅevést napÄtÃ, s nimiÅŸ pracujeme na mÄÅenÃ, v jednotce, kterou jste vybrali. Můşete pouÅŸÃt jiné jednotky, pokud dáváte pÅednost nebo provádÃte úpravy úpravou zdrojového kódu náÄrtu ...
/*
*
* 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();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Jak můşete zkontrolovat je Velmi jednoduché (I kdyÅŸ se to kvůli nastavenà displeje zdá zdlouhavé), staÄà provést tento pÅevod z napÄtÃ, které deska Arduino dostává, na Åadu dat, která lze zachytit na obrazovku nebo displej.
Pokud vÅ¡e probÄhlo dobÅe, mÄli byste vidÄt informace na obrazovce a hluk na bzuÄáku, kdyÅŸ konfrontujete svůj Geigerův poÄÃtaÄ s nÄjakÜm radioaktivnÃm zdrojem.
Zdroje:
Pokyny PoÄÃtadlo Arduino Geiger pro kutily
Cooking-Hacks - Geiger Counter: Deska snÃmaÄe radiace pro Arduino a Raspberry Pi