INHOUDSOPGAWE:

1979 Apollo Pi termiese kamera: 10 stappe (met foto's)
1979 Apollo Pi termiese kamera: 10 stappe (met foto's)

Video: 1979 Apollo Pi termiese kamera: 10 stappe (met foto's)

Video: 1979 Apollo Pi termiese kamera: 10 stappe (met foto's)
Video: 15 Знаменитостей, которые, как считается, все еще живы 2024, Desember
Anonim
Image
Image
1979 Apollo Pi termiese kamera
1979 Apollo Pi termiese kamera
1979 Apollo Pi termiese kamera
1979 Apollo Pi termiese kamera

Hierdie vintage Apollo-mikrogolfdetektor het nou 'n glansryke nuwe doel as 'n termiese kamera, aangedryf deur 'n Raspberry Pi Zero met 'n Adafruit-termiese kamerasensor wat die temperatuur meet, wat die resultate intyds op 'n helder 1.3 TFT-skerm vertoon.

Dit het 'n vooraf ingestelde en 'n dinamiese modus - in die eerste is die kleure wat op die skerm verskyn, gebaseer op hardgekodeerde temperatuurdrempels, en in die tweede kan die kleurreeks aangepas word met behulp van temperatuurskyfies op 'n Adafruit.io -dashboard. vertoon enige kiekies wat deur die toestel opgelaai is, wat met die oorspronklike duimknoppie op die handvatsel vasgelê word.

Die hele stelsel word aangedryf deur 'n dun, silindriese USB -battery wat in die handvatsel versteek is, wat maklik herlaai kan word deur die neuskegel af te steek en 'n USB -kabel in te sluit.

Slegs drie Python -skrifte beheer die spyskaartlogika, sensor en Adafruit.io -integrasie, met die skerm wat deur PyGame hanteer word.

Deur aan hierdie projek te werk, het ek werklik gehelp om my positief te hou tydens die inperking, en met die ekstra tyd op ons hande het ek en die kinders baie interessante dinge in die huis gevind om na te wys!

Kyk na die Apollo Pi in aksie in die YouTube -video, as u nie die ingebedde weergawe hierbo kan sien nie, is dit op

Voorrade

Apollo mikrogolfmonitor

Framboos Pi Zero W

Adafruit AMG8833 Thermal Camera Breakout

Adafruit Mini PiTFT 1.3 skerm

Springkabels

3v trilskyf

USB kragbank

Stap 1: Afbreek

Breek af
Breek af
Breek af
Breek af
Breek af
Breek af

Ek het die Apollo Monitor verlede somer op 'n tweedehandse verkoop opgetel, vanweë sy unieke voorkoms eerder as enigiets anders - wat net so goed is as wat dit beslis beter dae gesien het! Die kringe binne was onvolledig en die hele ding was bedek met 'n warboel gom, 'n historiese poging om dit te herstel.

Dit sou oorspronklik gebruik gewees het om na die teenwoordigheid van mikrogolfstraling te kyk, vermoedelik in 'n industriële omgewing, gegewe die ontwerp en die skaarsheid van mikrogolfoonde destyds, hoewel ek nie veel meer daaroor kon uitvind nie. Een ding wat ek wel geweet het, dit sou die ideale tuiste wees vir 'n termiese kamera.

Sodra ek van die koniese "neus" afkom, val die res letterlik uitmekaar, en die ingeslote analoog meter en die reghoekige knoppie kan maklik verwyder word. Ek het die knoppie egter behou, dit was perfek funksioneel en 'n baie vreemde vorm, so ek sou gesukkel het om 'n plaasvervanger in dieselfde gat te plaas.

Stap 2: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading

Voordat ek die kas afgewerk het, wou ek eers seker maak dat ek weet hoe die onderdele bymekaar kom, en ek het die sensor en die skerm aangesluit. Die sensor self was goed, net vier springkabels was nodig om dit aan die Raspberry Pi te koppel.

Die skerm was 'n bietjie ingewikkelder; die pinout -diagram het getoon dat ek 13 springdrade moet aansluit - dit is duidelik ontwerp om direk bo -op 'n Pi te sit, sodat ek net die skuld vir myself gehad het. Ek het besluit om 'n stuk vroulike kopstuk tussen die skerm en die Pi -verbindings by te voeg, sodat ek die skerm kon verwyder en dit maklik konnekteer. Dit was 'n goeie idee, en ek het die pinout -diagram baie noukeurig gevolg om die kop na die Pi te dra.

Vervolgens het ek 'n paar vars kabels aan die oorspronklike knoppie gesoldeer, sodat dit aan die GPIO gekoppel kon word en gebruik kon word om termiese beeldopnames te maak. Laastens het ek 'n klein trilskyfie direk aan die GPIO -penne gesoldeer om 'n bietjie terugvoer te gee aan die druk op die knoppies.

Stap 3: Case Mods

Case Mods
Case Mods
Case Mods
Case Mods

Een van die dinge wat die Apollo Monitor uit my "to do" -boks opgewek het, was die vertoongat aan die bokant - dit was omtrent die grootte wat ek nodig gehad het vir die klein Adafruit -skerm. Ongeveer. Dit het 'n uur of wat met 'n lêer geneem om die gat tot die regte grootte uit te brei, maar ek kon gelukkig nie die saak vernietig nie.

Ek het ook dele van die binnekant wat oorspronklik 'n PP3 -battery bevat het, weggekap en 'n paar skote in die greep gesny om plek te maak vir die battery met 'n draaibare gereedskap.

Uiteindelik het ek 'n paar groot gate geboor, sodat die kabels vir die sensor en die laadkabel van die 'neus' af kan kom om by die res van die stroombane aan te sluit.

Stap 4: Krag

Krag
Krag
Krag
Krag
Krag
Krag
Krag
Krag

Vir hierdie projek het ek besluit om nie 'n LiPo -battery en adapter/laaier te gebruik nie, aangesien daar meer ruimte in die kas was. Ek het eerder besluit om 'n standaard USB -kragbank te gebruik. Ek wou 'n dun silindriese een kry wat in die handvatsel pas, en het dus gesoek na die goedkoopste en dunste een wat ek op Amazon kon kry. Die een wat aangekom het, met sy kak LED-fakkel en faux-battery styling was die dunste wat ek kon kry, maar toe ek dit uitpak, het ek besef dat dit nog te dik was om in die handvatsel te pas. Toe besef ek dat dit uitmekaar val - die bokant losgeskroef en die naakte battery binne -in gly, en spaar my netjies die 3 mm wat ek nodig gehad het om dit binne -in die handvatsel te pas, wat 'n resultaat!

Daarna het ek 'n kort mikro -USB -kabel geneem, 'n deel van die isolasie verwyder, die positiewe kabel gesny en 'n pragtige vierkantige knoppie gesoldeer sodat die krag beheer kan word sonder om die battery te ontkoppel. Hierdie knoppie pas goed in die oorspronklike batteryklep en pas baie goed by die oorspronklike aan die bokant van die omhulsel. Noudat ek geweet het dat alles pas, was dit tyd om alles te laat werk!

Stap 5: Opstelling van termiese kamera sagteware

Opstelling van termiese kamera sagteware
Opstelling van termiese kamera sagteware

Die termiese sensor self is 'n Adafruit AMG8833IR Thermal Camera Breakout, wat 'n 8x8 reeks sensors gebruik om die hittebeeld te skep. Dit werk met Arduino en Raspberry Pi, maar die grootste voordeel van die gebruik van 'n Pi is dat die sagteware die snaakse luislangmodule kan gebruik om bikubiese interpolasie op die vasgelegde data uit te voer, sodat dit soos 'n 32x32 beeld lyk, netjies!

Die opstel van die sensor is redelik eenvoudig, maar daar is 'n paar hoepels om deur te spring, dit is wat vir my gewerk het:

Aktiveer I2C en SPI op die Raspberry Pi (Raspberry Pi Configuration> Interfaces)

Installeer die Blinka CircuitPython -biblioteek:

pip3 installeer adafruit-blinka

Installeer dan die AMG8XX sensorbiblioteek:

sudo pip3 installeer adafruit-circuitpython-amg88xx#

Skakel die Pi uit en koppel die sensor aan - gelukkig net 4 drade!

Installeer dan die module scipy, pygame en kleur:

sudo apt-get install -y python-scipy python-pygamesudo pip3 installeer kleur

Op hierdie stadium het my kode 'n fout gemaak, en ek het dit weer geïnstalleer met:

Sudo Pip3 installeer scipy

Toe ontvang ek die fout: ImportError: libf77blas.so.3: kan nie 'n gedeelde voorwerplêer oopmaak nie: Geen sodanige lêer of gids nie

Dit is opgelos deur die installering van:

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

Van toe af het die voorbeeldkode goed gewerk, met die draaiboek van die konsole eerder as van Thonny:

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

Dit het die sensorskerm op die skerm in 'n pygame -venster laat verskyn, en na 'n paar aanpassings aan die kleur-/temperatuurdrempels is ek gehypnotiseer deur 'n hittebeeld van my gesig.

Stap 6: Opstel van sagteware vir LCD -skerms

Opstel van sagteware vir LCD -skerms
Opstel van sagteware vir LCD -skerms
Opstel van sagteware vir LCD -skerms
Opstel van sagteware vir LCD -skerms

Dit was baie goed om die sensor aan die werk te kry, maar nou moes ek dit op die klein skerm vertoon. Die skerm wat ek gebruik het, is 'n Adafruit Mini PiTFT 1.3 240x240 - hoofsaaklik omdat die resolusie en vorm presies vir die termiese kamera pas, en dit was ook die regte grootte om in die tas te pas en het die twee GPIO -gekoppelde knoppies aangebied wat ek nodig gehad het.

Die Adafruit -instruksies bied hier twee opsies: 'n Maklike en 'n moeilike manier - nadat ek geëksperimenteer het, het ek besef dat ek die harde manier moes gebruik, want die sensor benodig direkte toegang tot die raambuffer. Volgens die stap -vir -stap instruksies was dit goed totdat ek die vraag "Wil u hê dat die konsole moet verskyn" opkom - ek het aanvanklik Nee gekies, maar moes ja gesê het. Dit was 'n bietjie pyn, aangesien dit beteken dat ek die proses moes herhaal, maar dit het my bewus gemaak dat sodra die Pi die konsole op die TFT sal vertoon, dit nie meer die tafelblad via HDMI sal wys nie (ten minste dit was my ervaring).

Tog, sodra die opstelling voltooi was, het 'n miniatuurweergawe van die gewone Pi -opstartproses 'n miniatuurweergawe van die klein skerm vertoon, en toe ek die voorbeeld van die termiese kameraskrip uitvoer, het die pygame -venster die hittebeeld op die klein skerm vertoon - baie bevredigend!

Stap 7: Kode -aanpassings

Kode aanpassings
Kode aanpassings
Kode aanpassings
Kode aanpassings

Die voorbeeldkode het goed gewerk, maar ek wou hê dat dit 'n bietjie meer moes doen, so ek wou die skrifte na my smaak aanpas. Ek het begin met die opstel van 'n menu -skrif wat by die opstart laai en die twee knoppies wat in die vertoonbord geïntegreer is, goed kan gebruik.

menu.py

Eerstens het ek 'n paar Python aanlyn gevind wat 'n mooi geanimeerde spyskaart -effek op die klein skerm met PyGame sou vertoon. Die mooiste van hierdie skrif is dat dit alle beelde in 'n vaste lêergids animeer, dus dit sou maklik wees om die animasie later te verander (byvoorbeeld om die kleure van die animasie by die geval te pas). Ek stel die spyskaart so in dat deur op een van die knoppies te druk, die animasie gestop word en koors.py of chill.py oopgemaak word, die skrifte om die sensorvertoning te wys. Met hierdie werk stel ek die script in om op te begin - gewoonlik doen ek dit deur/etc/xdg/lxsession/LXDE -pi/autostart te redigeer, maar omdat hierdie metode afhang van die laai van die lessenaar, het ek hierdie keer 'n ander opsie nodig gehad.

Dus het ek eers die rc.local -lêer geredigeer …

sudo nano /etc/rc.local

… dan bygevoeg in die volgende net bokant die afritreël …

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

… nadat ek eers verseker het dat die menu.py -script die volgende heel bo het …

#!/usr/bin/env python3

… en ook nadat menu.py as 'n uitvoerbare script opgestel is deur te tik:

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

na die terminale.

fever.py (vooraf ingestel)

Vir die vooraf ingestelde skrif stel ek eers die kleur- / temperatuurdrempels in, en stel die onderste een (blou) op 16 en die boonste (rooi) op 37,8. Dit sou teoreties steeds 'n persoon se gesig in groen vertoon, maar rooi gloei as die temperatuur op of bo 37,8 grade was. Daar is baie navorsing aanlyn oor die monsterneming van liggaamstemperatuur via verskillende metodes, maar omdat die sensor se afwyking +/- 2.5 grade was, het ek besluit om net by die algemeenste "koors" -reeks te bly - dit is maklik genoeg om via ssh te verander op 'n later datum.

Vervolgens stel ek die twee skermknoppies om die huidige script te sluit en menu.py oop te maak. Ek wou ook 'n manier vind om die kamerabeeld vas te lê en uit te voer, en nadat ek die regte PyGame -opdrag gevind het

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

Ek het dit laat loop wanneer die "duim" -knoppie ingedruk is - die een wat u oorspronklik sou gebruik het om 'n mikrogolf te lees. Dit het gesorg vir die opname van die beeld; daarna het ek 'n paar reëls Python bygevoeg sodat die prent onmiddellik na 'n Adafruit IO -dashboard opgelaai kan word sodra dit geneem is, sodat dit op ander toestelle bekyk en maklik afgelaai kan word. Met 'n vinnige "stoor as" was die vooraf ingestelde script voltooi.

chill.py (Dinamies)

Daar is meer aan 'n termiese kamera as om na spesifieke temperature te soek, en ek wou hê dat die Dynamic -skrip buigsaam moet wees, sodat die boonste en onderste kleurdrempels maklik aangepas kan word. Ek wou nie ekstra knoppies by die toestel voeg en die navigasie bemoeilik nie, daarom het ek besluit om skuifknoppies op 'n Adafruit.io -dashboard te gebruik.

Ek het reeds die grootste deel van die Adafruit -kode in die voorafbepaalde skrif gehad, so ek moes net 'n paar ekstra reëls byvoeg, sodat die huidige skuifbalkwaardes vanaf die paneelbord by die bekendstelling opgespoor kan word en as die standaardweergawe van die vertoning sou word.

Die kode wat ek gebruik het, is almal beskikbaar op GitHub, om dit weer te gebruik, hoef u net die FeverChill-lêer af te laai na die / pi / gids op u Pi en u Adafruit.io-geloofsbriewe en voedingsname in die skrifte in te voer, sodra u vertoon is en sensor ingestel is.

Met die skrifte wat goed werk, was dit tyd om na iets morsiger te gaan!

Stap 8: voltooi afrondings

Afwerkingskoppe klaar
Afwerkingskoppe klaar
Afwerkingskoppe klaar
Afwerkingskoppe klaar
Afwerkingskoppe klaar
Afwerkingskoppe klaar

Oorspronklik was hierdie projek bedoel om 'n vinnige afleiding te wees van die gebruik van die termiese sensor vir iets anders, maar met huidige gebeure was ek al hoe meer daarby aangetrokke, en die klein ekstra besonderhede wat dit sou uitrek en dit meer 'n uitdaging sou maak.

Die Apollo Monitor -omhulsel was baie lekker om mee te werk, maklik om te sny en te skuur, maar om dit mooi af te handel, wou ek 'n paar van die sigbare stroombane agter geverfde 'maskers' steek. Dit het eeue geneem om dit met die hand uit stukke plastiek te sny, maar dit was bevredigend. Eers het ek 'n klein een gemaak wat die skermbord sou bedek, maar die mikroskakelaars sigbaar sou laat bly. Vervolgens het ek een gemaak vir die termiese sensor, sodat u nie bloot elektronika sou sien as u na die "sakekant" kyk nie.

Ek het 'n paar dae voor die Verenigde Koninkryk besluit het oor die kleurskema, en ek was gelukkig om die kleure te vind wat ek in die nabygeleë hardewarewinkel wou hê. Aangesien die saak so mooi in helftes verdeel is, word 'n tweekleurige kleurskema voorgestel, en ek het dit dan uitgebrei na die "neuskegel" en sensorbedekking. Die skildery was baie pret, die eerste warm dag van die jaar, alhoewel dit beteken het om te skilder terwyl die wespies in die skuur roer en maal. Ek het nog nooit voorheen maskeerband met spuitverf gebruik nie, maar ek is baie tevrede met hoe die twee-toon stukke daaruit gekom het.

Toe ek die lesse van vorige geboue geleer het, het ek die geverfde dele 'n goeie week lank laat hard word voordat ek probeer monteer het, en ek het intussen begin om die video saam te stel.

Stap 9: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Elke keer as ek aan 'n projek werk, kom ek graag op die verhoog waar alles gereed is vir montering, soos 'n selfgemaakte modelstel. Daar is geen waarborge dat dit alles bymekaar sal pas nie, en die instruksies bestaan slegs in my kop, maar dit is my gunsteling deel van enige gebou.

Hierdie keer het dit baie glad verloop - meestal omdat ek ekstra tyd gehad het om aan die klein besonderhede te spandeer en seker te maak dat alles net so was. Ek het die skerm eers in die omhulsel vasgeplak en toe die 'vasvang' -knoppie bygevoeg - dit was die enigste dele wat aan die bokant van die omhulsel gekoppel is, so dit was 'n goeie begin.

Daarna het ek die batterypak liggies in die houer vasgeplak en die Pi met sy hakie in die omhulsel aangebring. Daarna is die kamerasensor versigtig in die neuskegel vasgeplak, die aan / uit -skakelaar aan die batteryklep vasgeskroef en alles is verbind.

Ek het springkabels gebruik vir al die verbindings, maar om ekstra versigtig te wees, het ek dit op die plek vasgeplak, indien daar enige beweging was tydens die laaste saamtrek van die twee helftes. Dit was eintlik net 'n bietjie ruis, maar daar was geen krake nie, so sodra die twee helftes styf bymekaar was, druk ek die neuskegel vas en bevestig die bout deur die handvatsel - die enigste twee dinge wat die hele vergadering bymekaar hou.

Dit het die eerste keer nie gewerk nie; ek het daarin geslaag om die skerm tydens die eerste squishathon te ontkoppel, maar met 'n paar strategiese kabeldraaie het dit die tweede keer gelukkig geëindig. Tyd om dit op dinge te wys!

Stap 10: Temperatuurtoetye

Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye
Temperatuur toets tye

Deur ekstra tyd by die huis te hê, het ek regtig meer as gewoonlik op die klein besonderhede van hierdie projek gefokus (obsessief?), En dit het beslis 'n skoner afwerking en minder verrassings tydens die byeenkoms verseker - sowel as om my geestelike welstand aan te hou die reguit en smal. Die oorspronklike plan vir die sensor was iets heeltemal anders, so ek is baie tevrede met die eindresultaat, 'n stadige en bevredigende konstruksie.

Die Apollo Pi lyk ook baie goed op die projekrak en is beslis 'n prettige en nuttige hulpmiddel om in die omtrek te hê; ons kan nie ophou om na dinge te verwys nie! In 'n ideale wêreld sou die effens hoër resolusie wees, en ek moet 'n manier vind om die skerm te "draai" soos dit tans weerspieël word, maar dit is klein niggies.

Dankie vir die lees en bly veilig almal.

My ander Old Tech, New Spec -projekte is almal op Instructables op

Meer besonderhede is op die webwerf by https://bit.ly/OldTechNewSpec. en ek is op Twitter @OldTechNewSpec.

Aanbeveel: