Obsah:

1979 Termální kamera Apollo Pi: 10 kroků (s obrázky)
1979 Termální kamera Apollo Pi: 10 kroků (s obrázky)

Video: 1979 Termální kamera Apollo Pi: 10 kroků (s obrázky)

Video: 1979 Termální kamera Apollo Pi: 10 kroků (s obrázky)
Video: Petr Brož - Vulkanismus na Io (Pátečníci 15.9.2017) 2024, Červenec
Anonim
Image
Image
1979 Termální kamera Apollo Pi
1979 Termální kamera Apollo Pi
1979 Termální kamera Apollo Pi
1979 Termální kamera Apollo Pi

Tento vintage mikrovlnný detektor Apollo má nyní nový lesklý účel jako termokamera poháněná Raspberry Pi Zero se snímačem termokamery Adafruit, který měří teploty a zobrazuje výsledky v reálném čase na jasném 1,3 TFT displeji.

Má přednastavený a dynamický režim - v prvním jsou barvy zobrazené na obrazovce založeny na pevně zakódovaných teplotních prahech a ve druhém lze rozsah barev upravit pomocí posuvníků teploty na palubní desce Adafruit.io. Palubní deska také okamžitě zobrazí všechny snímky nahrané zařízením, které jsou zachyceny pomocí původního tlačítka palce na rukojeti.

Celý systém je napájen tenkou válcovou baterií USB ukrytou v rukojeti, kterou lze snadno dobít vysunutím nosního kužele a připojením kabelu USB.

Pouze tři skripty Pythonu ovládají logiku nabídky, senzor a integraci Adafruit.io, přičemž displej zpracovává PyGame.

Práce na tomto projektu mi opravdu pomohla udržet se pozitivně během uzamčení a díky tomu, že máme více času na ruce, jsme děti a já našli mnoho zajímavých věcí kolem domu, na které to můžeme ukázat!

Podívejte se na Apollo Pi v akci ve videu na YouTube, v případě, že výše uvedenou vestavěnou verzi nevidíte, je na

Zásoby

Mikrovlnný monitor Apollo

Raspberry Pi Zero W

Termální kamera Adafruit AMG8833 Breakout

Obrazovka Adafruit Mini PiTFT 1,3"

Propojovací kabely

3v vibrační kotouč

USB power banka

Krok 1: Teardown

Roztrhat
Roztrhat
Roztrhat
Roztrhat
Roztrhat
Roztrhat

Minulý rok v létě jsem si vzal monitor Apollo z druhé ruky na prodej pro jeho jedinečný vzhled, než pro cokoli jiného - což je stejně tak dobré, jako to rozhodně vidělo lepší dny! Obvody uvnitř byly neúplné a celá věc byla pokryta nepořádkem lepidla, což byl historický pokus o opravu.

Původně to mělo být použito ke kontrole přítomnosti mikrovlnného záření, pravděpodobně v nějakém průmyslovém prostředí vzhledem k jeho designu a vzácnosti tehdejších mikrovlnných trub, i když jsem o tom nemohl zjistit mnohem více. Jednu věc jsem věděl, že by to byl ideální domov pro termální kameru.

Jakmile jsem vyskočil z kónického „nosu“, jeho zbytek se doslova rozpadl a přilepený analogový měřič a obdélníkové tlačítko se snadno odstranily. Tlačítko jsem si ale nechal, bylo to dokonale funkční a opravdu zvláštní tvar, takže jsem se snažil namontovat náhradu do stejné díry.

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

Před oříznutím pouzdra, aby vše sedělo, jsem se nejprve chtěl ujistit, že vím, jak budou součásti ladit, a tak jsem se pustil do kabeláže senzoru a obrazovky. Samotný senzor byl v pořádku, k jeho připojení k Raspberry Pi byly zapotřebí pouze čtyři propojovací kabely.

