Paano gumawa ng isang counter ng Geiger

homemade geiger counter

Three Milles Island, Chernobyl, Fukushima, at maging ang ilan sa pambansang teritoryo tulad ng Coral-I reactor sa Madrid o ang Vandellós-I reactor sa Catalonia. Maraming mga aksidente sa nukleyar nangyari iyon sa buong kasaysayan, at sa kabila ng mga kahila-hilakbot na kahihinatnan, tila ang temang ito ng radiación patuloy itong nakakataas ng isang tiyak na akit. Ngunit ang alam ng iilan ay, sa araw-araw, lahat tayo ay nahantad sa natural na radiation, kapwa na nagmula sa kalawakan at kung saan nagmula sa mga mineral ng mundo ...

Sa gayon, kung nais mong sukatin ang radiation sa paligid mo, sa bagong gabay na ito ay ipinapakita namin sa iyo ng paunti-unti ang pamamaraan ng paano ka makakabuo ng isang geiger counter, iyon ay, isang aparato na may kakayahang sukatin ang radioactivity. Karaniwan ito ay isang aparato na maaaring masukat ang mga maliit na butil na nakakaapekto sa sensor, tulad ng ionizing radiation, kaya't tinatawag itong counter, dahil mabibilang nito ang bilang ng mga epekto at samakatuwid ang antas ng radiation ng isang bagay o lugar.

Ano ang dapat kong malaman bago?

mga simbolo ng di-ionizing at ionizing radiation

Bago simulan ang proyekto ng DIY, nais kong magbigay ng puna tungkol sa radiation, para sa mga hindi nakakaalam tungkol dito. Iyong mga mayroon nang naunang kaalaman, maaari mong laktawan ang seksyong ito at direktang pumunta upang makita ang sumusunod ...

Ano ang radiation?

Ito ay isang kababalaghan ng programa sa enerhiya sa anyo ng mga electromagnetic na alon o mga subatomic na partikulo sa pamamagitan ng isang daluyan. Samakatuwid, maaari tayong magkaroon ng iba't ibang mga uri ng radiation.

Ano ang mga uri ng radiation doon?

electromagnetic spectrum

Maraming mga uri ng radiation, tulad ng thermal, electromagnetic, atbp., ngunit ang mga nakakainteres sa amin dito ay dalawang malalaking grupo:

  • Hindi ionizing: ito ay isang alon o maliit na butil na hindi maaaring alisin ang mga electron mula sa bagay, iyon ay, hindi ito maaaring mag-ionize. Ang mga halimbawa nito ay maaaring mga electromagnetic na alon ng mga microwave, radyo, ilaw, atbp.
  • Nag-ionize: ito ay isang alon o maliit na butil na maaaring mapunit ang mga electron mula sa bagay, iyon ay, maaari itong mai-ionize dahil sa mataas na enerhiya. Samakatuwid, ito ang pinaka-mapanganib sa lahat. Sa loob ng pangkat na ito mayroon kaming mga laser, X-ray, alpha, beta, gamma, braking radiation o bremsstrahlung), atbp.

Kung titingnan natin sa electromagnetic spectrum, ang mga alon na may pinakamahabang haba ng haba ng daluyong, tulad ng radyo o microwave, ay ang hindi gaanong tumatagos, ang mga may pinakamaliit na enerhiya (mas mababang dalas). Habang, sa paglipat namin sa kanan, nakikita natin na sa bawat oras na ang haba ng haba ng haba ng haba at ang dalas ng panginginig ng boses, samakatuwid sila ay may mas maraming enerhiya at mas matalim at nakakasama.

Mga uri ng ionizing radiation:

Alpha, Beta at Gamma

Kung pagtuunan natin ng pansin ionizing radiation, na may kakayahang sukatin ang counter ng Geiger, kailangan nating muling salain at pagtuunan ng pansin ang tatlong mga batayan dahil sa mga phenomena ng nukleyar:

  • alfa: mayroon silang positibong singil at binubuo ng dalawang proton at dalawang neutron, samakatuwid, sila ay isang helium atom. Ang mga ito ay ang hindi gaanong mapanganib at tumagos, dahil maaari silang tumigil sa paggamit ng isang simpleng papel. Ang epekto sa kalusugan ay nakasalalay sa ilang mga isyu, dahil hindi nila maaaring dumaan sa panlabas na layer ng balat, ngunit kung pumasok sila sa katawan maaari silang mapinsala. Ang paglanghap, paglunok, o pag-iniksyon sa katawan ng mga mapagkukunan na gumagawa ng radiation na ito ay maaaring makapinsala sa nabubuhay na tisyu.
  • Beta: ang mga ito ay mga maliit na butil ng negatibong singil sa kuryente, mga electron. Ang mga ito ay mas matalim at masigla kaysa sa mga nauna, at upang pigilan sila maaari naming gawin ito sa isang kusina aluminyo palara. Sa kabila ng pagiging mas matalim, hindi sila nakakasama sa nabubuhay na tisyu at DNA tulad ng mga nauna, dahil ang mga ionization na dulot nito ay mas malawak na nagaganap. Maaari itong maging sanhi ng pagkasunog ng balat, at kung papasok sila sa katawan maaari itong ...
  • Gama: ang mga gamma ray ay ang may pinakamataas na tumatagos na lakas at lakas, samakatuwid ang pinaka-mapanganib sa lahat. Ang mga ito ay mga photon, purong enerhiya na hindi madaling mapahinto, sa mga lead sheet, kongkreto lamang, atbp. Madali silang dumaan sa ating katawan at magdulot ng malubhang pinsala sa tisyu, mga mutasyon ng DNA, atbp., Na kasama nito, tulad ng cancer at kahit biglaang pagkamatay kung mataas ang dosis.

Samakatuwid, ito ay hindi isang laro, at mula sa hwlibre hinihikayat namin kayo na gawin ang lahat ng pag-iingat at alam na alam ang ginagawa mo. Hindi namin alagaan ang mga posibleng problema ...

Mga tubo ng Geiger-Müller:

geiger tube

Ang mga ito ang dugo ng bawat counter ng Geiger, dahil ito ang aparato o sensor na responsable para sa pagtanggap ng radiation at pagbago ng bilang ng mga pagkabigla sa isang de-kuryenteng salpok na may kakayahang mabigyan ng kahulugan ng natitirang circuitry. Kilala ito bilang isang Geiger-Müller tube o simpleng isang Geiger tube, at mabibili mo ito sa iba't ibang mga online store, tulad ng Amazon, Aliexpress, atbp. Ang isa pang pagpipilian ay alisin ito mula sa isang counter ng Geiger na mayroon kaming luma o hindi ginagamit.

Maraming mga ito, iba't ibang mga modelo (SBT-9, LND-712, J408y,…) at iba't ibang mga tagagawa (GSTube, LND, North Optic,…). Ang pinakatanyag ay amerikano at russian, bagaman mayroon ding mga Intsik. Ang ilan sa pinagmulan ng Soviet ay may posibilidad na magkaroon ng murang presyo, ang pinakamahal sa pagiging LND. Ang dapat nating linaw ay ang mga halaga ng boltahe sa pagitan ng kung saan ito gumagalaw, dahil ang analog signal na inilalabas nito ay magiging higit o mas matindi depende sa radiation na nakuha.

Ang operasyon ng geiger tube na may epekto ng maliit na butil

Bansa Nagbebenta Modelo Mga partikulo na kinukuha nito Voltaje materyal presyo
Rusiya GSTube SBM-20 Beta / Gamma 400V Aluminum Bajo
Rusiya GSTube SBM-21 Beta / Gamma 650V Aluminum Bajo
Rusiya GSTube Oo-1g Gama 440V Aluminum Bajo
Rusiya GSTube SBT-9 Beta / Gamma 389V Aluminum Bajo
Rusiya GSTube Oo-3bg Beta / Gamma 400V Aluminum Bajo
EE.UU. Lnd LND-712 Alpha / Beta / Gamma 500V Mika Medio
EE.UU. Lnd LND-7124 Alpha / Beta / Gamma 500V Mika Mataas
EE.UU. Lnd LND-7224 Alpha / Beta / Gamma 500V Mika Mataas
Tsina Hilagang Optic J408y Gama 420V Cristal Bajo
Tsina Hilagang Optic J305B Beta / Gamma 350V Cristal Bajo
Tsina Hilagang Optic J306B Beta / Gamma 420V Cristal Bajo

Iyon ang dahilan kung bakit kakailanganin nating i-calibrate ang aming circuit upang baguhin ang mga signal na ito sa mga yunit na kung saan ang radiation ay karaniwang sinusukat, tulad ng Sievert (Sv), roentgen, o Rem, bukod sa iba pa ... Tulad ng gagawin natin sa isang sensor ng temperatura, dapat nating ibahin ang mga voltase ng output sa mga degree Celcius o sa sukat na sinusukat namin.

SI unit para sa pagsukat ng radiation:

Ang International System (SI) ay mayroong unit nito na Sievert (Sv), tandaan na may mga talahanayan na nagpapahiwatig ng panganib o mga epekto ng radiation na kinukuha natin para sa kalusugan:

mSv Mga epekto sa kalusugan
50-100 Mga pagbabago sa kimika ng dugo
500 Pagduduwal sa isang oras ng oras
700 Pagsusuka
750 Pagkawala ng buhok sa loob ng 2-3 linggo
900 pagtatae
1000 Dumudugo
4000 Posibleng kamatayan sa loob ng dalawang buwan

Alam mo na na hindi lamang ito nakasalalay sa dosis, kundi pati na rin sa pagkakalantad. Iyon ay, makakatanggap tayo ng isang dosis na 100 mSv isang beses at walang nangyari, ngunit kung tumatanggap kami ng 50 mSv sa loob ng buwan, kung gayon ang mga pangmatagalang epekto ay maaaring maging napaka-negatibo ...

Mga mapagkukunan ng radiation para sa mga pagsubok:

Mga kristal na uranium at detector ng usok

Upang maisagawa mga pagsusuri sa radiation, dapat mong malaman na maraming mga pagpipilian. Mayroong mga kristal na uranium tulad ng iyong nakikita sa imaheng ito (kaliwa) kung saan ang mga counter ng Geiger ay nasubok sa mga laboratoryo. Ngunit may iba pang mga mapagkukunan na malapit sa kung saan makakakuha tayo ng radiation o materyal na radioactive, tulad ng mga sensor ng usok sa mga detector ng sunog.

Sa loob ng mga detektor na iyon mayroong isang mapagkukunan ng ionizing radiation ng americium at gumawa ng alpha radiation. Dapat mo ring malaman na maraming mga pagkaing mayaman sa potasa ay may isang isotope na tinatawag na Potassium-40 na naglalabas ng radiation, kahit na hindi ito problema para sa ating katawan, napakababa ng dosis, tulad ng radiation na natatanggap natin mula sa likas na katangian (tiyak mga granite rock) o ang cosmos.

Kami mismo ay radioactive, gawa tayo ng carbon, at carbon-14 ay. Pero magtataka Alam na hawakan namin ang maraming mga bagay na radioactive araw-araw nang hindi alam ito: ilang mga pindutan, keramika, marmol, ilang mga lamp lamp, sigarilyo, pinahiran na papel, ilang wick, atbp. Lahat ng magagamit ko upang subukan ang iyong Geiger counter at makita kung gumagana ito o hindi ...

Ngunit inuulit ko, dapat kang maging maingat sa paghawak ng ilang mga font.

Kinakailangan ang mga materyales:

Kapag ang lahat ng ito ay nalalaman, direkta tayong dumarating ilista ang lahat ng mga sangkap na kailangan namin upang maitayo ang aming homemade Geiger counter:

  1. DC-DC converter / regulator module mataas na boltahe (hal: SODIAL). Tutulungan kami nito na ayusin ang matataas na boltahe na hinawakan ng Geiger-Müller at ibahin ang boltahe na iyon sa isang maliit na boltahe na maihahambing sa mga board ng Arduino at iba pang mga bahagi. Tandaan na kailangang mapaglabanan ang input boltahe ng tubo na iyong pinili.
  2. Module ng pagsingil. Halimbawa ito.
  3. Module ng Bust Kombertidor DC-DC 3-5v.
  4. ArduinoNano, bagaman gumagana ang anumang iba pa, ngunit upang hindi madagdagan ang laki ng sobra, mas mabuti ang Nano.
  5. OLED display 128 × 64 o 128 × 32 na gagamitin namin bilang isang screen upang ipakita ang mga resulta sa pagsukat.
  6. 2n3904 transistor para sa aming tubo.
  7. Mga lumalaban 10M ohms at isa pang 10K.
  8. Pampalapot ng 470pf.
  9. lumipat para sa off at sa.
  10. Buzzer o maliit na tagapagsalita.
  11. AAA na baterya.

Ito sa mga tuntunin ng mga bahagi, kahit na kakailanganin mo rin mga kasangkapan tulad ng mga bakal na panghinang, mga kable para sa ilang mga kasukasuan, Arduino IDE upang iprograma ang board, baterya o baterya, at isang pasadyang kahon din kung nais mong protektahan ang iyong metro. Kung mayroon kang isang 3D printer, maaari mong buuin ang pasadyang kahon ng plastik.

Ang Geiger counter konstruksyon hakbang-hakbang:

Geiger counter circuit diagram

Ang susunod na bagay, kapag mayroon ka ng lahat ng mga bahagi, ay upang tipunin ang lahat ng mga bahagi ng puzzle alinsunod sa diagram na ito na ipinakita namin sa iyo. Ang pagpupulong ito ay medyo simple at hindi na kailangan ng karagdagang paliwanag. Kinokonekta lamang nito ang lahat ng mga elementong tulad nito. Maaari mo itong gawin sa isa breadboard bago subukan na ang lahat ay gumagana nang tama at pagkatapos ay magpatuloy sa paghihinang ng lahat ng mga bahagi upang gawin itong permanenteng.

Mga Hakbang:

Los mga hakbang na susundan ay:

  1. Sa isang multimeter maaari mong i-calibrate ang boltahe (imahe 1). Halimbawa, kung pinili mo ang isang 410V Geiger-Müller tube, kailangan mong ayusin ang potensyomiter ng DC-DC module upang gumana ito sa boltahe na iyon.
  2. Pagkatapos limitahan ang iyong sarili sa maghinang o sumali sa lahat ng mga bahagi tulad ng mga ito ay lumitaw sa nakaraang diagram tulad ng sa Larawan 2.
  3. Maaari mong gamitin ang a kahon upang maprotektahan lahat ng sangkap o hindi.
  4. Ikonekta ang Arduino board sa iyong PC gamit ang isang USB cable at gamit ang Arduino IDE isulat ang sumusunod na programa (maaari mo itong i-download dito) para sa iskedyul ito at maaari nitong mai-convert ang mga voltages kung saan kami nagtatrabaho sa mga sukat sa yunit na iyong napili. Maaari mong gamitin ang iba pang mga yunit kung gusto mo o gumawa ng mga pagsasaayos sa pamamagitan ng pagbabago ng source code ng sketch ...
/*
*
* 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();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Paano mo masuri ang Napakasimple (Bagaman mukhang mahaba ito dahil sa mga setting na iyon para sa display), kailangan mo lamang gawin ang conversion na iyon mula sa boltahe na natanggap ng Arduino board sa isang serye ng data na maaaring makuha sa screen o ipakita.

Kung naging maayos ang lahat, dapat mong makita ang impormasyon sa screen at ingay sa buzzer kapag humarap sa iyong Geiger counter na may ilang mapagkukunang radioactive.

Pinagmulan:

Mga Tagubilin - DIY Arduino Geiger Counter

Cooking-Hacks - Geiger Counter: Radiation Sensor Board para sa Arduino at Raspberry Pi


2 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Paola dijo

    Kumusta, nais kong gawin ito arduino uno at iniisip ko kung ano ang magiging eskematiko upang mai-mount ito at kung may magbabago pa

    1.    Isaac dijo

      Hello paola,
      Ang koneksyon ay pareho sa ONE. At maaari mo ring baguhin ang ilang mga koneksyon sa iba pang mga pin kung gusto mo, ang tanging bagay na dapat mo ring baguhin ang code ng sketch upang tumutugma sa iyong inilagay. Ngunit ito ay pareho. Igalang ang mga koneksyon ng GND at Vcc, at ang iba pa, tulad ng sinabi ko, maaari mo itong ilagay sa ibang numero o sa parehong numero sa iyong board ... (oo, igalang ang digital at analog na I / O habang nasa ang mga ito. Nano board)
      Pagbati!