Turinys:
- Prekės
- 1 žingsnis: išardymas
- 2 žingsnis: laidų prijungimas
- 3 žingsnis: korpuso modifikacijos
- 4 žingsnis: maitinimas
- 5 žingsnis: Šiluminių kamerų programinės įrangos sąranka
- 6 veiksmas: LCD ekrano programinės įrangos sąranka
- 7 žingsnis: kodo pakeitimai
- 8 veiksmas: prisilietimų užbaigimas
- 9 žingsnis: Surinkimas
- 10 žingsnis: temperatūros bandymo laikas
Video: 1979 m. „Apollo Pi“terminė kamera: 10 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Šis senovinis „Apollo“mikrobangų detektorius dabar turi naują blizgančią paskirtį, kaip termo kamera, kurią maitina „Raspberry Pi Zero“ir „Adafruit“terminės kameros jutiklis, matuojantis temperatūrą, o rezultatai rodomi realiuoju laiku ryškiame 1,3 colio TFT ekrane.
Jis turi iš anksto nustatytą ir dinaminį režimą - pirmajame ekrane rodomos spalvos yra pagrįstos užkoduotomis temperatūros ribomis, o antroje spalvų diapazoną galima reguliuoti naudojant temperatūros slankiklius „Adafruit.io“prietaisų skydelyje. Prietaisų skydelis taip pat akimirksniu rodo visas įrenginio įkeltas momentines nuotraukas, kurios užfiksuotos naudojant originalų rankenėlės nykščio mygtuką.
Visą sistemą maitina plona, cilindrinė USB baterijų pakuotė, paslėpta rankenos rankenėlėje, kurią galima lengvai įkrauti nuleidus nosies kūgį ir prijungus USB laidą.
Tik trys „Python“scenarijai valdo meniu logiką, jutiklį ir „Adafruit.io“integraciją, o ekraną tvarko „PyGame“.
Darbas prie šio projekto tikrai padėjo man išlikti pozityviam uždarymo metu, o vaikai ir aš suradome daug laiko namuose, kad galėtume į tai atkreipti dėmesį!
Žiūrėkite „Apollo Pi“veikimą „YouTube“vaizdo įraše, jei nematote aukščiau esančios įterptosios versijos adresu
Prekės
„Apollo“mikrobangų monitorius
Raspberry Pi Zero W
„Adafruit AMG8833“šiluminės kameros pertrauka
„Adafruit Mini PiTFT 1.3“ekranas
Trumpieji kabeliai
3v vibruojantis diskas
USB maitinimo bankas
1 žingsnis: išardymas
Praėjusią vasarą aš nusipirkau „Apollo“monitorių naudotoje prekyboje dėl unikalios išvaizdos, o ne dėl nieko kito - tai taip pat gerai, kaip tikrai buvo matyta geresnių dienų! Viduje esančios grandinės buvo neišsamios ir visa tai buvo padengta klijų netvarka, istoriniu bandymu ją ištaisyti.
Iš pradžių jis būtų buvęs naudojamas patikrinti mikrobangų spinduliuotės buvimą, greičiausiai tam tikroje pramoninėje aplinkoje, atsižvelgiant į jo dizainą ir mikrobangų krosnelių retumą tuo metu, nors daugiau apie tai sužinoti negalėjau. Vieną dalyką, kurį žinojau, būtų idealus namas šiluminei kamerai.
Kai tik atlikau kūginę „nosį“, likusi dalis tiesiogine prasme sugriuvo, o priklijuotas analoginis matuoklis ir stačiakampis mygtukas buvo lengvai pašalinami. Vis dėlto pasilikau mygtuką, jis buvo visiškai funkcionalus ir tikrai keistos formos, todėl būčiau stengęsis pakeisti tą pačią skylę.
2 žingsnis: laidų prijungimas
Prieš kirpdamas korpusą, kad viskas būtų tinkama, pirmiausia norėjau įsitikinti, kad žinau, kaip dalys derės, todėl pradėjau jungti jutiklį ir ekraną. Pats jutiklis buvo geras, norint prijungti jį prie „Raspberry Pi“, reikėjo tik keturių jungiamųjų kabelių.
Ekranas buvo šiek tiek sudėtingesnis, „pinout“diagrama parodė, kad man reikia prijungti 13 trumpųjų laidų - akivaizdu, kad jis sukurtas sėdėti tiesiai ant „Pi“, todėl tikrai turėjau kaltinti tik save. Aš nusprendžiau pridėti ekrano antraštės dalį tarp ekrano ir „Pi“jungčių, kad galėčiau lengvai nuimti ekraną ir jį prijungti. Tai buvo puiki idėja, ir aš labai atidžiai sekiau „pinout“schemą, kad prijungčiau antraštę prie „Pi“.
Tada prie pradinio mygtuko lituodavau keletą naujų jungiamųjų kabelių, kad jį būtų galima prijungti prie GPIO ir naudoti šiluminių vaizdų fotografavimui. Galiausiai, lituodavau nedidelį vibruojantį diską tiesiai prie GPIO kaiščių, kad gautumėte šiek tiek pastabų apie mygtukų paspaudimus.
3 žingsnis: korpuso modifikacijos
Vienas iš dalykų, prikėlusių „Apollo“monitorių iš mano „daryti“dėžutės, buvo ekrano skylė viršuje - maždaug tokio dydžio man reikėjo mažam „Adafruit“ekranui. Maždaug. Užtruko maždaug valandą su byla, kad skylė būtų išplėsta iki tinkamo dydžio, tačiau, laimei, man pavyko nesunaikinti bylos.
Aš taip pat sukamuoju įrankiu susmulkinau vidines dalis, kuriose iš pradžių buvo PP3 baterija, ir rankenos viduje išpjoviau kai kurias pertvaras, kad būtų vietos akumuliatoriui.
Galiausiai aš išgręžiau keletą didelių skylių, kad jutiklio ir įkrovimo kabelio kabeliai galėtų patekti iš „nosies“ir prisijungti prie likusių grandinių.
4 žingsnis: maitinimas
Šiam projektui nusprendžiau nenaudoti LiPo akumuliatoriaus ir adapterio/įkroviklio, nes dėkle buvo daugiau vietos. Vietoj to nusprendžiau naudoti standartinį USB maitinimo banką. Norėjau gauti ploną cilindrinį, kad tilptų į rankeną, todėl ieškojau pigiausio ir ploniausio, kokį tik galėjau rasti „Amazon“. Tas, kuris atvyko, su sūriu LED žibintuvėliu ir dirbtiniu akumuliatoriumi buvo ploniausias, kokį tik galėjau rasti, tačiau jį išpakavus supratau, kad jis vis dar per storas, kad tilptų į rankeną. Tada supratau, kad jis išsiskyrė - viršutinė dalis atsukta, o plikas akumuliatorius viduje išslydo, tvarkingai sutaupydamas 3 mm, kurių man reikėjo, kad tilptų rankenos viduje, koks rezultatas!
Tada aš paėmiau trumpą „Micro USB“kabelį, nusiėmiau dalį izoliacijos, nukirpau teigiamą kabelį ir lituojau gražiame kvadratiniame fiksavimo mygtuke, kad būtų galima valdyti maitinimą neatjungus akumuliatoriaus. Šis mygtukas puikiai tilpo į akumuliatoriaus dangtelį ir buvo gana artimas originaliam korpuso viršuje. Dabar, kai žinojau, kad viskas tiks, atėjo laikas viską pradėti veikti!
5 žingsnis: Šiluminių kamerų programinės įrangos sąranka
Pats šiluminis jutiklis yra „Adafruit AMG8833IR“šiluminės kameros „Breakout“, kuris naudoja 8x8 jutiklių rinkinį, kad sukurtų šilumos vaizdą. Jis veikia su „Arduino“ir „Raspberry Pi“, tačiau didžiausias „Pi“naudojimo pranašumas yra tas, kad programinė įranga gali naudoti „scipy python“modulį, kad atliktų dvikubinę interpoliaciją užfiksuotiems duomenims, todėl ji atrodytų kaip 32 x 32 vaizdas, tvarkinga!
Jutiklio nustatymas yra gana paprastas, tačiau yra keletas lankų, kuriuos reikia peršokti, tai man padėjo:
Įgalinti I2C ir SPI „Raspberry Pi“(„Raspberry Pi“konfigūracija> sąsajos)
Įdiekite „Blinka CircuitPython“biblioteką:
pip3 įdiegti adafruit-blinka
Toliau įdiekite AMG8XX jutiklių biblioteką:
sudo pip3 įdiegti adafruit-circuitpython-amg88xx#
Išjunkite „Pi“ir prijunkite jutiklį - laimei, tik 4 laidai!
Tada įdiekite „scipy“, „pygame“ir spalvų modulius:
sudo apt-get install -y python-scipy python-pygamesudo pip3 install color
Šiuo metu mano kodas sukėlė klaidą, todėl iš naujo įdiegiau:
Sudo Pip3 įdiegti scipy
Tada gavau klaidą: ImportError: libf77blas.so.3: negaliu atidaryti bendro objekto failo: tokio failo ar katalogo nėra
Tai buvo išspręsta įdiegus:
sudo apt-get install python-dev libatlas-base-dev
Nuo tada pavyzdinis kodas veikė gerai, paleidus scenarijų iš konsolės, o ne iš Thonny:
sudo python3 /home/pi/FeverChill/cam.py
Dėl to jutiklio ekranas buvo rodomas „pigame“lango ekrane, o po tam tikrų spalvų/temperatūros slenksčių pakeitimų mane užhipnotizavo šilumos veidas.
6 veiksmas: LCD ekrano programinės įrangos sąranka
Buvo tikrai gerai, kad jutiklis veiktų, bet dabar man reikėjo, kad jis būtų rodomas mažame ekrane. Ekranas, kurį naudojau, yra „Adafruit Mini PiTFT 1.3“240x240 - daugiausia dėl to, kad jo skiriamoji geba ir forma buvo tinkama terminei kamerai, taip pat jis buvo tinkamo dydžio, kad tilptų į dėklą, ir pasiūlė du man reikalingus GPIO prijungtus mygtukus.
„Adafruit“instrukcijose buvo siūlomos dvi galimybės: lengvas ir sunkus būdas - eksperimentuodamas supratau, kad turiu naudoti kietąjį būdą, nes jutikliui reikėjo tiesioginės prieigos prie kadrų. Vykdydama žingsnis po žingsnio instrukcijas, man buvo gerai, kol nepateikiau klausimo „Ar norėtumėte, kad konsolė pasirodytų“- iš pradžių pasirinkau „Ne“, bet turėjau pasakyti „Taip“. Tai buvo šiek tiek skausmo, nes tai reiškė, kad turėjau iš naujo atlikti procesą, tačiau tai mane suprato, kad kai „Pi“bus nustatytas rodyti konsolę TFT, jis nebebus rodomas darbalaukyje per HDMI (bent jau tai buvo mano patirtis).
Vis dėlto, kai sąranka buvo baigta, iš naujo paleidus mažytį ekraną, buvo rodoma miniatiūrinė įprasto „Pi“paleidimo proceso versija, o kai paleidžiau terminės kameros scenarijaus pavyzdį, „pygame“langas rodė šilumos vaizdą mažame ekrane - tai labai patenkinta!
7 žingsnis: kodo pakeitimai
Pavyzdinis kodas veikė gerai, bet norėjau, kad jis padarytų šiek tiek daugiau, todėl pradėkite keisti scenarijus pagal savo skonį. Pradėjau sukurdamas meniu scenarijų, kuris būtų įkeliamas paleidžiant ir tinkamai panaudotų du mygtukus, integruotus į ekrano plokštę.
meniu.py
Pirmiausia internete radau „Python“, kuris mažame ekrane, naudodami „PyGame“, rodytų gražų animacinį meniu efektą. Šio scenarijaus grožis yra tas, kad jis animuoja visus nustatyto aplanko vaizdus, todėl vėliau būtų lengva pakeisti animaciją (pavyzdžiui, pritaikyti animacijos spalvas prie dėklo). Meniu scenarijų nustatiau taip, kad paspaudus vieną iš mygtukų animacija būtų sustabdyta ir būtų atidaryti fever.py arba chill.py - scenarijai, rodantys jutiklio ekraną. Atlikdamas šį darbą, nustatiau, kad scenarijus būtų paleistas paleidžiant - paprastai tai darau redaguodamas/etc/xdg/lxsession/LXDE -pi/autostart, tačiau kadangi šis metodas priklauso nuo darbalaukio įkėlimo, šį kartą reikėjo kitokios parinkties.
Taigi pirmiausia redagavau rc.local failą …
sudo nano /etc/rc.local
… tada pridėta toliau, tiesiai virš išėjimo eilutės …
sudo /home/pi/FeverChill/menu.py &
… pirmiausia įsitikinęs, kad „menu.py“scenarijaus viršuje yra ši informacija …
#!/usr/bin/env python3
… ir taip pat nustatę menu.py kaip vykdomąjį scenarijų, įvesdami:
chmod +x /home/pi/FeverChill/menu.py
į terminalą.
karščiavimas.py (iš anksto nustatytas)
Iš anksto nustatytame scenarijuje aš pirmiausia nustatiau spalvų / temperatūros slenksčius, nustatydamas apatinį (mėlyną) į 16, o viršutinį (raudoną) į 37,8. Teoriškai žmogaus veidas vis tiek būtų žalias, tačiau raudonai švytėtų, jei temperatūra būtų 37,8 ar daugiau laipsnių. Internete yra daug tyrimų apie kūno temperatūros paėmimą įvairiais metodais, tačiau, kai jutiklio dispersija yra +/- 2,5 laipsnio, nusprendžiau tiesiog laikytis plačiausiai priimto „karščiavimo“diapazono - tai pakankamai lengva pakeisti per ssh vėliau.
Tada aš nustatiau du ekrano mygtukus, kad uždarytumėte dabartinį scenarijų ir atidarytumėte meniu.py. Taip pat norėjau rasti būdą, kaip užfiksuoti ir eksportuoti fotoaparato vaizdą, ir radau tinkamą „PyGame“komandą
pygame.image.save (LCD, "thermal.jpg")
Aš nustatiau, kad tai veiktų, kai buvo paspaustas „nykščio“mygtukas - tas, kurį iš pradžių naudojote skaityti mikrobangų krosnelėje. Tai pasirūpino vaizdo užfiksavimu, toliau pridėjau kai kurias „Python“eilutes, kad vaizdas būtų iškart įkeltas į „Adafruit IO“prietaisų skydelį, kad jį būtų galima pamatyti kituose įrenginiuose ir lengvai atsisiųsti. Greitai „išsaugoti kaip“buvo baigtas iš anksto nustatytas scenarijus.
chill.py (dinaminis)
Šiluminė kamera yra daugiau nei tam tikros temperatūros ieškojimas, o aš norėjau, kad „Dynamic“scenarijus būtų lankstus, kad būtų galima lengvai reguliuoti viršutines ir apatines spalvų ribas. Nenorėjau prie prietaiso pridėti papildomų mygtukų ir apsunkinti naršymo, todėl nusprendžiau naudoti slankiklius „Adafruit.io“prietaisų skydelyje.
Aš jau turėjau didžiąją dalį „Adafruit“kodo iš anksto nustatytame scenarijuje, todėl tiesiog turėjau pridėti keletą papildomų eilučių, kad paleidžiant būtų gautos dabartinės slankiklio vertės iš prietaisų skydelio ir nustatytos kaip numatytosios.
Visas mano naudojamas kodas yra prieinamas „GitHub“, kad galėtumėte jį pakartotinai naudoti, tiesiog atsisiųskite „FeverChill“aplanką į „Pi“aplanką / ir įveskite „Adafruit.io“kredencialus ir sklaidos kanalų pavadinimus, kai tik pasirodys ir jutiklis nustatytas.
Kai scenarijai veikia gerai, atėjo laikas pereiti prie kažko netvarkingesnio!
8 veiksmas: prisilietimų užbaigimas
Iš pradžių šis projektas turėjo greitai atitraukti dėmesį nuo terminio jutiklio panaudojimo kažkam kitam, tačiau, atsižvelgiant į dabartinius įvykius, vis labiau įsitraukiau į jį ir smulkias papildomas detales, kurios jį ištemptų ir padarytų daugiau iššūkio.
Su „Apollo Monitor“dėklu buvo gana malonu dirbti, jį buvo lengva pjaustyti ir šlifuoti, tačiau norėdamas jį gražiai užbaigti, norėjau kai kurias matomas plokštes užkišti už dažytų „kaukių“. Tai truko ilgai, rankomis iškirpant jas iš plastiko atliekų, tačiau tai buvo patenkinamas darbas. Pirmiausia padariau mažą, kuri uždengtų ekrano plokštę, bet paliktų matomus mikro jungiklius. Tada aš padariau vieną terminiam jutikliui, kad, jei pažvelgtumėte į „verslo pabaigą“, nematytumėte plikos elektronikos.
Spalvų schemą nusprendžiau likus kelioms dienoms iki JK uždarymo, ir man pasisekė rasti norimų spalvų netoliese esančioje techninės įrangos parduotuvėje. Kadangi korpusas taip gražiai padalintas į dvi dalis, buvo pasiūlyta dviejų spalvų spalvų schema, o aš ją išplėtiau iki „nosies kūgio“ir jutiklio dangtelio. Piešimas buvo labai smagus, pirmoji šilta metų diena, nors tai reiškė tapymą, kol vapsvos pašiūrėje maišėsi ir šlifavo. Aš anksčiau nenaudojau maskavimo juostos su purškiamais dažais, bet esu labai patenkinta, kaip atsirado dviejų spalvų gabalai.
Pasimokęs iš ankstesnių konstrukcijų pamokų, prieš bandydamas surinkti, palikau dažytas dalis sukietėti gerą savaitę, o tuo tarpu pradėjau dėti vaizdo įrašą.
9 žingsnis: Surinkimas
Kai dirbu prie projekto, man patinka patekti į etapą, kai viskas yra paruošta surinkimui kaip savadarbis modelio rinkinys. Nėra jokių garantijų, kad visa tai derės ir instrukcijos egzistuoja tik mano galvoje, tačiau tai yra mano mėgstamiausia bet kokios konstrukcijos dalis.
Šį kartą viskas vyko labai sklandžiai - daugiausia dėl to, kad turėjau papildomo laiko skirti smulkmenoms ir įsitikinti, kad viskas yra taip. Pirmiausia karštai priklijavau ekraną prie dėklo, tada pridėjau mygtuką „užfiksuoti“- tai buvo vienintelės dalys, prijungtos prie korpuso viršaus, todėl buvo lengva pradėti.
Tada aš lengvai įklijavau akumuliatorių į rankeną ir įdėjau „Pi“su laikikliu į dėklą. Po to fotoaparato jutiklis buvo atsargiai įklijuotas į nosies kūgį, maitinimo jungiklis buvo prisuktas prie akumuliatoriaus dangtelio ir viskas buvo prijungta.
Visoms jungtims naudoju trumpiklius, tačiau, kad būčiau ypač atsargus, juos karštai priklijavau vietoje, jei per paskutinį dviejų pusių susiliejimą kas nors judėtų. Tiesą sakant, šiek tiek švilpė, bet nesigirdėjo traškėjimo garsų, todėl, kai abi pusės buvo glaudžiai sujungtos, aš stumdžiau nosies kūgį ir pritvirtinau varžtą per rankeną - vieninteliai du dalykai, laikantys visą agregatą kartu.
Pirmą kartą nepavyko, per pirmąjį „squishathon“pavyko atjungti ekraną, tačiau su keliais strateginiais kabelio posūkiais viskas laimingai baigėsi antrą kartą. Laikas atkreipti dėmesį į dalykus!
10 žingsnis: temperatūros bandymo laikas
Turėdamas papildomo laiko namuose, tikrai padėjau daugiau nei įprastai sutelkti dėmesį (smulkmenas) į smulkias šio projekto detales, ir tai neabejotinai leido padaryti švaresnę apdailą ir mažiau netikėtumų surinkimo metu - taip pat padėjo išlaikyti psichinę gerovę. tiesus ir siauras. Pradinis jutiklio planas buvo visiškai kitoks, todėl esu labai patenkintas galutiniu rezultatu, lėtu ir patenkinamu kūrimu.
„Apollo Pi“taip pat puikiai atrodo projektų lentynoje ir neabejotinai yra smagi ir naudinga priemonė, kurią galime turėti šalia, mes negalime nustoti nukreipti į daiktus! Idealiame pasaulyje tai būtų šiek tiek didesnė skiriamoji geba, ir man reikia rasti būdą, kaip „apversti“ekraną, kaip jis šiuo metu yra atspindėtas, tačiau tai yra smulkmenos.
Ačiū, kad skaitote ir saugokitės visų.
Visi kiti mano senų technologijų, naujų specifikacijų projektai yra „Instructables“adresu
Daugiau informacijos rasite svetainėje https://bit.ly/OldTechNewSpec. ir aš „Twitter“@OldTechNewSpec.
Rekomenduojamas:
Atidarykite „Apollo“orientavimo kompiuterį DSKY: 13 žingsnių (su paveikslėliais)
Atidarykite „Apollo“orientavimo kompiuterį DSKY: didžiuojuosi, kad nuo 2018 m. Prašome balsuoti už mus ir paspausti Like! „Kickstarter“kampanija buvo labai sėkminga! Atviras DSKY „Kickstarter“Mūsų atviras DSKY šiuo metu tiesiogiai transliuojamas „Backerkit“(https://opendsky.backerkit.com/hosted_preorders) ir
M5Stack IR terminė kamera naudojant AMG8833 infraraudonųjų spindulių matavimo jutiklį: 3 žingsniai
„M5Stack“infraraudonųjų spindulių fotoaparatas naudojant AMG8833 infraraudonųjų spindulių vaizdo jutiklį: kaip ir daugelis, aš žavėjausi šiluminėmis kameromis, tačiau jos visada buvo ne mano kainų diapazone - iki šiol! Naršydamas „Hackaday“svetainėje, aptikau šią fotoaparato konstrukciją naudojant „M5Stack“ESP32 modulis ir palyginti nebrangus
1979 m. „Bang & Olufsen Raspberry Pi“interneto radijas: 10 žingsnių (su nuotraukomis)
1979 m. „Bang & Olufsen Raspberry Pi“interneto radijas: tai 1979 m. „Bang & „Olufsen Beocord 1500“kasečių įrašymo įrenginys, kurį paverčiau į atskirą „Raspberry Pi“interneto radiją. Analoginius VU skaitiklius Pi valdo per DAC (skaitmeninio į analoginį keitiklį) grandinę, esant dabartiniam laikui
IR terminė kamera: 16 žingsnių
IR terminė kamera: ar kada nors žiūrėjote mokslinės fantastikos ar veiksmo filmą, kuriame personažai persikelia į tamsiai tamsų kambarį ir įjungia savo „terminį matymą“? Arba kada nors žaidėte „Metroid Prime“ir prisimenate pagrindinį veikėją gautą terminį skydelį? Na
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: 17 žingsnių (su nuotraukomis)
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: šioje instrukcijoje paaiškinama, kaip „Discovery Kids Night Vision“vaizdo kamerą (kuri melagingai reklamuojama naudojant „tikrą infraraudonųjų spindulių naktinio matymo technologiją“) paversti TIKRA infraraudonųjų spindulių naktinio matymo kamera. Tai panašu į IR internetinę svetainę