Obrazovka byla trochu komplikovanější, pinoutový diagram ukázal, že potřebuji připojit 13 propojovacích vodičů - očividně je navržen tak, aby seděl přímo na vrcholu Pi, takže jsem si to mohl skutečně vyčítat. Rozhodl jsem se přidat kousek ženské hlavičky mezi obrazovku a připojení Pi, abych mohl obrazovku sundat a snadno ji připojit. Byl to skvělý nápad a velmi pečlivě jsem sledoval pinoutový diagram, abych připojil záhlaví k Pi.

Dále jsem připájel několik nových propojovacích kabelů k původnímu tlačítku, takže to mohlo být připojeno k GPIO a použito k pořizování snímků termálního obrazu. Nakonec jsem připájel malý vibrační kotouč přímo na kolíky GPIO, abych poskytl haptickou zpětnou vazbu na stisknutí tlačítek.

Krok 3: Case Mods

Modely případu
Modely případu
Modely případu
Modely případu

Jedna z věcí, která vzkřísila monitor Apollo z mého boxu "to do", byl zobrazovací otvor v horní části - to byla zhruba velikost, kterou jsem potřeboval pro malou obrazovku Adafruit. Zhruba. Trvalo přibližně hodinu, než soubor prodloužil otvor na správnou velikost, ale naštěstí se mi podařilo nezničit pouzdro.

Také jsem odřízl části vnitřků, které původně obsahovaly baterii PP3, a vyřezal některé přepážky uvnitř rukojeti, abych vytvořil prostor pro baterii pomocí rotačního nástroje.

Nakonec jsem vyvrtal několik velkých otvorů, aby se kabely pro senzor a nabíjecí kabel mohly dostat z „nosu“ke spojení se zbytkem obvodů.

Krok 4: Napájení

Napájení
Napájení
Napájení
Napájení
Napájení
Napájení
Napájení
Napájení

U tohoto projektu jsem se rozhodl nepoužít baterii LiPo a adaptér/nabíječku, protože v kufru bylo více místa. Místo toho jsem se rozhodl použít standardní USB power banku. Chtěl jsem dostat tenký válcový, aby se vešel do rukojeti, a tak jsem hledal nejlevnější a nejtenčí, který jsem našel na Amazonu. Ten, který dorazil, se sýrovou LED svítilnou a stylem umělé baterie byl nejtenčí, jaký jsem mohl najít, ale při rozbalení jsem si uvědomil, že je stále příliš tlustý, aby se vešel do rukojeti. Pak jsem si uvědomil, že se to rozpadlo - horní odšroubovaná a nahá baterie uvnitř se vysunula a úhledně mi ušetřila 3 mm, které jsem potřeboval, aby se vešel do rukojeti, jaký výsledek!

Dále jsem vzal krátký kabel Micro USB, odizoloval část izolace, odstřihl kladný kabel a připájel jsem krásné čtvercové západkové tlačítko, aby bylo možné ovládat napájení bez nutnosti odpojovat baterii. Toto tlačítko krásně zapadalo do toho, co bylo původně krytem baterie, a docela se shodovalo s tím původním v horní části pouzdra. Teď, když jsem věděl, že se všechno vejde, bylo načase, aby to všechno fungovalo!

Krok 5: Nastavení softwaru termální kamery

Nastavení softwaru termální kamery
Nastavení softwaru termální kamery

Samotný tepelný senzor je Adafruit AMG8833IR Thermal Camera Breakout, který k vytváření tepelného obrazu využívá řadu senzorů 8x8. Funguje s Arduino a Raspberry Pi, ale největší výhodou použití Pi je, že software může pomocí modulu scipy python provádět bikubickou interpolaci na zachycených datech, takže vypadá jako obrázek 32x32, úhledně!

Nastavení senzoru je poměrně jednoduché, ale existuje několik obručí, které je možné přeskočit, a to fungovalo pro mě:

Povolit I2C a SPI na Raspberry Pi (Konfigurace Raspberry Pi> Rozhraní)

Nainstalujte si knihovnu Blinka CircuitPython:

pip3 nainstalujte adafruit-blinka

Dále nainstalujte knihovnu senzorů AMG8XX:

sudo pip3 install adafruit-circuitpython-amg88xx#

Vypněte Pi a připojte senzor - naštěstí jen 4 vodiče!

Dále nainstalujte moduly scipy, pygame a color:

sudo apt-get install -y python-scipy python-pygamesudo barva instalace pip3

V tomto okamžiku můj kód vyvolal chybu scipy, takže jsem ho přeinstaloval pomocí:

Nainstalujte scipy Sudo Pip3

Pak se mi zobrazila chyba: ImportError: libf77blas.so.3: nelze otevřít soubor sdíleného objektu: Žádný takový soubor nebo adresář

To bylo vyřešeno instalací:

sudo apt-get install python-dev libatlas-base-dev

Od té doby ukázkový kód fungoval dobře, spuštění skriptu z konzoly spíše než z Thonny:

sudo python3 /home/pi/FeverChill/cam.py

Díky tomu se displej senzoru objevil na obrazovce v okně pygame a po několika vylepšeních prahů barev/teploty jsem byl hypnotizován teplým obrazem mého obličeje.

Krok 6: Nastavení softwaru LCD obrazovky

Nastavení softwaru LCD obrazovky
Nastavení softwaru LCD obrazovky
Nastavení softwaru LCD obrazovky
Nastavení softwaru LCD obrazovky

Bylo opravdu dobré, aby senzor fungoval, ale teď jsem ho potřeboval nechat zobrazit na malé obrazovce. Obrazovka, kterou jsem použil, je Adafruit Mini PiTFT 1,3 240x240 - hlavně proto, že jeho rozlišení a tvar byly pro termokameru tak akorát, také měla správnou velikost, aby se vešla do pouzdra a nabídla dvě tlačítka připojená k GPIO, která jsem potřeboval.

Pokyny Adafruit zde nabízely dvě možnosti: Easy a Hard way - po experimentování jsem si uvědomil, že musím použít Hard way, protože senzor vyžadoval přímý přístup k framebufferu. Podle pokynů krok za krokem jsem byl v pořádku, dokud jsem nezačal odpovídat na otázku „Chcete, aby se zobrazila konzola“- původně jsem vybral Ne, ale měl jsem říci Ano. Byla to trochu bolest, protože to znamenalo, že musím proces opakovat, ale uvědomil jsem si, že jakmile je Pi nastaveno tak, aby zobrazovalo konzolu na TFT, již nebude zobrazovat plochu přes HDMI (alespoň to byla moje zkušenost).

Přesto, jakmile bylo nastavení dokončeno, po restartu se na malé obrazovce zobrazila miniaturní verze obvyklého procesu spouštění Pi a když jsem spustil ukázkový skript termální kamery, v okně pygame se na malé obrazovce zobrazoval tepelný obraz - velmi uspokojující!

Krok 7: Vylepšení kódu

Vylepšení kódu
Vylepšení kódu
Vylepšení kódu
Vylepšení kódu

Ukázkový kód fungoval dobře, ale chtěl jsem, aby toho udělal trochu víc, takže jsem se pustil do vylepšení skriptů podle mého vkusu. Začal jsem vytvořením skriptu Menu, který se načte při spuštění a dobře využije dvě tlačítka integrovaná do desky displeje.

menu.py

Nejprve jsem našel nějaký Python online, který by na malé obrazovce pomocí PyGame zobrazoval pěkný efekt animované nabídky. Krása tohoto skriptu spočívá v tom, že animuje všechny obrázky v nastavené složce, takže by bylo snadné animaci později změnit (například sladit barvy animace s případem). Nastavil jsem skript nabídky tak, aby stisknutím některého z tlačítek zastavil animaci a otevřel skripty pro horečku nebo chill.py, které zobrazí displej senzoru. S touto prací jsem nastavil skript na spuštění při spuštění - obvykle to dělám úpravou/etc/xdg/lxsession/LXDE -pi/autostart, ale protože tato metoda závisí na načítání plochy, tentokrát jsem potřeboval jinou možnost.

Nejprve jsem tedy upravil soubor rc.local …

sudo nano /etc/rc.local

… pak přidán v následujícím těsně nad řádek Konec …

sudo /home/pi/FeverChill/menu.py &

… když jsme nejprve zajistili, že skript menu.py měl na samém vrcholu následující …

#!/usr/bin/env python3

… A také po nastavení menu.py jako spustitelného skriptu zadáním:

chmod +x /home/pi/FeverChill/menu.py

do terminálu.

fever.py (Preset)

Pro skript Preset jsem nejprve nastavil prahové hodnoty barvy / teploty, přičemž spodní (modrý) nastavím na 16 a horní (červený) na 37,8. To by teoreticky stále zobrazovalo obličej člověka zeleně, ale pokud by teplota byla 37,8 stupňů nebo vyšší, svítilo by červeně. Na internetu je mnoho výzkumů o odběru tělesné teploty různými metodami, ale vzhledem k tomu, že rozptyl senzoru je +/- 2,5 stupně, rozhodl jsem se držet nejpoužívanějšího rozsahu „horečky“- to lze snadno změnit pomocí ssh v pozdější době.

Dále jsem nastavil dvě tlačítka na obrazovce pro zavření aktuálního skriptu a otevření menu.py. Také jsem chtěl najít způsob, jak zachytit a exportovat obraz z kamery, a našel jsem správný příkaz PyGame

pygame.image.save (lcd, "thermal.jpg")

Nastavil jsem to tak, aby se spustilo, když bylo stisknuto tlačítko „palce“- to, které jste původně použili k odečtu mikrovln. To se postaralo o zachycení obrázku, dále jsem přidal některé řádky Pythonu, aby byl obrázek ihned po zachycení okamžitě nahrán na řídicí panel Adafruit IO, aby jej bylo možné zobrazit na jiných zařízeních a snadno stáhnout. Rychlým „uložit jako“byl dokončen přednastavený skript.

chill.py (dynamický)

Termokamera je víc než jen hledat konkrétní teploty a chtěl jsem, aby byl dynamický skript flexibilní, aby bylo možné snadno upravit horní a dolní prahové hodnoty barev. Nechtěl jsem do zařízení přidávat další tlačítka a komplikovat navigaci, proto jsem se rozhodl použít posuvníky na palubní desce Adafruit.io.

Převážnou část kódu Adafruit jsem již měl ve skriptu Preset, takže jsem musel přidat několik dalších řádků, aby se aktuální hodnoty posuvníku z řídicího panelu načtily při spuštění a nastavily jako výchozí nastavení zobrazení.

Kód, který jsem použil, je k dispozici na GitHubu, k opětovnému použití stačí stáhnout složku FeverChill do složky / pi / na vašem Pi a do skriptů zadat své pověření Adafruit.io a názvy krmiv, jakmile se zobrazí & čidlo je nastaveno.

Když skripty fungovaly dobře, bylo načase přejít na něco špinavějšího!

Krok 8: Dokončení Touch-Ups

Dokončení Touch-Ups
Dokončení Touch-Ups
Dokončení Touch-Ups
Dokončení Touch-Ups
Dokončení Touch-Ups
Dokončení Touch-Ups

Původně měl tento projekt být rychlým odvedením pozornosti od používání tepelného senzoru k něčemu jinému, ale při současných událostech jsem se do něj čím dál tím víc vtahoval a drobné detaily, které by ho roztáhly a učinily z něj větší výzvu.

S pouzdrem Apollo Monitor se docela hezky pracovalo, snadno se stříhalo a brousilo, ale abych to hezky dokončil, chtěl jsem zastrčit některé viditelné plošné spoje za malované „masky“. Trvalo to věky, ručně je vyřezávat z kusů odpadního plastu, ale byla to uspokojivá práce. Nejprve jsem vytvořil malý, který zakryl desku obrazovky, ale nechal mikrospínače viditelné. Dále jsem vyrobil jeden pro tepelný senzor, abyste neviděli holou elektroniku, kdybyste se podívali dolů na „konec podnikání“.

O barevném schématu jsem se rozhodl pár dní předtím, než se Spojené království dostalo do zablokování, a měl jsem štěstí, že jsem v blízkém železářství našel barvy, které jsem chtěl. Když se případ rozdělil tak pěkně na poloviny, bylo navrženo dvoubarevné barevné schéma a poté jsem to rozšířil na „kužel nosu“a kryt snímače. Malování bylo skvělou zábavou, první teplý den v roce, i když to znamenalo malování, zatímco vosy v kůlně se míchaly a mlely. Nikdy jsem nepoužil maskovací pásku se sprejem, ale jsem opravdu potěšen tím, jak vznikly výsledné dvoubarevné kousky.

Když jsem se poučil z předchozích sestavení, nechal jsem natřené díly ztuhnout dobrý týden před montáží a mezitím jsem začal dávat dohromady video.

Krok 9: Sestavení

Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění

Kdykoli pracuji na projektu, rád se dostanu do fáze, kdy je vše připraveno k montáži jako stavebnice vlastní výroby. Neexistují žádné záruky, že to všechno do sebe zapadne a pokyny existují pouze v mé hlavě, ale je to moje oblíbená část každé stavby.

Tentokrát to šlo velmi hladce - hlavně proto, že jsem měl více času věnovat se malým detailům a ujistit se, že je všechno jen tak. Nejprve jsem zalepil obrazovku do pouzdra a poté přidal tlačítko „zachytit“- to byly jediné části připojené k horní části pouzdra, takže to bylo snadné snadné zahájení.

Potom jsem lehce za horka vlepil bateriový blok do rukojeti a Pí s držákem nasadil do pouzdra. Poté byl snímač kamery opatrně vlepen do nosního kužele, vypínač byl přišroubován ke krytu baterie a vše bylo připojeno.

Pro všechna připojení jsem použil propojovací kabely, ale jen pro zvláštní opatrnost jsem je nalepil za tepla pro případ jakéhokoli pohybu během závěrečného svinutí obou polovin. Ve skutečnosti to bylo jen trochu svinstvo, ale žádné praskavé zvuky, takže jakmile byly obě poloviny těsně u sebe, zasunul jsem nosní kužel a zajistil šroub rukojetí - jediné dvě věci držely celou sestavu pohromadě.

Poprvé to nefungovalo, během prvního squishathonu se mi podařilo odpojit obrazovku, ale s několika strategickými ohyby kabelu to všechno skončilo šťastně podruhé. Čas ukázat na věci!

Krok 10: Časy testování teploty

Časy testování teploty
Časy testování teploty
Časy testování teploty
Časy testování teploty
Časy testování teploty
Časy testování teploty
Časy testování teploty
Časy testování teploty

To, že jsem měl více času doma, mi opravdu pomohlo soustředit se (posednout?) Více než obvykle na malé detaily tohoto projektu, což rozhodně přispělo k čistšímu dokončení a menšímu počtu překvapení při montáži - a také mi to pomohlo udržet si duševní pohodu rovné a úzké. Původní plán senzoru byl něco úplně jiného, takže jsem velmi potěšen konečným výsledkem, pomalým a uspokojivým stavěním.

Apollo Pi vypadá skvěle i na polici projektu a je rozhodně zábavným a užitečným nástrojem, který můžeme mít všude kolem sebe, nemůžeme na něj přestat ukazovat! V ideálním světě by to bylo o něco vyšší rozlišení a já musím najít nějaký způsob, jak „převrátit“displej, jak je v tuto chvíli zrcadlený, ale to jsou malé niggle.

Děkujeme za přečtení a zůstaňte všichni v bezpečí.

Moje další projekty Old Tech, New Spec jsou všechny na Instructables na

Další podrobnosti jsou na webových stránkách https://bit.ly/OldTechNewSpec. a jsem na Twitteru @OldTechNewSpec.

Doporučuje: