Wyspa Three Milles, Czarnobyl, Fukushima, a nawet niektóre na terytorium kraju, takie jak reaktor Coral-I w Madrycie lub reaktor Vandellós-I w Katalonii. Jest wiele wypadki jądrowe które miały miejsce w całej historii i pomimo strasznych konsekwencji wydaje się, że ten temat promieniowanie nadal wzbudza pewną atrakcyjność. Niewielu jednak wie, że każdego dnia wszyscy jesteśmy narażeni na naturalne promieniowanie, zarówno pochodzące z kosmosu, jak i pochodzące z minerałów ziemi ...
Cóż, jeśli chcesz zmierzyć promieniowanie wokół siebie, w tym nowym przewodniku pokażemy Ci krok po kroku procedurę jak zbudować licznik Geigeraczyli urządzenie zdolne do pomiaru radioaktywności. Zasadniczo jest to urządzenie, które może mierzyć cząstki uderzające w czujnik, takie jak promieniowanie jonizujące, dlatego nazywa się je licznikiem, ponieważ może zliczać liczbę uderzeń, a tym samym poziom promieniowania obiektu lub miejsca.
Co powinienem wiedzieć wcześniej?
Zanim zacznę projekt DIY, chciałbym coś skomentować o promieniowaniu, dla tych, którzy o tym nie wiedzą. Ci z was, którzy mają już wcześniejszą wiedzę, mogą pominąć tę sekcję i przejść bezpośrednio do następujących ...
Co to jest promieniowanie?
To jest fenomen programowanie energii w postaci fal elektromagnetycznych lub cząstek subatomowych przez ośrodek. Dlatego możemy mieć różne rodzaje promieniowania.
Jakie są rodzaje promieniowania?
Jest wiele rodzaje promieniowania, takie jak termiczne, elektromagnetyczne itp., ale te, które nas tu interesują, to dwie duże grupy:
- Niejonizujący: jest to fala lub cząstka, która nie może usunąć elektronów z materii, to znaczy nie może jonizować. Przykładami mogą być fale elektromagnetyczne mikrofal, radia, światła itp.
- Jonizujący: jest to fala lub cząstka, która może oderwać elektrony od materii, to znaczy może jonizować ze względu na swoją wysoką energię. Dlatego jest najbardziej niebezpieczny ze wszystkich. W ramach tej grupy mamy lasery, promienie X, alfa, beta, gamma, promieniowanie hamowania czy bremsstrahlung) itp.
Jeśli spojrzymy w widmie elektromagnetycznym, fale o najdłuższych długościach, takie jak radio czy mikrofale, są najmniej przenikające, te o najmniejszej energii (niższej częstotliwości). Podczas gdy przesuwając się w prawo, widzimy, że za każdym razem, gdy długość fali jest krótsza, a częstotliwość wibracji większa, to mają one więcej energii i są bardziej penetrujące i niszczące.
Rodzaje promieniowania jonizującego:
Jeśli skupimy się na promieniowanie jonizujące, który jest w stanie zmierzyć licznik Geigera, musimy ponownie przefiltrować i skupić się na trzech podstawach związanych ze zjawiskami jądrowymi:
- Alfa: mają ładunek dodatni i składają się z dwóch protonów i dwóch neutronów, to znaczy są atomem helu. Są najmniej niebezpieczne i penetrujące, ponieważ można je zatrzymać zwykłym papierem. Wpływ na zdrowie zależy od pewnych problemów, ponieważ nie mogą one nawet przeniknąć przez zewnętrzną warstwę skóry, ale jeśli dostaną się do organizmu, mogą być szkodliwe. Wdychanie, połknięcie lub wstrzyknięcie do organizmu źródeł wytwarzających to promieniowanie może uszkodzić żywą tkankę.
- beta: są to cząstki o ujemnym ładunku elektrycznym, elektrony. Są bardziej przenikliwe i energiczne niż poprzednie, a żeby je powstrzymać, możemy to zrobić przy pomocy kuchennej folii aluminiowej. Pomimo tego, że są bardziej penetrujące, nie są tak szkodliwe dla żywej tkanki i DNA jak poprzednie, ponieważ wywoływane przez nie jonizacje występują szerzej. Może to spowodować oparzenia skóry, a jeśli dostaną się do organizmu, może to być ...
- Gamma: promienie gamma to te, które mają największą moc i energię, a zatem są najbardziej niebezpieczne ze wszystkich. To fotony, czysta energia, której nie da się łatwo zatrzymać, tylko blachami ołowianymi, betonem itp. Z łatwością przechodzą przez nasze ciało i powodują poważne uszkodzenia tkanek, mutacje DNA itp., Z tym, co się z tym wiąże, takie jak rak, a nawet nagła śmierć, jeśli dawka jest wysoka.
Dlatego nie jest to gra i od hwlibre zachęcamy do tego podjąć wszelkie środki ostrożności i dobrze wiedzieć, co robisz. Nie zajmujemy się ewentualnymi problemami ...
Rury Geigera-Müllera:
Są siłą napędową każdego licznika Geigera, ponieważ jest to urządzenie o czujnik który jest odpowiedzialny za odbieranie promieniowania i przekształcanie tej liczby wstrząsów w impuls elektryczny, który może być zinterpretowany przez resztę obwodu. Jest znany jako tuba Geigera-Müllera lub po prostu tuba Geigera i można ją kupić w różnych sklepach internetowych, takich jak Amazon, Aliexpress itp. Inną opcją jest usunięcie go z licznika Geigera, który mamy stary lub nieużywany.
Jest ich wiele, różne modele (SBT-9, LND-712, J408y,…) i różni producenci (GSTube, LND, North Optic,…). Najpopularniejsze to Amerykanie i Rosjanie, chociaż są też Chińczycy. Niektóre produkty pochodzenia radzieckiego mają zazwyczaj niskie ceny, z których najdroższe to NLD. Musimy mieć jasność co do wartości napięcia, między którymi się porusza, ponieważ emitowany przez niego sygnał analogowy będzie mniej lub bardziej intensywny w zależności od przechwyconego promieniowania.
kraj | Sprzedawca | model | Cząsteczki, które wychwytuje | Voltaje | Materiał | cena |
---|---|---|---|---|---|---|
Rosja | GSTube | SBM-20 | Beta / Gamma | 400V | Aluminium | Niski |
Rosja | GSTube | SBM-21 | Beta / Gamma | 650V | Aluminium | Niski |
Rosja | GSTube | Tak - 1g | Gamma | 440V | Aluminium | Niski |
Rosja | GSTube | SBT-9 | Beta / Gamma | 389V | Aluminium | Niski |
Rosja | GSTube | Tak-3bg | Beta / Gamma | 400V | Aluminium | Niski |
EE.UU. | LND | LND-712 | Alpha / Beta / Gamma | 500V | Mika | Medium |
EE.UU. | LND | LND-7124 | Alpha / Beta / Gamma | 500V | Mika | Wysoki |
EE.UU. | LND | LND-7224 | Alpha / Beta / Gamma | 500V | Mika | Wysoki |
Chiny | Optyka północna | J408y | Gamma | 420V | Cristal | Niski |
Chiny | Optyka północna | J305B | Beta / Gamma | 350V | Cristal | Niski |
Chiny | Optyka północna | J306B | Beta / Gamma | 420V | Cristal | Niski |
Za to będziemy musieli skalibrować nasz obwód aby przekształcić te sygnały w jednostki, w których zwykle mierzone jest promieniowanie, takie jak między innymi Sievert (Sv), rentgen lub Rem ... Tak jak w przypadku czujnika temperatury, musimy przekształcić te napięcia wyjściowe w stopnie Celsjusza lub w skali, którą mierzymy.
Jednostka SI do pomiaru promieniowania:
System międzynarodowy (SI) ma jako jednostkę jednostkę Siwert (Sv)pamiętaj, że istnieją tabele, które wskazują na niebezpieczeństwo lub skutki promieniowania, które wychwytujemy dla zdrowia:
mSw | Efekty zdrowotne |
---|---|
50-100 | Zmiany w chemii krwi |
500 | Nudności w ciągu kilku godzin |
700 | Wymioty |
750 | Wypadanie włosów w ciągu 2-3 tygodni |
900 | biegunka |
1000 | Krwawienie |
4000 | Możliwa śmierć za dwa miesiące |
Wiesz już, że zależy nie tylko od dawki, ale także od ekspozycja. Czyli jednorazowo możemy otrzymać dawkę 100 mSv i nic się nie dzieje, ale jeśli otrzymujemy 50 mSv miesiącami, to długofalowe skutki mogą być bardzo negatywne ...
Źródła promieniowania do badań:
Aby wykonać testy radiacyjnepowinieneś wiedzieć, że jest kilka opcji. Istnieją kryształy uranu, takie jak te, które widzisz na tym zdjęciu (po lewej), za pomocą których liczniki Geigera są testowane w laboratoriach. Ale są inne źródła, do których bliżej możemy dostać promieniowanie lub materiał radioaktywny, takie jak czujniki dymu w wykrywaczach ognia.
Wewnątrz tych detektorów są źródło promieniowania jonizującego ameryku i wytwarzają promieniowanie alfa. Powinieneś nawet wiedzieć, że wiele pokarmów bogatych w potas ma izotop o nazwie Potas-40, który emituje promieniowanie, chociaż nie jest to w ogóle problem dla naszego organizmu, to bardzo małe dawki, podobnie jak promieniowanie, które otrzymujemy z samej przyrody (pewne granitowe skały) lub kosmos.
My sami jesteśmy radioaktywni, jesteśmy stworzeni z węgla, a węgiel-14 jest. Ale zaskoczy Wiedząc, że każdego dnia mamy do czynienia z wieloma radioaktywnymi rzeczami, nie wiedząc o tym: niektóre guziki, ceramika, marmur, niektóre lampy kempingowe, papierosy, papier powlekany, niektóre knoty itp. Wszystko, czego mogłem użyć, aby przetestować twój licznik Geigera i sprawdzić, czy działa, czy nie ...
Potrzebne materiały:
Gdy już to wszystko jest znane, przechodzimy bezpośrednio do wypisz wszystkie potrzebne nam komponenty aby zbudować nasz domowy licznik Geigera:
- Moduł przetwornika / regulatora DC-DC wysokie napięcie (np .: SODIAL). Pomoże nam to dostosować wysokie napięcia obsługiwane przez Geigera-Müllera i przekształcić to napięcie w małe napięcie porównywalne z płytami Arduino i innymi komponentami. Pamiętaj, że musi on wytrzymać napięcie wejściowe wybranej przez Ciebie lampy.
- Moduł ładowania. Na przykład jest.
- Moduł biustu Przetwornik DC-DC 3-5 V.
- ArduinoNanoChociaż każdy inny jest również przydatny, ale aby nie zwiększać zbytnio rozmiaru, preferowany jest Nano.
- Wyświetlacz OLED 128 × 64 lub 128 × 32, którego użyjemy jako ekranu do pokazania wyników pomiarów.
- Tranzystor 2n3904 dla naszej rury.
- Rezystory 10 M omów i kolejne 10 K.
- Skraplacz 470 pf.
- przełącznik na wyłączanie i włączanie.
- Brzęczyk lub mały głośnik.
- Bateria AAA.
To pod względem komponentów, chociaż będziesz również potrzebować narzędzia takie jak lutownice, okablowanie niektórych złączy, Arduino IDE do programowania płytki, baterii lub baterii, a także niestandardowe pudełko, jeśli chcesz chronić swój licznik. Jeśli masz drukarkę 3D, możesz zbudować niestandardowe plastikowe pudełko.
Budowa licznika Geigera krok po kroku:
Następną rzeczą, gdy masz już wszystkie elementy, jest złożenie wszystkich elementów układanki zgodnie z przedstawionym przez nas schematem. Plik montaje jest to stosunkowo proste i nie wymaga dalszych wyjaśnień. Po prostu łączy wszystkie takie elementy. Możesz to zrobić w jednym Płytka prototypowa wcześniej, aby sprawdzić, czy wszystko działa poprawnie, a następnie przystąpić do lutowania wszystkich komponentów, aby było trwałe.
Kroki:
L kroki do naśladowania Są one następujące:
- Za pomocą multimetru możesz kalibrować napięcie (zdjęcie 1). Na przykład, jeśli wybrałeś lampę Geigera-Müllera 410 V, musisz wyregulować potencjometr modułu DC-DC tak, aby działał przy tym napięciu.
- Następnie ogranicz się do przylutuj lub połącz wszystkie komponenty jak wyglądają na poprzednim schemacie, jak na obrazku 2.
- Możesz użyć pudełko do ochrony wszystkie elementy, czy nie.
- Podłącz płytkę Arduino do komputera za pomocą kabla USB i za pomocą IDE Arduino napisz następujący program (możesz go pobrać tutaj) dla zaplanuj to i że może konwertować napięcia, z którymi pracujemy, w pomiarach w wybranej przez Ciebie jednostce. Jeśli wolisz, możesz użyć innych jednostek lub wprowadzić poprawki, modyfikując kod źródłowy szkicu ...
/* * * 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 możesz to sprawdzić Bardzo prosty (Chociaż wydaje się długi z powodu tych ustawień wyświetlacza), wystarczy dokonać konwersji z napięcia, które otrzymuje płyta Arduino, na serię danych, które można przechwycić na ekranie lub wyświetlaczu.
Jeśli wszystko poszło dobrze, powinieneś zobaczyć informacje na ekranie i szum na brzęczyku podczas konfrontacji licznika Geigera z jakimś radioaktywnym źródłem.
Źródła:
Instrukcje - DIY Licznik Geigera Arduino
Gotowanie-triki - Licznik Geigera: płytka czujnika promieniowania dla Arduino i Raspberry Pi
Witam, chciałbym to zrobić z arduino uno i zastanawiałem się, jaki byłby schemat montażu i czy coś innego by się zmieniło
Cześć Paola,
Połączenie jest takie samo w JEDNYM. Możesz nawet zmienić niektóre połączenia na innych pinach, jeśli wolisz, jedyną rzeczą, którą powinieneś również zmienić kod szkicu, aby odpowiadał tym, które umieściłeś. Ale to jest to samo. Szanuj połączenia GND i Vcc, a reszta, jak powiedziałem, możesz umieścić to w innym numerze lub w tym samym numerze na swojej płycie ... (tak, szanuj cyfrowe i analogowe wejścia / wyjścia, tak jak są w Nano tablica)
Pozdrowienia!