Obsah:
- Zásoby
- Krok 1: Vývoj DPS
- Krok 2: Software Devopment
- Krok 3: Čtení senzorů
- Krok 4: Nastavení tepelného senzoru
- Krok 5: Povolení rozhraní I2C
- Krok 6: Zapojení senzoru a kamery
- Krok 7: Tepelné mapování
- Krok 8: Zpracování obrazu
- Krok 9: Soubory kódu a PCB
- Krok 10: Závěr
Video: Cenově výhodná termokamera: 10 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
- Vyvinul jsem zařízení, které lze připojit k dronu a které může živě streamovat smíšený rámeček z termografického obrazu ukazujícího tepelné záření a pravidelné fotografování s viditelným světlem.
- Platforma se skládá z malého jednostranného počítače, snímače termokamery a běžného kamerového modulu.
- Tento projekt si klade za cíl prozkoumat možnosti nízkonákladové termovizní platformy pro detekci poškození solárního panelu, který se vyznačuje tepelnými podpisy.
Zásoby
- Raspberry Pi 3B+
- Panasonic AMG8833 mřížkové oko
- Pi kamera V2
- Notebook s prohlížečem VNC
Krok 1: Vývoj DPS
- Desku plošných spojů pro snímač mřížkových očí Panasonic lze navrhnout pomocí systému Auto-desk EAGLE.
- Soubor.brd je vyvíjen podobně jako modul Adafruit AMG8833 s mírnými úpravami
- Poté lze PCB vytisknout u výrobců PCB a já jsem použil pcbway.com, kde byla moje první objednávka zcela zdarma.
- Zjistil jsem, že pájení desek plošných spojů je zcela odlišné od pájení, které jsem znal, protože zahrnovalo zařízení pro povrchovou montáž, a tak jsem šel k jinému výrobci desek plošných spojů a nechal jsem svou desku pájet se snímačem.
Krok 2: Software Devopment
- Kód je napsán v Thonny, integrovaném vývojovém prostředí pythonu.
- Postupem projektu bylo připojení pi kamery a instalace souvisejícího softwaru.
- Dalším krokem bylo připojení tepelného senzoru ke správnému zapojení pinů GPIO a instalace knihovny Adafruit pro využití senzoru.
- Knihovna Adafruit obsahovala skript pro čtení senzoru a mapování teplot na barvy, nicméně vytvořené pohyblivé obrázky nebylo možné implementovat
- Proto byl kód přepsán do formátu podporujícího zpracování obrazu, hlavně pro spojení dvou snímků dohromady.
Krok 3: Čtení senzorů
- Ke sběru dat z termokamery byla využita knihovna ADAFRUIT, která umožňuje rychlé čtení senzorů pomocí příkazů readpixels (), generování pole obsahujícího temepratur ve stupních Celsia měřených ze senzorů oddělených prvků.
- U kamery Pi generuje příkaz funkce picamera.capture () obrázek se zadaným výstupním formátem souboru
- Aby vyhovovalo rychlému zpracování, bylo nižší rozlišení nastaveno na 500 x 500 pixelů
Krok 4: Nastavení tepelného senzoru
- Nejprve musíme nainstalovat balíčky Adafruit Library a python
- Otevřete příkazový řádek a spusťte: sudo apt-get update, který vás aktualizuje Pi
- Poté zadejte příkaz: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
- Poté spusťte: git clone https://github.com/adafruit/Adafruit_Python_GPIO….který stáhne balíček Adafruit do vašeho Raspberry Pi
- Přesunout se do adresáře: cd Adafruit_Python_GPIO
- A nainstalujte nastavení spuštěním příkazu: sudo python setup.py install
- Nyní nainstalujte scipy a pygame: sudo apt-get install -y python-scipy python-pygame
- Nakonec nainstalujte knihovnu barev zadáním příkazu: sudo pip install color Adafruit_AMG88xx
Krok 5: Povolení rozhraní I2C
- Zadejte příkaz: sudo raspi-config
- Klikněte na Pokročilé možnosti a vyberte I2C, poté jej povolte a vyberte Dokončit
- Chcete -li úspěšně povolit I2C, restartujte počítač Pi
- Ujistěte se, že jste povolili také rozhraní Camera a VNC
Krok 6: Zapojení senzoru a kamery
- K Pi byste měli připojit pouze 4 piny AMG8833 a ponechat IR pin.
- Napájení 5V a uzemnění lze připojit k pinům GPIO 1 a 6
- SDA a SCL jsou zapojeny do pinů 4 a 5 Pi.
- Přihlaste se k malině pomocí ssh
- spustit: sudo i2cdetect -y 1
- V 9. sloupci byste měli vidět „69“, pokud ne, je problém v zapojení senzoru pomocí Pi.
- Nakonec připojte pi kameru v2 ke slotu pro kameru v Raspberry Pi
Krok 7: Tepelné mapování
- Zadejte příkaz: git clone
- Přesuňte se do adresáře Adafruit_AMG88xx_python/examples
- zadejte příkaz: sudo python thermal_cam.py
- Níže jsem připojil kód pro tepelné mapování AMG8833.
Krok 8: Zpracování obrazu
-
Mapování teploty
- Pro vizualizaci tepelných dat jsou teplotní hodnoty mapovány do barevného přechodu v rozmezí od modré po červenou se všemi ostatními barvami mezi nimi
- Po spuštění senzoru je nejnižší teplota namapována na 0 (modrá) a nejvyšší teplota na 1023 (červená)
- Všem ostatním teplotám mezi nimi jsou v rámci intervalu přiřazeny korelované hodnoty
- Výstup snímače je 1 x 64 pole, jehož velikost je změněna na matici.
-
Interpolace
- Rozlišení tepelného senzoru je poměrně nízké, 8 x 8 pixelů, takže ke zvýšení rozlišení na 32 x 32 je použita krychlová interpolace, což má za následek 16krát větší matici
- Interpolace funguje tak, že se vytvoří nové datové body mezi množinou známých bodů, přesnost se však snižuje.
-
Čísla k obrázkům
- Čísla v rozsahu od 0 do 1023 v matici 32 x 32 jsou převedena na desítkový kód v barevném modelu RGB.
- Z desítkového kódu je snadné vygenerovat obrázek pomocí funkce z knihovny SciPy
-
Změna velikosti pomocí vyhlazování
- Chcete -li změnit velikost obrázku 32 x 32 na 500 x 500, aby odpovídal rozlišení kamery Pi, používá se PIL (Python Image Library).
- Má filtr vyhlazování, který při zvětšení vyhladí okraje mezi pixely
-
Transparentní překrytí obrázku
- Digitální obraz a tepelný obraz jsou poté smíchány do jednoho konečného obrazu a každý je přidán s 50% průhledností.
- Když jsou obrazy ze dvou senzorů s paralelní vzdáleností mezi sebou sloučeny, nebudou se zcela překrývat
- Nakonec se zobrazí minimální a maximální teplota podle AMG8833 s překrývajícím se textem na displeji
Krok 9: Soubory kódu a PCB
Níže jsem připojil testovací a konečný kód projektu
Krok 10: Závěr
- Proto byla termální kamera postavena s Raspberry Pi a AMG8833.
- Konečné video bylo vloženo do tohoto příspěvku
- Lze pozorovat, že teplota se okamžitě mění, když se zapalovač přiblížím k nastavení a plamen zapalovače byl senzorem přesně detekován.
- Tento projekt lze proto dále rozvíjet pro detekci horečky u lidí vstupujících do místnosti, což bude v této krizi COVID19 velmi užitečné.
Doporučuje:
Cenově dostupný šestihranný Arduino Nano 18 DOF s ovládáním PS2: 13 kroků (s obrázky)
Cenově dostupný PS2 ovládaný hexapod Arduino Nano 18 DOF: Jednoduchý robot Hexapod využívající servo ovladač arduino + SSC32 a bezdrátové ovládání pomocí joysticku PS2. Servo řadič Lynxmotion má mnoho funkcí, které mohou poskytovat krásný pohyb pro napodobování pavouka. Myšlenkou je vytvořit šestihranného robota, který je
Cenově dostupné řešení vize s robotickým ramenem založeným na Arduinu: 19 kroků (s obrázky)
Cenově dostupné řešení vize s robotickým ramenem založeným na Arduinu: Když mluvíme o strojovém vidění, vždy nám to připadá tak nedosažitelné. Zatímco jsme vytvořili demo vize s otevřeným zdrojem, které by bylo super snadné udělat pro každého. V tomto videu s kamerou OpenMV robot bez ohledu na to, kde je červená kostka
IR termokamera: 16 kroků
IR termální kamera: Už jste někdy sledovali sci-fi nebo akční film, kde se postavy přesunou do černé místnosti a zapnou své “ tepelné vidění ”? Nebo jste někdy hráli Metroid Prime a pamatujete si tepelnou clonu, kterou dostal hlavní hrdina?
Cenově dostupný telefon ovládaný telefonem: 6 kroků
Cenově dostupný telefon ovládaný telefonem: Před časem jsem vyrobil telefonem ovládaný rover pomocí MotorAir. Chtěl jsem se vrátit k základní myšlence, ale použít levnější a široce dostupné díly. Protože je to založeno na Arduinu, je to skvělý odrazový můstek pro více než jen rover, který pohání
Vylepšená termokamera PiEyeR: 8 kroků (s obrázky)
Vylepšená termokamera PiEyeR: Přehled Deska IR termální kamery Adafruit AMG8833 může poskytovat infračervenou kameru podobnou & FLIR ™ ” přibližně za 1/10 ceny předchozích termálních zobrazovacích jednotek Far IR. Rozlišení a citlivost samozřejmě nejsou tak vysoké