Sadržaj:

1979. Apollo Pi termalna kamera: 10 koraka (sa slikama)
1979. Apollo Pi termalna kamera: 10 koraka (sa slikama)

Video: 1979. Apollo Pi termalna kamera: 10 koraka (sa slikama)

Video: 1979. Apollo Pi termalna kamera: 10 koraka (sa slikama)
Video: Книга 10 — Аудиокнига Виктора Гюго «Горбун из Нотр-Дама» (главы 1–7) 2024, Decembar
Anonim
Image
Image
1979. Apollo Pi termalna kamera
1979. Apollo Pi termalna kamera
1979. Apollo Pi termalna kamera
1979. Apollo Pi termalna kamera

Ovaj starinski Apollo mikrotalasni detektor sada ima novu sjajnu svrhu kao termalna kamera, koju pokreće Raspberry Pi Zero sa senzorom Adafruit termalne kamere koji mjeri temperature, prikazujući rezultate u stvarnom vremenu na svijetlom 1,3 TFT ekranu.

Ima unaprijed postavljeni i dinamički način rada - u prvom se boje prikazane na ekranu temelje na tvrdo kodiranim temperaturnim pragovima, a u drugom se raspon boja može podesiti pomoću klizača za temperaturu na nadzornoj ploči Adafruit.io. Nadzorna ploča također odmah prikazuje sve snimke koje je uređaj prenio, a snimljene su pomoću originalnog dugmeta palca na dršci.

Čitav sistem pokreće tanka, cilindrična USB baterija skrivena u rukohvatu, koja se može lako napuniti iskakanjem iz konusa nosa i priključivanjem USB kabla.

Samo tri Python skripte kontroliraju logiku izbornika, senzor i Adafruit.io integraciju, a zaslonom upravlja PyGame.

Rad na ovom projektu zaista mi je pomogao da ostanem pozitivna tokom zaključavanja, a s dodatnim vremenom koje smo imali na raspolaganju djeca i ja smo pronašli mnogo zanimljivih stvari po kući na koje možemo ukazati!

Pogledajte Apollo Pi na djelu u YouTube videu, u slučaju da ne možete vidjeti ugrađenu verziju iznad, na

Supplies

Apollo mikrotalasni monitor

Raspberry Pi Zero W

Adafruit AMG8833 Thermal Camera Breakout

Adafruit Mini PiTFT ekran od 1,3"

Džemper kablovi

3v vibracijski disk

USB banka za napajanje

Korak 1: Rušenje

Teardown
Teardown
Teardown
Teardown
Teardown
Teardown

Uzeo sam Apollo Monitor na rabljenoj prodaji prošlog ljeta, zbog njegovog jedinstvenog izgleda, a ne bilo čega drugog - što je jednako dobro kao što su definitivno bili i bolji dani! Unutrašnji krugovi nisu bili potpuni i cijela je stvar bila prekrivena neredom ljepila, što je historijski pokušaj da se popravi.

Prvotno bi se koristio za provjeru prisutnosti mikrovalnog zračenja, vjerojatno u nekoj vrsti industrijskog okruženja s obzirom na njegov dizajn i rijetkost mikrovalnih pećnica u to vrijeme, iako o tome nisam mogao saznati više. Jedna stvar koju sam znao, bila bi idealan dom za termalnu kameru.

Čim sam iskočio iz konusnog "nosa", ostatak se doslovno raspao, a zalijepljeni analogni mjerač i pravokutno dugme lako su uklonjeni. Zadržao sam gumb, bio je savršeno funkcionalan i zaista čudnog oblika, pa bih se mučio s ugradnjom zamjene u istu rupu.

Korak 2: Ožičenje

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

Prije podrezivanja kućišta kako bi sve stalo, prvo sam se želio uvjeriti da znam kako će dijelovi ići zajedno, pa sam se odlučio za povezivanje senzora i zaslona. Sam senzor je bio u redu, bila su mu potrebna samo četiri kratkospojna kabela za povezivanje s Raspberry Pi.

