Turinys:
- Prekės
- 1 žingsnis: PCB kūrimas
- 2 veiksmas: programinės įrangos kūrimas
- 3 žingsnis: skaitykite jutiklius
- 4 žingsnis: Šilumos jutiklio nustatymas
- 5 veiksmas: įgalinkite „I2C“sąsają
- 6 žingsnis: Jutiklio ir fotoaparato prijungimas
- 7 žingsnis: šilumos kartografavimas
- 8 žingsnis: vaizdo apdorojimas
- 9 veiksmas: kodo ir PCB failai
- 10 žingsnis: Išvada
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
- Aš sukūriau įrenginį, kurį galima prijungti prie bepiločio orlaivio ir kuris gali tiesiogiai transliuoti mišrų kadrą, pagamintą iš termografinio vaizdo, rodančio šiluminę spinduliuotę ir įprastą fotografiją su matoma šviesa.
- Platformą sudaro nedidelis vieno kompiuterio kompiuteris, šiluminės kameros jutiklis ir įprastas kameros modulis.
- Šiuo projektu siekiama išnagrinėti pigių terminio vaizdo platformos galimybes aptikti saulės skydo, kuriam būdingi šilumos ženklai, pažeidimus.
Prekės
- Raspberry Pi 3B+
- „Panasonic AMG8833“tinklelis-akis
- „Pi“kamera V2
- Nešiojamasis kompiuteris su VNC peržiūros priemone
1 žingsnis: PCB kūrimas
- „Panasonic“tinklelio akių jutiklio PCB plokštė gali būti sukurta naudojant „Auto-desk EAGLE“.
- . Brd failas yra sukurtas panašiai kaip „Adafruit AMG8833“modulis su nedideliais pakeitimais
- Tada PCB galima atspausdinti su PCB gamintojais, o aš naudoju pcbway.com, kur pirmasis mano užsakymas buvo visiškai nemokamas.
- Radau, kad PCB litavimas visiškai skiriasi nuo man žinomo litavimo, nes tai susiję su ant paviršiaus sumontuotais įtaisais, todėl nuėjau pas kitą PCB gamintoją ir PCB buvo prilituotas prie jutiklio.
2 veiksmas: programinės įrangos kūrimas
- Kodas parašytas „Thonny“, „python Integrated Development Environment“.
- Projekto procedūra buvo prijungti pi kamerą ir įdiegti susijusią programinę įrangą.
- Kitas žingsnis buvo prijungti terminį jutiklį prie tinkamų GPIO kaiščių ir įdiegti „Adafruit“biblioteką, kad būtų galima naudoti jutiklį.
- „Adafruit“bibliotekoje buvo scenarijus, skirtas skaityti jutiklį ir susieti temperatūrą su spalvomis, tačiau jo sukurtų judančių vaizdų nepavyko įgyvendinti
- Todėl kodas buvo perrašytas į formatą, palaikantį vaizdo apdorojimą, daugiausia siekiant sujungti du kadrus.
3 žingsnis: skaitykite jutiklius
- Rinkti duomenis iš šiluminių kamerų buvo panaudota ADAFRUIT biblioteka, leidžianti lengvai atkurti jutiklius su komandomis readpixels (), sukuriant masyvą, kuriame yra temperatūrų pagal Celsijų laipsnis, išmatuotas iš atskirų jutiklių elementų.
- Naudojant „Pi“fotoaparatą, funkcija „picamera.capture“() sukuria vaizdą su nurodytu išvesties failo formatu
- Siekiant užtikrinti greitą apdorojimą, mažesnė skiriamoji geba buvo nustatyta 500 x 500 pikselių
4 žingsnis: Šilumos jutiklio nustatymas
- Pirmiausia turime įdiegti „Adafruit“biblioteką ir „python“paketus
- Atidarykite komandų eilutę ir paleiskite: sudo apt-get update, kuri atnaujins jus Pi
- Tada paleiskite komandą: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
- Tada paleiskite: git clone https://github.com/adafruit/Adafruit_Python_GPIO…. Kuris atsisiųs „Adafruit“paketą į jūsų „Raspberry Pi“
- Eikite į katalogą: cd Adafruit_Python_GPIO
- Ir įdiekite sąranką vykdydami komandą: sudo python setup.py install
- Dabar įdiekite „Scipy“ir „Pygame“: sudo apt-get install -y python-scipy python-pygame
- Galiausiai įdiekite spalvų biblioteką išleisdami komandą: sudo pip install color Adafruit_AMG88xx
5 veiksmas: įgalinkite „I2C“sąsają
- Išduokite komandą: sudo raspi-config
- Spustelėkite Išplėstinės parinktys ir pasirinkite I2C, tada įjunkite ją ir pasirinkite Baigti
- Iš naujo paleiskite „Pi“, kad sėkmingai įjungtumėte „I2C“
- Įsitikinkite, kad taip pat įgalinote fotoaparato ir VNC sąsajas
6 žingsnis: Jutiklio ir fotoaparato prijungimas
- Prie „Pi“turėtumėte prijungti tik 4 AMG8833 kaiščius ir palikti IR kaištį.
- 5V maitinimą ir įžeminimą galima prijungti prie 1 ir 6 GPIO kaiščių
- SDA ir SCL yra prijungti prie Pi ir 4 kaiščių.
- Prisijunkite prie aviečių naudodami ssh
- paleiskite: sudo i2cdetect -y 1
- 9 -ajame stulpelyje turėtumėte pamatyti „69“, jei ne, nėra jokių problemų prijungiant jutiklį prie „Pi“.
- Galiausiai prijunkite „pi“kamerą v2 prie „Raspberry pi“esančio fotoaparato lizdo
7 žingsnis: šilumos kartografavimas
- Išduokite komandą: git clone
- Perkelkite į katalogą Adafruit_AMG88xx_python/example
- išduoti komandą: sudo python thermal_cam.py
- Žemiau pridėjau šilumos kartografavimo kodą AMG8833.
8 žingsnis: vaizdo apdorojimas
-
Temperatūros atvaizdavimas
- Norint vizualizuoti šiluminius duomenis, temperatūros vertės suskirstytos į spalvų gradientą, pradedant nuo mėlynos iki raudonos, o tarp visų kitų spalvų
- Įjungus jutiklį, žemiausia temperatūra priskiriama 0 (mėlyna), o aukščiausia - 1023 (raudona)
- Visoms kitoms tarpinėms temperatūroms priskiriamos koreliacijos vertės intervale
- Jutiklio išvestis yra 1 x 64 masyvas, kurio dydis pakeistas į matricą.
- Interpoliacija
- Šiluminio jutiklio skiriamoji geba yra gana maža, 8 x 8 pikselių, todėl kubinė interpoliacija naudojama norint padidinti skiriamąją gebą iki 32 x 32, todėl matrica yra 16 kartų didesnė
- Interpoliacija sukuria naujus duomenų taškus tarp žinomų taškų, tačiau tikslumas mažėja.
-
Skaičiai į vaizdus
- Skaičiai nuo 0 iki 1023 32 x 32 matricoje konvertuojami į dešimtainį kodą RGB spalvų modelyje.
- Iš dešimtainio kodo lengva sukurti vaizdą naudojant funkciją iš „SciPy“bibliotekos
-
Keičiamas dydis naudojant anti-aliasing
- Norėdami pakeisti 32 x 32 vaizdo dydį iki 500 x 500, kad atitiktų Pi fotoaparato skiriamąją gebą, naudojama PIL (Python Image Library).
- Jame yra anti-aliasing filtras, kuris padidindamas išlygins kraštus tarp pikselių
- Skaidri vaizdo perdanga
- Tada skaitmeninis vaizdas ir šilumos vaizdas sumaišomi į vieną galutinį vaizdą, pridedant juos su 50% skaidrumu.
- Sujungus vaizdus iš dviejų jutiklių, kurių atstumas yra lygiagretus, jie visiškai nesutaps
- Galiausiai rodomos AMG8833 minimalios ir maksimalios temperatūros matavimai su persidengiančiu tekstu
9 veiksmas: kodo ir PCB failai
Žemiau pridėjau bandymo ir galutinį projekto kodą
10 žingsnis: Išvada
- Taigi buvo sukurta šiluminė kamera su „Raspberry Pi“ir AMG8833.
- Paskutinis vaizdo įrašas buvo įterptas į šį įrašą
- Galima pastebėti, kad temperatūra pasikeičia akimirksniu, kai žiebtuvėlis priartėja prie sąrankos ir jutiklis tiksliai aptinka žiebtuvėlio liepsną.
- Taigi šis projektas gali būti toliau plėtojamas siekiant nustatyti karščiavimą žmonėms, patenkantiems į kambarį, o tai bus labai naudinga šioje COVID19 krizėje.