Následující příspěvek stručně přibližuje jeden z exponátů předváděných na letošním setkání, které proběhlo v rámci akce Arduino Day na MFFUK v Praze.
Cílem bylo připravit ukázku, na níž by se dala demonstrovat jednoduchost a funkčnost detekce ionizujícího záření vycházejícho ze slabých „zářičů“, které jsou běžně dostupné. Pozornost asi nejvíc poutala provokativně umístěná výstražná tabulka označující místa výskytu ionizujícího záření, i když z hlediska intenzity byla aktivita vzorků zanedbatelná.
Základem ukázky je ionizační komora vyrobená z plechovky od konzervy (původně to byly fazole v chili omáčce). Dno plechovky je provrtané a do něj zalepená skleněná vf průchodka, ta tvoří izolaci, uvnitř plechovky je připájený tenký odizolovaný drát, který končí asi 1 cm od plechového víčka nasazeného do obruby na otevřeném konci konzervy. Víčko má pant z kousku lepicí pásky a těsně doléhá do otvoru.
Zesilovač s jedním tranzistorem BC517 (je to Darlington, takže vlastně dva tranzistory v jednom pouzdru) je zapojený „letmou montáží“ a ukrývá se pod stínícím krytem, to je ta malá kovová krabička od čehosi připájená ve třech bodech ke dnu konzervy. Šlo by použít třeba i malou plechovku od tuňáka nebo rajského protlaku. Čtyři vodiče procházejí vypilovaným otvorem pod krajem krytu.
Zesilovač má samostatné napájení baterií 9 V a bez změny zapojení lze použít i dvě baterie (18 V), to by zvýšilo citlivost, ale není to potřeba. Baterie má výhodu v tom, že její napětí je při naprosto nepatrném odběru stabilní, baterie jako samostatný zdroj je potřeba kvůli „plovoucímu“ výstupu vzhledem k zemi navazujícího Arduina. „Zářiče“ se vkládají přímo dovnitř komory za víčko. Schéma zesilovače je na následujícím obrázku.
Arduino Nano měří v pravidelných intervalech napětí na vstupu A0, referenční napětí pro AD převodník je standardní (napájení 5 V). Arduino generuje videosignál a zobrazuje jednak okamžitou hodnotu napětí číselně (bezrozměrný údaj braný z převodníku), jednak graficky ukazuje vývoj napětí v čase za posledních několik málo minut. Nejde o to přesně měřit intenzitu záření, jen o ukázku detekce a případně porovnání výsledků při různých „zářičích“ jako jsou třeba skleněné korálky barvené ochuzeným uranem nebo punčoška do plynové lampy.
Aby se dala nastavit citlivost zobrazení a graf vycházel úhledně, jsou na analogové vstupy Arduina A1 a A2 připojeny jezdce trimrů, jimiž se nastavuje napětí pro zobrazení dolní a horní meze grafu. Při seřizování se nejprve s práznou ustálenou komorou nastaví prvním trimrem výchozí proud „pozadí“ tak, aby byl vidět na grafu při dolním okraji, pak se s nejsilnějším používaným vzorkem nastaví zobrazení napětí těsně pod maximem rozsahu. A protože televize a monitory jsou dnes běžně vybaveny USB konektorem, je Arduino spojeno USB kabelem s televizí a takto získává napájecí napětí. Videosignál k televizi je pochopitelně veden samostatným koaxiálním kablíkem s konektory CINCH.
Program kvůli vysokému zarušení měří napětí v komoře 60x a spočte průměr, pak přepíše okamžitou hodnotu na displeji, posune grafickou část o 1 bod vlevo a vpravo vykreslí sloupec podle posledního měření. Není to nijak dlouhé ani složité, nešlo o komfort a dokonalé zpracování, jen o jednorázovou ukázku.
//video1 - predvedeni grafiky #include <TVout.h> // knihovna TVout #include <video_gen.h> #include <fontALL.h> // vsechny fonty TVout TV; // objekt TV tridy TVout unsigned int nap = 0; unsigned int prumer = 0; int y, spodni, horni; // hodnota vykresleni, meze vykresleni void setup() { // nastaveni pinMode(13, OUTPUT); // kontrolka cyklu TV.begin(_PAL); // generovani signalu PAL TV.clear_screen(); // smazani obrazovky TV.select_font(font6x8); spodni = analogRead(A1); horni = analogRead(A2); } void loop() { // smycka programu // vykresleni digitalWrite(13, HIGH); TV.shift(1, 2); // posun o 1 bod vlevo TV.draw_rect(0, 0, 127, 12, 1, 0); // ramecek kolem napisu TV.print(5, 3, "Napeti v komore:"); // napis TV.print(103, 3, prumer); // vypis prumeru TV.delay_frame(1); // sync y = map(prumer, spodni, horni, 95, 16); // prevod meritka grafu TV.draw_line(127, 95, 127, y, 1); // vykresleni sloupce grafu delay (100); digitalWrite(13, LOW); // mereni 60 hodnot a prumerovani prumer = 0; for (int i = 0; i < 60; i++) { prumer = prumer + analogRead(A0); // nacita napeti TV.delay_frame(1); // sync } prumer = prumer / 60; // spocteni prumeru }
A jak vypadá výsledek? Na snímku obrazovky je nejprve komora prazdná (vlevo), pak je vložena punčoška do lampy a nakonec je opět komora prázdná. Že je to opravdu vliv záření a ne jen toho, že se něco vloží dovnitř, se dá snadno ověřit třeba pomocí složeného kapesníku nebo jakéhokoli jiného neaktivního předmětu v komoře. Krátké špičky nebo poklesy v okamžiku manipulace s komorou jsou normální, podstatný je ustálený stav.