Ekran je bio malo kompliciraniji, dijagram iscrtavanja je pokazao da bih trebao spojiti 13 kratkospojnih žica - očito je dizajniran da sjedi direktno na Pi -u pa sam za to zaista morao biti kriv. Odlučio sam dodati dio ženskog zaglavlja između ekrana i Pi veza kako bih mogao skinuti ekran i lako ga povezati. Ovo je bila odlična ideja i vrlo sam pažljivo slijedio dijagram iscrtavanja kako bih povezao zaglavlje do Pi.

Zatim sam zalemio nekoliko svježih kratkospojnih kabela na originalno dugme, tako da se moglo spojiti na GPIO i koristiti za snimanje toplinskih snimaka slike. Na kraju sam lemio mali vibrirajući disk izravno na GPIO pinove, kako bih pružio neke haptičke povratne informacije pritiscima tipki.

Korak 3: Modovi kućišta

Case Mods
Case Mods
Case Mods
Case Mods

Jedna od stvari koja je oživjela Apollo Monitor iz moje kutije "to do" bila je rupa za prikaz na vrhu - ovo je otprilike bila veličina koja mi je bila potrebna za mali ekran Adafruit. Grubo. Bilo je potrebno otprilike sat vremena sa datotekom da se rupa proširi na pravu veličinu, ali sam na sreću uspio u tom procesu ne uništiti slučaj.

Također sam odrezao dijelove unutrašnjosti koje su izvorno držale bateriju PP3, te pomoću rotacijskog alata izrezao neke pregrade unutar držača kako bih napravio mjesta za bateriju.

Na kraju sam izbušio neke velike rupe kako bi se kabeli za senzor i kabel za punjenje mogli probiti iz "nosa" kako bi se spojili s ostalim krugovima.

Korak 4: Napajanje

Snaga
Snaga
Snaga
Snaga
Snaga
Snaga
Snaga
Snaga

Za ovaj projekt odlučio sam se ne koristiti LiPo bateriju i adapter/punjač, jer je u kućištu bilo više mjesta. Odlučio sam umjesto toga koristiti standardnu USB bateriju za napajanje. Htio sam nabaviti tanki cilindrični, koji će stati u ručku, pa sam tražio najjeftiniji i najtanji koji sam mogao pronaći na Amazonu. Onaj koji je stigao, sa svojom sirastom LED svjetiljkom i stilom od umjetne baterije, bio je najtanji koji sam mogao pronaći, ali kad sam ga raspakirao, shvatio sam da je još uvijek previše gust da stane u ručku. Tada sam shvatio da se raspao - gornji dio je odvrnut, a gola baterija iznutra je kliznula, što mi je uredno uštedjelo 3 mm koja su mi bila potrebna za ugradnju u ručku, kakav rezultat!

Zatim sam uzeo kratki mikro USB kabel, skinuo dio izolacije, odrezao pozitivni kabel i lemio ga u lijepu kvadratnu tipku za zatvaranje, tako da se napajanje moglo kontrolirati bez isključivanja baterije. Ovo dugme se lijepo uklopilo u ono što je prvobitno bilo poklopac baterije, i bilo je prilično blizu originalnom na vrhu kućišta. Sad kad sam znao da će sve odgovarati, došlo je vrijeme da sve uspije!

Korak 5: Postavljanje softvera za termalnu kameru

Postavljanje softvera za termalnu kameru
Postavljanje softvera za termalnu kameru

Sam toplinski senzor je Adafruit AMG8833IR Thermal Camera Breakout, koji koristi 8x8 niz senzora za stvaranje slike topline. Radi s Arduinom i Raspberry Pi -om, ali najveća prednost korištenja Pi -a je ta što softver može koristiti scipy python modul za izvođenje bikubične interpolacije na snimljenim podacima, čineći da izgleda kao slika 32x32, uredno!

Postavljanje senzora je prilično jednostavno, ali postoje neki obruči za preskakanje, ovo mi je uspjelo:

Omogućite I2C i SPI na Raspberry Pi (Raspberry Pi konfiguracija> Sučelja)

Instalirajte Blinka CircuitPython biblioteku:

pip3 instalirajte adafruit-blinka

Zatim instalirajte biblioteku senzora AMG8XX:

sudo pip3 instalirajte adafruit-circuitpython-amg88xx#

Isključite Pi i povežite senzor - samo 4 žice na sreću!

Zatim instalirajte scipy, pygame i module u boji:

sudo apt-get install -y python-scipy python-pygamesudo pip3 boja za instaliranje

U ovom trenutku moj kôd je izazvao scipy grešku, pa sam ga ponovo instalirao sa:

Sudo Pip3 install scipy

Tada sam dobio grešku: ImportError: libf77blas.so.3: ne mogu otvoriti datoteku dijeljenih objekata: Nema takve datoteke ili direktorija

To je riješeno instaliranjem:

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

Od tada je primjer koda dobro funkcionirao, izvršavajući skriptu s konzole, a ne iz Thonnyja:

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

Zbog toga se zaslon senzora pojavio na ekranu u prozoru igre, a nakon nekoliko prilagodbi pragova boje/temperature bio sam hipnotiziran toplinskom slikom svog lica.

Korak 6: Postavljanje softvera za LCD ekran

Podešavanje softvera za LCD ekran
Podešavanje softvera za LCD ekran
Podešavanje softvera za LCD ekran
Podešavanje softvera za LCD ekran

Bilo je zaista dobro pokrenuti senzor, ali sada mi je trebalo da ga prikažem na malom ekranu. Ekran koji sam koristio je Adafruit Mini PiTFT 1.3 240x240 - uglavnom zato što su njegova rezolucija i oblik bili taman za termalnu kameru, a takođe je bio i odgovarajuće veličine da stane u kućište i nudio je dva tastera povezana sa GPIO koja su mi bila potrebna.

Upute za Adafruit ovdje su nudile dvije mogućnosti: lak i težak način - nakon eksperimentiranja shvatio sam da moram koristiti tvrdi način, jer je senzor zahtijevao direktan pristup framebufferu. Slijedeći upute korak po korak, bio sam u redu sve dok nisam pogodio pitanje "Želite li da se konzola pojavi" - u početku sam odabrao Ne, ali sam trebao reći Da. Ovo je bilo pomalo bolno jer je značilo da moram ponoviti postupak, ali učinilo me svjesnim da nakon što je Pi postavljen za prikaz konzole na TFT-u, više neće prikazivati radnu površinu putem HDMI-a (barem to je moje iskustvo).

Ipak, nakon što je postavljanje završeno, pri ponovnom pokretanju maleni ekran je prikazao minijaturnu verziju uobičajenog procesa pokretanja Pi -a, a kada sam pokrenuo primjer skripte termalne kamere, prozor pygame je prikazao sliku topline na malom ekranu - vrlo zadovoljavajuće!

Korak 7: Podešavanje koda

Podešavanja koda
Podešavanja koda
Podešavanja koda
Podešavanja koda

Uzorak koda je dobro funkcionirao, ali htio sam da učini malo više, pa se bavim dotjerivanjem skripti po svom ukusu. Počeo sam stvaranjem skripte menija koja bi se učitala pri pokretanju i dobro iskoristila dva gumba integrirana u ploču zaslona.

menu.py

Prvo sam našao neki Python na mreži koji bi prikazao lijep efekat animiranog menija na malom ekranu, koristeći PyGame. Ljepota ove skripte je u tome što animira sve slike u postavljenoj mapi, pa bi bilo lakše promijeniti animaciju u kasnijoj fazi (na primjer usklađivanje boja animacije s kućištem). Postavio sam skriptu menija tako da pritiskom na bilo koji od tastera zaustavi animaciju i otvori ili fever.py ili chill.py, skripte za prikaz ekrana senzora. Ovim radom postavio sam skriptu da se pokreće pri pokretanju - obično to radim uređivanjem/etc/xdg/lxsession/LXDE -pi/autostart, ali kako se ova metoda oslanja na učitavanje radne površine, ovaj put mi je bila potrebna druga opcija.

Dakle, prvo sam uredio datoteku rc.local …

sudo nano /etc/rc.local

… Zatim dodano u nastavku odmah iznad izlazne linije…

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

… prvo se pobrinuvši da skripta menu.py ima sljedeće na samom vrhu …

#!/usr/bin/env python3

… I nakon postavljanja menu.py kao izvršne skripte upisivanjem:

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

u terminal.

fever.py (Unaprijed postavljeno)

Za unaprijed postavljenu skriptu prvo sam postavio pragove boje / temperature, postavljajući donji (plavi) na 16, a gornji (crveni) na 37,8. To bi teoretski i dalje prikazalo lice osobe u zelenoj boji, ali bi zasvijetlilo crveno ako je temperatura bila na ili iznad 37,8 stepeni. Na internetu postoji mnogo istraživanja o uzorkovanju tjelesne temperature različitim metodama, ali s obzirom na to da je varijansa senzora +/- 2,5 stupnjeva, odlučio sam se samo držati najšire prihvaćenog raspona "groznice" - to je dovoljno jednostavno promijeniti putem ssh -a na kasniji datum.

Zatim postavljam dva ekranska dugmeta da zatvore trenutnu skriptu i otvorim menu.py. Takođe sam hteo da pronađem način za snimanje i izvoz slike sa kamere, a nakon što sam pronašao pravu komandu PyGame

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

Ovo sam postavio da se pokreće kada je pritisnuto dugme "palac" - ono koje ste prvobitno koristili za očitavanje u mikrotalasnoj. To se pobrinulo za snimanje slike, zatim sam dodao nekoliko redova Pythona kako bi se slika odmah prenijela na Adafruit IO nadzornu ploču nakon snimanja, tako da se može vidjeti na drugim uređajima i lako preuzeti. Brzim "spremi kao" završena je unaprijed postavljena skripta.

chill.py (dinamički)

Termalna kamera ima više od traženja određenih temperatura, a želio sam da dinamička skripta bude fleksibilna, tako da se gornji i donji prag boje mogu lako prilagoditi. Nisam želio dodati dodatne tipke na uređaj i komplicirati navigaciju, pa sam odlučio koristiti klizače na Adafruit.io nadzornoj ploči.

Već sam imao većinu Adafruit koda u unaprijed postavljenoj skripti, pa sam morao dodati neke dodatne retke kako bi se trenutne vrijednosti klizača s nadzorne ploče dohvatile pri pokretanju i postavile kao zadane postavke prikaza.

Kôd koji sam koristio dostupan je na GitHub-u, da biste ga ponovo koristili, samo trebate preuzeti mapu FeverChill u / pi / mapu na vašem Pi i unijeti svoje vjerodajnice i nazive feedova u skripte, nakon što se prikaže & senzor je postavljen.

S obzirom da su skripte dobro radile, došlo je vrijeme da pređemo na nešto neurednije!

Korak 8: Završni rad na dodirima

Završni dodirni prozori
Završni dodirni prozori
Završni dodirni prozori
Završni dodirni prozori
Završni dodirni prozori
Završni dodirni prozori

U početku je ovaj projekt trebao brzo odvratiti pažnju od korištenja termalnog senzora za nešto drugo, ali s trenutnim događajima sve sam više bio uvučen u njega i sitne dodatne detalje koji bi ga rastegli i učinili većim izazovom.

S kućištem Apollo monitora bilo je prilično lijepo raditi, lako ga je rezati i brusiti, ali da ga lijepo dovršim, htio sam staviti neke od vidljivih ploča iza naslikanih "maski". To je trajalo, ručno ih je klesalo od komada otpadne plastike, ali posao je bio zadovoljavajući. Prvo sam napravio mali koji bi pokrio ploču ekrana, ali ostavio mikroprekidače vidljivim. Zatim sam napravio jedan za toplinski senzor, kako ne biste vidjeli golu elektroniku ako pogledate "poslovni kraj".

Odlučio sam se za shemu boja nekoliko dana prije nego što je Velika Britanija ušla u karantin, i imao sam sreću pronaći boje koje sam želio u obližnjoj trgovini željeza. Kako se kućište tako lijepo podijelilo na polovice, predložena je dvobojna shema boja, a zatim sam je proširio na "konus nosa" i poklopac senzora. Slikanje je bilo jako zabavno, prvog toplog dana u godini, iako je to značilo slikati dok su se ose u šupi miješale i mljele. Ranije nisam koristio maskirnu traku sa sprejom, ali sam zaista zadovoljan kako su nastali dvobojni komadi ispali.

Učeći lekcije iz prethodnih konstrukcija, ostavio sam obojene dijelove da se stvrdnu dobru sedmicu prije pokušaja sastavljanja, te sam u međuvremenu počeo sastavljati video.

Korak 9: Montaža

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

Kad god radim na projektu, volim doći u fazu u kojoj je sve spremno za sastavljanje, poput kompleta modela koji sam izrađujem. Nema garancija da će se sve uklopiti i upute postoje samo u mojoj glavi, ali to je moj omiljeni dio bilo koje gradnje.

Ovoga puta sve je prošlo glatko - uglavnom zato što sam imala dodatno vrijeme potrošiti na sitne detalje i uvjeriti se da je sve tako. Prije svega sam vruće zalijepio ekran u kućište, a zatim dodao dugme "snimanje" - to su bili jedini dijelovi povezani s vrhom kućišta, tako da je to bio lijep jednostavan početak.

Zatim sam lagano vruće zalijepio bateriju u držač i postavio Pi sa držačem u kućište. Nakon toga je senzor kamere pažljivo zalijepljen u konus nosa, prekidač za napajanje je pričvršćen za poklopac baterije i sve je spojeno.

Koristio sam kratkospojne kabele za sve spojeve, ali samo da budem posebno oprezan, vruće sam ih zalijepio na mjesto, u slučaju bilo kakvog pomicanja tijekom posljednjeg zgnječenja zajedno dvije polovice. Samo je to u stvari bilo pomalo zgužvano, ali bez zvukova pucanja, pa sam jednom kad su se dvije polovice čvrsto spojile gurnuo konus nosa i pričvrstio vijak kroz ručku - jedine dvije stvari koje drže cijeli sklop na okupu.

Nije funkcioniralo prvi put, uspio sam odspojiti ekran tijekom prvog squishathona, ali s nekoliko strateških zavoja kabela sve se sretno završilo drugi put. Vrijeme je da to usmjerite na stvari!

Korak 10: Vremena ispitivanja temperature

Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature
Vremena ispitivanja temperature

Dodatno vrijeme kod kuće zaista mi je pomoglo da se više nego obično fokusiram (opsednem?) Na male detalje ovog projekta, a to je definitivno učinilo čistiji završetak i manje iznenađenja u vrijeme sastavljanja - kao i što mi je pomoglo da održim mentalno zdravlje ravno i usko. Prvotni plan senzora bio je nešto sasvim drugo, pa sam jako zadovoljan krajnjim rezultatom, sporom i zadovoljavajućom konstrukcijom.

Apollo Pi odlično izgleda i na polici projekta i definitivno je zabavan i koristan alat koji možete imati oko sebe, ne možemo prestati ukazivati na stvari! U idealnom svijetu to bi bilo nešto veće rezolucije, a ja moram pronaći neki način da "prelistam" ekran jer je trenutno preslikan, ali to su male sitnice.

Hvala svima na čitanju i čuvajte se svima.

Moji drugi projekti Old Tech, New Spec svi su na Instructables na

Više detalja je na web stranici na https://bit.ly/OldTechNewSpec. i ja sam na Twitteru @OldTechNewSpec.

Preporučuje se: