Tartalomjegyzék:

1979: Apollo Pi hőkamera: 10 lépés (képekkel)
1979: Apollo Pi hőkamera: 10 lépés (képekkel)

Videó: 1979: Apollo Pi hőkamera: 10 lépés (képekkel)

Videó: 1979: Apollo Pi hőkamera: 10 lépés (képekkel)
Videó: Night 2024, November
Anonim
Image
Image
1979 Apollo Pi hőkamera
1979 Apollo Pi hőkamera
1979: Apollo Pi hőkamera
1979: Apollo Pi hőkamera

Ennek a vintage Apollo mikrohullámú érzékelőnek most fényes új célja van, mint egy hőkamera, amelyet egy Raspberry Pi Zero hajt, az Adafruit hőkamera érzékelője méri a hőmérsékletet, és valós időben megjeleníti az eredményeket egy fényes, 1,3 hüvelykes TFT kijelzőn.

Előre beállított és dinamikus üzemmóddal rendelkezik - az elsőben a képernyőn megjelenő színek a keményen kódolt hőmérsékleti küszöbértékeken alapulnak, a másodikban a színtartomány az Adafruit.io műszerfal hőmérsékletcsúszkaival állítható be. A műszerfal is azonnal megjeleníti az eszköz által feltöltött pillanatfelvételeket, amelyek a markolaton található eredeti hüvelykujjgombbal készülnek.

Az egész rendszert egy vékony, henger alakú USB -akkumulátor táplálja, amelyet a markolatba rejtett, és amely könnyen feltölthető, ha lehajtja az orrkúpot és csatlakoztat egy USB -kábelt.

Mindössze három Python -szkript vezérli a menü logikáját, az érzékelőt és az Adafruit.io integrációt, a kijelzőt pedig a PyGame kezeli.

Ennek a projektnek a kidolgozása valóban segített abban, hogy pozitív legyek a lezárás során, és a többletidő mellett a gyerekek és sok érdekes dolgot találtam a ház körül, amire rámutathatok!

Tekintse meg az Apollo Pi működését a YouTube -videóban, ha nem látja a fenti beágyazott verziót a https://www.youtube.com/embed/1xjRJExzPR8 címen

Kellékek

Apollo mikrohullámú monitor

Raspberry Pi Zero W

Adafruit AMG8833 hőkamera

Adafruit Mini PiTFT 1,3 hüvelykes képernyő

Jumper kábelek

3v rezgő korong

USB tápegység

1. lépés: Letépés

Letépés
Letépés
Letépés
Letépés
Letépés
Letépés

Tavaly nyáron vettem egy használt kiárusításon az Apollo monitort, egyedülálló megjelenéséért, nem pedig bármi másért - ami ugyanolyan jó, mint amilyen szebb napokat is látott! A belső áramkörök hiányosak voltak, és az egészet ragasztóborítás borította, történelmi kísérlet a javítására.

Eredetileg a mikrohullámú sugárzás jelenlétének ellenőrzésére használták volna, feltehetően valamilyen ipari környezetben, tekintettel a kialakítására és a mikrohullámú sütők akkori ritkaságára, bár nem tudtam sokkal többet megtudni róla. Egyet tudtam, ez lenne az ideális otthon a hőkamera számára.

Amint leugrottam a kúpos "orrról", a többi szó szerint szétesett, és a beragasztott analóg mérő és a téglalap alakú gomb könnyen eltávolítható. A gombot azonban megtartottam, tökéletesen működőképes volt, és valóban furcsa alakú, ezért nehezen vittem volna be egy cserealkalmatosságot ugyanabba a lyukba.

2. lépés: Kábelezés

Vezeték
Vezeték
Vezeték
Vezeték

A burkolat levágása előtt, hogy minden illeszkedjen, először meg akartam győződni arról, hogy tudom, hogyan fognak összeilleszkedni az alkatrészek, ezért nekiláttam az érzékelő és a képernyő kábelezésének. Maga az érzékelő rendben volt, mindössze négy áthidaló kábel szükséges a Raspberry Pi csatlakoztatásához.

A képernyő egy kicsit bonyolultabb volt, a pinout diagram azt mutatta, hogy 13 jumper vezetéket kell csatlakoztatnom - nyilvánvalóan úgy tervezték, hogy közvetlenül a Pi tetején üljön, így valójában csak magam hibáztathatom. Úgy döntöttem, hogy hozzáadok egy darab női fejlécet a képernyő és a Pi -kapcsolatok közé, hogy levegyem a képernyőt és könnyen csatlakoztathassam. Ez nagyszerű ötlet volt, és nagyon óvatosan követtem a pinout diagramot, hogy a fejlécet a Pi -hez kössem.

Ezután forrasztottam néhány friss áthidaló kábelt az eredeti gombhoz, így csatlakoztatható volt a GPIO -hoz, és hőkép pillanatfelvételek készítésére használható. Végül forrasztottam egy kis vibráló lemezt közvetlenül a GPIO csapokhoz, hogy haptikus visszajelzést adjak a gombnyomásokhoz.

3. lépés: Ügymódok

Ügymódok
Ügymódok
Ügymódok
Ügymódok

Az egyik dolog, ami feltámasztotta az Apollo monitort a "tennivalóim" dobozból, az a kijelző tetején lévő lyuk - nagyjából akkora volt, mint a kis Adafruit képernyőhöz. Nagyjából. Körülbelül egy órát vett igénybe egy reszelő, hogy a lyukat a megfelelő méretűre nyújtsa, de szerencsére sikerült nem megsemmisítenem az ügyet.

Egy forgó szerszám segítségével levágtam a belső részeket is, amelyek eredetileg PP3 akkumulátort tartottak, és kivágtam néhány válaszfalat a fogantyú belsejében, hogy legyen hely az akkumulátor számára.

Végül nagy lyukakat fúrtam, hogy az érzékelő és a töltőkábel kábelei eljussanak az "orrból", hogy csatlakozzanak a többi áramkörhöz.

4. lépés: Tápellátás

Erő
Erő
Erő
Erő
Erő
Erő
Erő
Erő

Ebben a projektben úgy döntöttem, hogy nem használok LiPo akkumulátort és adaptert/töltőt, mivel több hely volt a tokban. Ehelyett úgy döntöttem, hogy egy szabványos USB tápegységet használok. Vékony hengereset akartam szerezni, hogy elférjen a fogantyú belsejében, ezért kerestem a legolcsóbb és legvékonyabbat, amit az Amazon -on találtam. A megérkezett, sajtos LED-es zseblámpájával és műanyag elemekkel a legvékonyabb, amit találtam, de a kicsomagoláskor rájöttem, hogy még mindig túl vastag ahhoz, hogy elférjen a fogantyúban. Aztán rájöttem, hogy szétesett - a tetejét lecsavarva és a csupasz akkumulátort kicsúsztattam, így szépen megtakarítottam azt a 3 mm -t, amire szükségem volt a fogantyú belsejébe való illesztéshez, micsoda eredmény!

Ezután vettem egy rövid Micro USB -kábelt, lehúztam a szigetelés egy részét, levágtam a pozitív kábelt, és forrasztottam egy gyönyörű négyzet alakú reteszelőgombot, hogy az áramellátást az akkumulátor kihúzása nélkül lehessen szabályozni. Ez a gomb szépen illeszkedett az akkumulátor fedeléhez, és nagyon közel állt az eredetihez a tok tetején. Most, hogy tudtam, hogy minden belefér, itt az ideje, hogy minden működjön!

5. lépés: A hőkamera szoftver beállítása

Hőkamera szoftver beállítása
Hőkamera szoftver beállítása

Maga a hőérzékelő egy Adafruit AMG8833IR hőkamera -kitörés, amely 8x8 -as szenzorokat használ a hőkép létrehozásához. Működik az Arduino és a Raspberry Pi készülékekkel, de a Pi használatának legnagyobb előnye, hogy a szoftver a scipy python modult használva bicubic interpolációt végezhet a rögzített adatokon, így 32x32 -es képnek tűnik, ügyes!

Az érzékelő beállítása meglehetősen egyszerű, de van néhány karika, amin át kell ugrani, nekem ez működött:

Az I2C és az SPI engedélyezése a Raspberry Pi -n (Raspberry Pi Configuration> Interfaces)

Telepítse a Blinka CircuitPython könyvtárat:

pip3 install adafruit-blinka

Ezután telepítse az AMG8XX érzékelőkönyvtárat:

sudo pip3 telepítse az adafruit-circuitpython-amg88xx#

Kapcsolja ki a Pi -t, és csatlakoztassa az érzékelőt - szerencsére csak 4 vezeték!

Ezután telepítse a scipy, a pygame és a színes modulokat:

sudo apt-get install -y python-scipy python-pygamesudo pip3 install color

Ezen a ponton a kódom scipy hibát dobott, ezért újratelepítettem a következővel:

Sudo Pip3 telepítése scipy

Ekkor a következő hibaüzenetet kaptam: ImportError: libf77blas.so.3: nem lehet megnyitni a megosztott objektumfájlt: Nincs ilyen fájl vagy könyvtár

Ezt a következő telepítéssel oldották meg:

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

Ettől kezdve a példakód jól működött, és a szkriptet a konzolról futtatta, nem pedig Thonny -ból:

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

Ennek eredményeként az érzékelő kijelzője megjelenik egy képernyőn egy pygame ablakban, és a szín/hőmérséklet küszöbök bizonyos módosítása után hipnotizált az arcom hőképe.

6. lépés: Az LCD képernyő szoftverének beállítása

LCD képernyő szoftver beállítása
LCD képernyő szoftver beállítása
LCD képernyő szoftver beállítása
LCD képernyő szoftver beállítása

Nagyon jó volt működésbe hozni az érzékelőt, de most a kis képernyőn kellett megjelenítenem. A képernyő, amelyet használtam, egy Adafruit Mini PiTFT 1.3 240x240 - elsősorban azért, mert felbontása és alakja éppen megfelelő volt a hőkamerához, ráadásul a mérete megfelelő volt a tokban, és felajánlotta a két GPIO -val ellátott gombot, amelyekre szükségem volt.

Az Adafruit utasítások itt két lehetőséget kínáltak: egy egyszerű és egy kemény mód - kísérletezés után rájöttem, hogy a Hard utat kell használnom, mert az érzékelő közvetlen hozzáférést igényel a keretbufferhez. A lépésről lépésre szóló utasításokat követve jól voltam, amíg el nem válaszoltam a "Szeretné, ha a konzol megjelenne" kérdést - kezdetben a Nemet választottam, de igent kellett volna mondanom. Ez kissé fájdalmas volt, mivel azt jelentette, hogy újra kell végeznem a folyamatot, de tudatosította bennem, hogy ha a Pi úgy van beállítva, hogy megjelenítse a konzolt a TFT-n, akkor már nem fogja megjeleníteni az asztalt HDMI-n keresztül (legalábbis ez volt a tapasztalatom).

Ennek ellenére, ha a beállítás befejeződött, az újraindításkor az apró képernyő a szokásos Pi indítási folyamat miniatűr változatát jelenítette meg, és amikor futtattam a hőkamera példaszkriptjét, a pygame ablak megjelenítette a hőképet a kis képernyőn - nagyon kielégítő!

7. lépés: A kód csípése

Code Tweaks
Code Tweaks
Code Tweaks
Code Tweaks

A mintakód jól működött, de azt akartam, hogy egy kicsit többet tegyen, ezért állítsam be a szkripteket az én ízlésem szerint. Kezdtem azzal, hogy létrehoztam egy Menu szkriptet, amely betöltődik az indításkor, és jól kihasználja a kijelzőpanelen integrált két gombot.

menü.py

Először találtam egy online Python -t, amely a PyGame segítségével szép animált menüeffektust jelenít meg a kis képernyőn. Ennek a szkriptnek az a szépsége, hogy animálja az összes képet egy meghatározott mappában, így könnyű lenne megváltoztatni az animációt egy későbbi szakaszban (például az animáció színeinek illesztése a tokhoz). A menü szkriptjét úgy állítottam be, hogy bármelyik gomb megnyomása leállítsa az animációt, és megnyíljon a fever.py vagy a chill.py, a szkriptek az érzékelő kijelzőjének megjelenítésére. Ezzel a munkával beállítottam, hogy a szkript indításkor fusson - általában ezt az/etc/xdg/lxsession/LXDE -pi/autostart szerkesztésével teszem, de mivel ez a módszer az asztali betöltésre támaszkodik, ezúttal más lehetőségre volt szükségem.

Tehát először az rc.local fájlt szerkesztettem …

sudo nano /etc/rc.local

… Majd hozzáadjuk a következőhöz közvetlenül a kilépési sor fölött…

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

… Miután először megbizonyosodott arról, hogy a menu.py szkript a következőket tartalmazza a tetején…

#!/usr/bin/env python3

… És a menu.py futtatható parancsfájlként való beállítása után is írja be:

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

a terminálba.

láz.py (előre beállított)

Az előre beállított szkripthez először a szín / hőmérséklet küszöbértékeket állítottam be, az alsó (kék) 16 -ra, a felső (piros) pedig 37,8 -ra. Ez elméletileg még mindig zölden jelenne meg az ember arcán, de vörösen világítana, ha a hőmérséklet 37,8 fok vagy annál magasabb. Rengeteg kutatás található az interneten a testhőmérséklet mintavételéről különböző módszerekkel, de mivel az érzékelő szórása +/- 2,5 fok, úgy döntöttem, hogy maradok a legelterjedtebb "láz" tartománynál - ezt elég könnyű megváltoztatni az ssh -n keresztül egy későbbi időpontban.

Ezután beállítottam a két képernyőgombot az aktuális szkript bezárására és a menu.py megnyitására. Azt is meg akartam találni, hogyan lehet rögzíteni és exportálni a kamera képét, és megtaláltam a megfelelő PyGame parancsot

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

Ezt úgy állítottam be, hogy a "hüvelykujj" gomb megnyomásakor fusson - amit eredetileg a mikrohullámú leolvasáshoz használtál. Ez gondoskodott a kép rögzítéséről, majd hozzáadtam a Python néhány sorát, hogy a képet azonnal fel lehessen tölteni az Adafruit IO műszerfalára, miután elkészült, így más eszközökön is megtekinthető és könnyen letölthető. Gyors "mentés másként", ezzel elkészült az előre beállított szkript.

chill.py (dinamikus)

A hőkamera többet jelent, mint a meghatározott hőmérsékletek keresése, és azt akartam, hogy a Dynamic script rugalmas legyen, így a felső és az alsó színküszöb könnyen beállítható legyen. Nem akartam extra gombokat hozzáadni a készülékhez és bonyolítani a navigációt, ezért úgy döntöttem, hogy csúszkákat használok az Adafruit.io műszerfalon.

Az Adafruit -kód nagy része már az előre beállított szkriptben volt, ezért csak néhány sort kellett hozzáadnom, hogy a műszerfal aktuális csúszkaértékei lekérésre kerüljenek az indításkor, és megjelenítési alapértelmezettként legyenek beállítva.

Az általam használt kód mind elérhető a GitHub-on, újbóli használatához csak le kell töltenie a FeverChill mappát a Pi / / pi mappájába, és be kell írnia az Adafruit.io hitelesítő adatait és hírcsatorna nevét a szkriptekbe, miután a kijelző érzékelő be van állítva.

Mivel a forgatókönyvek szépen működtek, ideje volt valami rendetlenebb dologra költözni!

8. lépés: A javítások befejezése

Érintés befejezése
Érintés befejezése
Érintés befejezése
Érintés befejezése
Érintés befejezése
Érintés befejezése

Eredetileg ezt a projektet arra tervezték, hogy gyorsan eltereljék figyelmemet a hőérzékelő más célokra történő használatáról, de a jelenlegi eseményekkel egyre inkább vonzódtam hozzá, és az apró extra részletekhez, amelyek elnyújtják és nagyobb kihívást jelentenek.

Az Apollo Monitor tokja nagyon jó volt vele dolgozni, könnyen vágható és csiszolható, de hogy szépen befejezzem, szerettem volna a látható áramköri lapok egy részét a festett "maszkok" mögé helyezni. Ezek időigényesek voltak, kézzel faragták őket műanyaghulladékból, de kielégítő munka volt. Először készítettem egy kicsiket, amely eltakarja a képernyő táblát, de láthatóvá teszi a mikrokapcsolókat. Ezután készítettem egyet a hőérzékelőhöz, hogy ne nézzen csupasz elektronikát, ha lenéz az "üzleti végére".

Pár nappal az Egyesült Királyság lezárása előtt döntöttem a színséma mellett, és szerencsém volt megtalálni a kívánt színeket a közeli hardverboltban. Mivel a tok olyan szépen feleződött, kétszínű színsémát javasoltak, majd kiterjesztettem ezt az "orrkúpra" és az érzékelő fedelére. A festés nagyon szórakoztató volt, az év első meleg napja, bár ez azt jelentette, hogy festeni kell, miközben a darazsak a fészerben kavarognak és őrlődnek. Korábban nem használtam maszkolószalagot spray festékkel, de nagyon elégedett vagyok azzal, hogy az így kapott kétszínű darabok hogyan jöttek ki.

A korábbi építkezések tanulságait levéve a festett részeket egy hétig hagytam megszilárdulni, mielőtt megpróbáltam összeszerelni, és közben elkezdtem összerakni a videót.

9. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

Amikor egy projekten dolgozom, szeretek eljutni ahhoz a színpadhoz, ahol minden összerakásra készen van elhelyezve, mint egy saját készítésű modellkészlet. Nincs garancia arra, hogy minden össze fog illeszkedni, és az utasítások csak a fejemben léteznek, de ez minden konstrukció kedvenc része.

Ezúttal nagyon gördülékenyen ment - leginkább azért, mert volt több időm az apró részletekre fordítani, és meggyőződni arról, hogy minden rendben van. Mindenekelőtt ragasztottam a képernyőt a tokba, majd hozzáadtam a "rögzítés" gombot - ezek voltak az egyetlen alkatrészek, amelyek a tok tetejéhez voltak csatlakoztatva, így könnyű kezdés volt.

Ezután enyhén melegen ragasztottam az akkumulátort a markolatba, és a Pi-t a konzoljával a tokba illesztettem. Ezt követően a kameraérzékelőt óvatosan beragasztották az orrkúpba, a tápkapcsolót az akkumulátor fedelére csavarják, és minden csatlakoztatva van.

Az összes csatlakozáshoz áthidaló kábeleket használtam, de csak az extra óvatosság kedvéért ezeket ragasztottam a helyükre, ha a két fél utolsó összehúzódása közben bármilyen mozgás történik. Valójában csak egy kicsit zúgott, de nem hallatszott ropogó hang, így miután a két fél szorosan összeért, benyomtam az orrkúpot, és rögzítettem a csavart a fogantyún keresztül - ez az egyetlen két dolog, ami összetartja az egész szerelvényt.

Ez nem működött először, az első squishathon során sikerült leválasztanom a képernyőt, de néhány stratégiai kábelhajlítással minden szerencsésen végződött másodszor is. Ideje rámutatni a dolgokra!

10. lépés: Hőmérséklet tesztelési idők

Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők
Hőmérséklet tesztelési idők

Az otthoni többletidő valóban segített abban, hogy a megszokottnál jobban összpontosítsak (megszállottan?) A projekt apró részleteire, és ez határozottan tisztább befejezést és kevesebb meglepetést eredményezett az összeszerelés idején - valamint segített megőrizni lelki jólétemet. az egyenes és keskeny. Az érzékelő eredeti terve valami egészen más volt, így nagyon elégedett vagyok a végeredménnyel, a lassú ütemű és kielégítő konstrukcióval.

Az Apollo Pi a projektpolcon is remekül néz ki, és mindenképpen szórakoztató és hasznos eszköz a közelben, nem hagyhatjuk abba, hogy a dolgokra mutassunk! Egy ideális világban ez valamivel nagyobb felbontás lenne, és meg kell találnom a módját, hogy "elfordítsam" a kijelzőt, ahogy az pillanatnyilag tükröződik, de ezek apróságok.

Köszönöm, hogy olvastál, és vigyázz magadra mindenkinek.

A többi régi technikai, új specifikációs projektem megtalálható az Instructables webhelyen, a https://www.instructables.com/member/MisterM/instructables/ webhelyen.

További részletek a https://bit.ly/OldTechNewSpec weboldalon találhatók. és a Twitteren vagyok @OldTechNewSpec.

Ajánlott: