Kazalo:

1979 Termalna kamera Apollo Pi: 10 korakov (s slikami)
1979 Termalna kamera Apollo Pi: 10 korakov (s slikami)

Video: 1979 Termalna kamera Apollo Pi: 10 korakov (s slikami)

Video: 1979 Termalna kamera Apollo Pi: 10 korakov (s slikami)
Video: Книга 10 — Аудиокнига Виктора Гюго «Горбун из Нотр-Дама» (главы 1–7) 2024, November
Anonim
Image
Image
1979 Termalna kamera Apollo Pi
1979 Termalna kamera Apollo Pi
1979 Termalna kamera Apollo Pi
1979 Termalna kamera Apollo Pi

Ta starinski mikrovalovni detektor Apollo ima zdaj svetleč nov namen kot termalna kamera, ki ga poganja Raspberry Pi Zero s senzorjem termalne kamere Adafruit, ki meri temperature in rezultate prikazuje v realnem času na svetlem 1,3-palčnem TFT zaslonu.

Ima prednastavljen in dinamični način - v prvem barve, prikazane na zaslonu, temeljijo na trdo kodiranih temperaturnih pragih, v drugem pa lahko barvno območje prilagodite z drsniki za temperaturo na nadzorni plošči Adafruit.io. prikazuje vse posnetke, ki jih je naložila naprava, posnete z izvirnim gumbom za palec na ročaju.

Celoten sistem poganja tanka, valjasta baterija USB, skrita v ročaju, ki jo je mogoče enostavno napolniti tako, da odtrgate nosni stožec in priključite kabel USB.

Samo trije skripti Python nadzorujejo logiko menija, senzor in integracijo Adafruit.io, pri čemer zaslon upravlja PyGame.

Delo na tem projektu mi je pomagalo ohraniti pozitiven občutek v času zapora, otroci in jaz pa smo z dodatnim časom v rokah našli veliko zanimivih stvari po hiši, na katere bi lahko opozorili!

Oglejte si Apollo Pi v akciji v videoposnetku YouTube, če ne vidite zgornje vdelane različice, je na

Zaloge

Apollo mikrovalovni monitor

Raspberry Pi Zero W

Adafruit AMG8833 Termalna kamera

1,3 -palčni zaslon Adafruit Mini PiTFT

Mostični kabli

3v vibracijski disk

Napajalnik USB

1. korak: Odtrganje

Odtrgano
Odtrgano
Odtrgano
Odtrgano
Odtrgano
Odtrgano

Lansko poletje sem pri rabljeni prodaji vzel monitor Apollo zaradi njegovega edinstvenega videza in ne kar koli drugega - kar je prav tako dobro, kot so bili zagotovo videti boljši dnevi! Krogi v notranjosti so bili nepopolni in celotna stvar je bila prekrita z lepilom, kar je zgodovinski poskus popraviti.

Prvotno bi ga uporabili za preverjanje prisotnosti mikrovalovnega sevanja, verjetno v nekem industrijskem okolju glede na njegovo zasnovo in redkost mikrovalovnih pečic v tistem času, čeprav o tem nisem mogel izvedeti veliko več. Ena stvar, ki sem jo vedel, bi bila idealen dom za toplotno kamero.

Takoj, ko sem izstopil iz stožčastega "nosu", se mu je dobesedno razpadel, prilepljeni analogni števec in pravokotni gumb pa smo zlahka odstranili. Gumb sem obdržal, bil je popolnoma funkcionalen in res čudne oblike, zato bi se trudil namestiti zamenjavo v isto luknjo.

2. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Preden sem okrasil ohišje, da bi bilo vse v redu, sem se najprej želel prepričati, da vem, kako bodo deli šli skupaj, zato sem se odločil za povezovanje senzorja in zaslona. Sam senzor je bil v redu, za povezavo z Raspberry Pi so bili potrebni le štirje mostični kabli.

Zaslon je bil nekoliko bolj zapleten, diagram izklopa je pokazal, da moram povezati 13 mostičarskih žic - očitno je zasnovan tako, da sedi neposredno na vrhu Pi, zato sem moral biti kriv res sam. Odločil sem se, da bom med zaslonom in povezavami Pi dodal kos ženske glave, da bom lahko snel zaslon in ga enostavno povezal. To je bila odlična ideja in zelo skrbno sem sledil diagramu izpisov, da sem glavo povezal s Pi.

Nato sem na prvotni gumb spajkal nekaj svežih mostičnih kablov, tako da jih je mogoče povezati z GPIO in uporabiti za zajem posnetkov toplotne slike. Nazadnje sem spajkal majhen vibrirajoči disk neposredno na zatiče GPIO, da bi pritisnil na gumb, da bi zagotovil nekaj haptične povratne informacije.

3. korak: Modusi primerov

Načini primerov
Načini primerov
Načini primerov
Načini primerov

Ena od stvari, ki je vstavila monitor Apollo iz mojega polja za opravila, je bila luknja za prikaz na vrhu - to je bila približno velikost, ki sem jo potreboval za majhen zaslon Adafruit. Približno. Z datoteko je trajalo kakšno uro, da je luknjo razširila na pravo velikost, vendar mi na srečo ni uspelo uničiti zadeve.

Odsekal sem tudi dele notranjosti, ki so prvotno držali baterijo PP3, in z vrtljivim orodjem izrezal nekaj pregrad v ročaju, da sem naredil prostor za baterijo.

Na koncu sem izvrtal nekaj velikih lukenj, da bi se lahko kabli za senzor in polnilni kabel prebili iz "nosu", da bi se povezali z ostalimi vezji.

4. korak: Napajanje

Moč
Moč
Moč
Moč
Moč
Moč
Moč
Moč

Za ta projekt sem se odločil proti uporabi LiPo baterije in adapterja/polnilnika, saj je bilo v ohišju več prostora. Namesto tega sem se odločil za uporabo standardnega USB napajalnika. Želel sem dobiti tanko valjasto, ki bi se prilegala ročaju, zato sem iskal najcenejšega in najtanjšega, kar sem ga našel na Amazonu. Tisti, ki je prispel, s sirasto LED svetilko in oblikovanjem umetnih baterij je bil najtanjši, kar sem ga našel, vendar sem ob razpakiranju ugotovil, da je še vedno predebel, da bi se prilegal ročaju. Potem sem spoznal, da se je razpadlo - zgornji del je bil odvit, gola baterija pa je zdrsnila ven, kar mi je lepo prihranilo 3 mm, ki sem jih potreboval, da sem jih namestil v ročaj, kakšen rezultat!

Nato sem vzel kratek kabel Micro USB, odstranil nekaj izolacije, odrezal pozitivni kabel in ga spajkal v čudovit kvadratni gumb za zapah, tako da je bilo moč nadzorovati, ne da bi morali odklopiti baterijo. Ta gumb se je lepo prilegal tistemu, kar je bil prvotno pokrov baterije, in se je zelo dobro ujemal s prvotnim na vrhu ohišja. Zdaj, ko sem vedel, da se bo vse ujemalo, je bil čas, da vse skupaj deluje!

5. korak: Nastavitev programske opreme termalne kamere

Nastavitev programske opreme za toplotno kamero
Nastavitev programske opreme za toplotno kamero

Sam toplotni senzor je Adafruit AMG8833IR Thermal Camera Breakout, ki za ustvarjanje toplotne podobe uporablja niz senzorjev 8x8. Deluje z Arduinom in Raspberry Pi, vendar je največja prednost uporabe Pi ta, da lahko programska oprema uporablja modul scipy python za izvajanje bikubične interpolacije na zajete podatke, zaradi česar je videti kot slika 32x32, lepo!

Namestitev senzorja je precej preprosta, vendar je treba preskočiti nekaj obročev, kar mi je uspelo:

Omogočite I2C in SPI na Raspberry Pi (Konfiguracija Raspberry Pi> Vmesniki)

Namestite knjižnico Blinka CircuitPython:

pip3 namestite adafruit-blinka

Nato namestite knjižnico senzorjev AMG8XX:

sudo pip3 namestite adafruit-circuitpython-amg88xx#

Izklopite Pi in povežite senzor - samo 4 žice na srečo!

Nato namestite scipy, pygame in barvne module:

sudo apt-get install -y python-scipy python-pygamesudo pip3 namestite barvo

Na tej točki je moja koda povzročila scipy napako, zato sem jo znova namestil z:

Sudo Pip3 namestite scipy

Nato sem prejel napako: ImportError: libf77blas.so.3: ne morem odpreti predmetne datoteke v skupni rabi: Ni take datoteke ali imenika

To je bilo odpravljeno z namestitvijo:

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

Od takrat je primer kode deloval dobro, pri čemer je bil skript izveden iz konzole in ne iz Thonnyja:

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

Zaradi tega se je zaslon senzorja prikazal na zaslonu v oknu pigame in po nekaj prilagoditvah barvnih/temperaturnih pragov me je hipnotizirala toplotna slika mojega obraza.

6. korak: Nastavitev programske opreme LCD zaslona

Nastavitev programske opreme LCD zaslona
Nastavitev programske opreme LCD zaslona
Nastavitev programske opreme LCD zaslona
Nastavitev programske opreme LCD zaslona

Bilo je res dobro, da je senzor deloval, zdaj pa sem ga moral prikazati na malem zaslonu. Zaslon, ki sem ga uporabil, je Adafruit Mini PiTFT 1,3 240x240 - predvsem zato, ker sta bila njegova ločljivost in oblika ravno pravšnji za termalno kamero, prav tako je bil primerne velikosti za ohišje in je ponudil dva gumba, povezana z GPIO, ki sem jih potreboval.

Navodila za Adafruit so tukaj ponudila dve možnosti: enostaven in težji način - po eksperimentiranju sem spoznal, da moram uporabiti težki način, ker je senzor zahteval neposreden dostop do medpomnilnika okvirjev. Po navodilih po korakih sem bil v redu, dokler nisem zadel vprašanja "Ali želite, da se prikaže konzola" - sprva sem izbral Ne, vendar bi moral reči Da. To je bilo nekoliko boleče, saj je to pomenilo, da moram postopek ponoviti, vendar me je ozavestilo, da ko bo Pi nastavljen za prikaz konzole na TFT, namizje ne bo več prikazano prek HDMI (vsaj to je bila moja izkušnja)

Ko je bila nastavitev končana, je ob ponovnem zagonu majhen zaslon prikazal miniaturno različico običajnega zagonskega postopka Pi, in ko sem zagnal primer scenarija termalne kamere, je okno pygame prikazalo toplotno sliko na malem zaslonu - zelo zadovoljivo!

Korak 7: Popravljanje kode

Popravki kode
Popravki kode
Popravljanje kod
Popravljanje kod

Vzorčna koda je delovala dobro, vendar sem želel, da naredi malo več, zato se lotim prilagajanja skriptov po svojem okusu. Začel sem z ustvarjanjem skripta menija, ki bi se naložil ob zagonu in dobro izkoristil dva gumba, vgrajena v ploščo zaslona.

menu.py

Najprej sem na spletu našel nekaj Pythona, ki bi na majhnem zaslonu s pomočjo programa PyGame prikazal lep učinek animiranega menija. Lepota tega skripta je v tem, da animira vse slike v nastavljeni mapi, zato bi bilo pozneje enostavno spremeniti animacijo (na primer, da se barve animacije ujemajo z ohišjem). Menijski skript sem nastavil tako, da bi pritisk enega od gumbov ustavil animacijo in odprl bodisi fever.py ali chill.py, skripte za prikaz senzorskega zaslona. S tem delom sem nastavil, da se skript zažene ob zagonu - običajno to naredim z urejanjem/etc/xdg/lxsession/LXDE -pi/autostart, a ker je ta metoda odvisna od nalaganja namizja, sem tokrat potreboval drugo možnost.

Tako sem najprej uredil datoteko rc.local …

sudo nano /etc/rc.local

… Nato dodano v nadaljevanju tik nad vrstico za izhod…

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

… ko smo najprej zagotovili, da ima skript menu.py na vrhu naslednje …

#!/usr/bin/env python3

… In tudi po nastavitvi menu.py kot izvedljivega skripta z vnosom:

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

v terminal.

fever.py (prednastavljeno)

Za prednastavljeni skript sem najprej nastavil prag barve / temperature, pri čemer je spodnji (modri) nastavljen na 16, zgornji (rdeč) pa na 37,8. To bi teoretično še vedno prikazalo obraz osebe v zeleni barvi, vendar bi svetilo rdeče, če bi bila temperatura 37,8 stopinj ali več. Na spletu je veliko raziskav o vzorčenju telesne temperature z različnimi metodami, a ker je varianca senzorja +/- 2,5 stopinje, sem se odločil, da se držim najbolj razširjenega območja "vročine" - to je dovolj enostavno spremeniti s ssh pozneje.

Nato nastavim dva zaslonska gumba, da zapreta trenutni skript in odpreta menu.py. Prav tako sem želel najti način za zajem in izvoz slike kamere ter po tem, ko sem našel pravi ukaz PyGame

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

To sem nastavil, da se zažene, ko pritisnete gumb "palec" - tistega, ki bi ga prvotno uporabili za odčitavanje mikrovalovne pečice. To je poskrbelo za zajem slike, nato sem dodal nekaj vrstic Pythona, tako da bi bila slika takoj, ko je bila posneta, naložena na nadzorno ploščo Adafruit IO, tako da si jo je mogoče ogledati na drugih napravah in enostavno prenesti. S hitrim "shrani kot" je bil prednastavljeni skript zaključen.

chill.py (dinamično)

Termalna kamera ima več kot iskanje določenih temperatur in želel sem, da je dinamični scenarij prilagodljiv, tako da je mogoče zgornji in spodnji barvni prag enostavno prilagoditi. Nisem hotel dodati dodatnih gumbov v napravo in otežiti navigacijo, zato sem se odločil za uporabo drsnikov na nadzorni plošči Adafruit.io.

Večino kode Adafruit sem že imel v prednastavljenem skriptu, zato sem moral dodati nekaj dodatnih vrstic, tako da bodo trenutne vrednosti drsnika z nadzorne plošče pridobljene ob zagonu in nastavljene kot privzete nastavitve zaslona.

Koda, ki sem jo uporabil, je na voljo na GitHubu, da jo znova uporabite, samo prenesite mapo FeverChill v mapo / pi / na vašem Pi in vnesite svoje poverilnice in imena virov Adafruit.io v skripte, ko se prikaže senzor nastavljen.

Ker so skripti lepo delovali, je bil čas, da se premaknemo na nekaj bolj zapletenega!

8. korak: Dokončanje dotikov

Dokončanje dotikov
Dokončanje dotikov
Dokončanje dotikov
Dokončanje dotikov
Dokončanje dotikov
Dokončanje dotikov

Prvotno je bil ta projekt mišljen kot hitra motnja pri uporabi termičnega senzorja za kaj drugega, vendar sem se s trenutnimi dogodki vse bolj vlekel vanj in drobnimi dodatnimi podrobnostmi, ki bi ga raztegnile in naredile večji izziv.

Z ohišjem monitorja Apollo je bilo zelo lepo delati, ga je bilo enostavno rezati in brusiti, a da sem ga lepo zaključil, sem želel nekaj vidnih vezij spraviti za pobarvane "maske". Ti so si vzeli starost in jih ročno izrezali iz kosov odpadne plastike, vendar je bilo delo zadovoljivo. Najprej sem naredil majhnega, ki bi zakril zaslonsko ploščo, a mikrosklopke pustil vidne. Nato sem naredil enega za termični senzor, da ne bi videli gole elektronike, če bi gledali navzdol na "poslovni konec".

Za barvno shemo sem se odločil nekaj dni pred zaprtjem Združenega kraljestva in imel sem srečo, da sem v bližnji trgovini s strojno opremo našel želene barve. Ker se je ohišje tako lepo razdelilo na polovice, je bila predlagana dvobarvna barvna shema, ki sem jo nato razširil na "nosni stožec" in pokrov senzorja. Slikanje je bilo zelo zabavno, prvi topel dan v letu, čeprav je to pomenilo slikanje, medtem ko so se ose v lopi mešale in mlatele. Prej nisem uporabljal maskirnega traku s pršilno barvo, vendar sem zelo zadovoljen, kako so nastali nastali dvobarvni kosi.

Ko sem se naučil lekcij prejšnjih zgradb, sem poslikane dele pustil, da se strdijo dober teden dni, preden sem poskusil sestaviti, in vmes začel sestavljati video.

9. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Kadar koli delam na projektu, rad pridem v fazo, ko je vse pripravljeno za sestavo, kot samostojno izdelan modelni komplet. Ni zagotovil, da se bo vse skupaj ujemalo in navodila obstajajo le v moji glavi, vendar je to moj najljubši del vsake gradnje.

Tokrat je šlo vse gladko - predvsem zato, ker sem imel dodaten čas, ki sem ga namenil drobnim podrobnostim in se prepričal, da je vse tako. Zaslon sem najprej vlepila v ohišje, nato pa dodala gumb "zajem" - to so bili edini deli, povezani z vrhom ohišja, tako da je bil lep enostaven začetek.

Nato sem rahlo vroče zlepil baterijo v ročaj in pritrdil Pi z nosilcem v ohišje. Po tem je bilo senzor kamere previdno prilepljen v nosni stožec, stikalo za vklop je privijačeno na pokrov baterije in vse je bilo povezano.

Za vse povezave sem uporabil mostične kable, vendar sem bil še posebej previden, da sem jih vroče zlepil na mesto, v primeru kakršnega koli premikanja med zadnjim mečkanjem obeh polovic. V resnici je bilo to malo zmečkano, vendar brez škripanja, zato sem, ko sta obe polovici tesno združeni, potisnil nosni stožec in pritrdil vijak skozi ročaj - edini stvari, ki držita celoten sklop skupaj.

Prvič ni delovalo, zaslon mi je uspelo odklopiti med prvim skvihatonom, vendar se je z nekaj strateškimi ovinki kabla drugič srečno končalo. Čas je, da ga usmerite na stvari!

10. korak: Časi preskušanja temperature

Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature
Časi preskušanja temperature

Dodatni čas doma mi je resnično pomagal, da sem se bolj kot običajno osredotočil (na obsedenost?) Na majhne podrobnosti tega projekta, kar je zagotovo omogočilo čistejši zaključek in manj presenečenj v času sestavljanja - poleg tega pa mi je pomagalo ohraniti duševno počutje ravno in ozko. Prvotni načrt senzorja je bil nekaj povsem drugega, zato sem zelo zadovoljen s končnim rezultatom, počasno in zadovoljivo izdelavo.

Apollo Pi izgleda odlično tudi na polici projekta in je vsekakor zabavno in uporabno orodje, ne moremo ga nehati usmerjati v stvari! V idealnem svetu bi bila nekoliko višja ločljivost, zato moram najti način, da "obrnem" zaslon, kot je trenutno zrcaljen, vendar so to majhne pikice.

Hvala za branje in ostanite na varnem vsi.

Moji drugi projekti Old Tech, New Spec so na Instructables na

Več podrobnosti je na spletni strani https://bit.ly/OldTechNewSpec. in sem na Twitterju @OldTechNewSpec.

Priporočena: