Obsah:
- Zásoby
- Krok 1: Teardown
- Krok 2: Zapojení
- Krok 3: Case Mods
- Krok 4: Napájení
- Krok 5: Nastavení softwaru termální kamery
- Krok 6: Nastavení softwaru LCD obrazovky
- Krok 7: Vylepšení kódu
- Krok 8: Dokončení Touch-Ups
- Krok 9: Sestavení
- Krok 10: Časy testování teploty
Video: 1979 Termální kamera Apollo Pi: 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
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í
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
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í
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
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
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
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
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í
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
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:
Termální obal knihy: 5 kroků
Thermal Book Cover: Je tu opět to roční období! Počasí venku je děsivé-a vaše ruce mrznou, když si prohlížíte Dickenovu vánoční koledu. Co dělat? Existuje několik způsobů, jak tento problém vyřešit: rukavice, vyhřívací podložky atd. Rukavice jsou
Veselý svetr Grinchmas, termální tiskárna + GemmaM0: 5 kroků (s obrázky)
Merry Grinchmas svetr, termální tiskárna + GemmaM0: Svetr Merry Grinchmas je interaktivní oděv, který poskytuje širokou škálu personalizovaných tištěných zpráv jako stížnost, kdykoli se někdo dotkne pomponu Grinchova klobouku. Zprávy před Vánocemi přicházející přes tepelnou tiskárnu ovládanou
1979 Merlin Pi Vysoce kvalitní kamera: 7 kroků (s obrázky)
1979 Merlin Pi Vysoce kvalitní kamera: Tato rozbitá stará ruční hra Merlin je nyní hmatovým, praktickým pouzdrem pro vysoce kvalitní kameru Raspberry Pi. Vyměnitelný objektiv fotoaparátu vykukuje z krytu baterie na zadní straně a na přední straně byla matice tlačítek rep
Fotoaparát s termální tiskárnou napájený Pi: 11 kroků (s obrázky)
Fotoaparát s termální tiskárnou poháněný Pi: Chybí vám váš starý instantní fotoaparát Polaroid nebo černobílý fotoaparát starého Gameboy Classic? Stejně tak my, když cítíme opravdu nostalgii! V tomto Instructable vám ukážeme, jak si vytvořit vlastní instantní kameru pomocí Raspberry Pi, Pi kamery
IR termální kamera M5Stack využívající snímač infračerveného pole AMG8833: 3 kroky
IR termální kamera M5Stack využívající snímač infračerveného pole AMG8833: Jako mnoho dalších jsem byl fascinován termokamerami, ale vždy byly mimo můj cenový rozsah - až dosud !! Při procházení webových stránek Hackaday jsem narazil na tuto sestavu kamery pomocí M5Stack Modul ESP32 a relativně levné