Taula de continguts:

Càmera tèrmica Apollo Pi del 1979: 10 passos (amb imatges)
Càmera tèrmica Apollo Pi del 1979: 10 passos (amb imatges)

Vídeo: Càmera tèrmica Apollo Pi del 1979: 10 passos (amb imatges)

Vídeo: Càmera tèrmica Apollo Pi del 1979: 10 passos (amb imatges)
Vídeo: От бен Ладена до ДАИШ — день в истории — депутат 2024, Setembre
Anonim
Image
Image
Càmera tèrmica Apollo Pi de 1979
Càmera tèrmica Apollo Pi de 1979
Càmera tèrmica Apollo Pi de 1979
Càmera tèrmica Apollo Pi de 1979

Aquest detector de microones Apollo vintage té ara un nou propòsit brillant com a càmera tèrmica, alimentat per un Raspberry Pi Zero amb un sensor de càmera tèrmica Adafruit que pren les temperatures, mostrant els resultats en temps real en una pantalla TFT de 1,3 polzades brillant.

Té un mode predefinit i un mode dinàmic: en el primer, els colors que es mostren a la pantalla es basen en llindars de temperatura codificats i, en el segon, el rang de colors es pot ajustar mitjançant els lliscadors de temperatura en un tauler d’Adafruit.io. mostra les instantànies penjades pel dispositiu, que es capturen mitjançant el botó polze original de la pinça.

Tot el sistema està alimentat per un paquet de bateria USB cilíndric i prim que s’amaga a l’empunyadura de la mà, que es pot recarregar fàcilment fent sortir el con del nas i endollant un cable USB.

Només tres scripts Python controlen la lògica del menú, el sensor i la integració Adafruit.io, amb la pantalla gestionada per PyGame.

Treballar en aquest projecte m’ha ajudat a mantenir-me positiu durant el tancament i, amb el temps extra a les mans, els nens i jo hem trobat moltes coses interessants a la casa per assenyalar-ho.

Feu un cop d'ull a l'Apollo Pi en acció al vídeo de YouTube, per si no podeu veure la versió incrustada anterior a

Subministraments

Monitor de microones Apollo

Raspberry Pi Zero W

Adafruit AMG8833 Disseny de càmeres tèrmiques

Adafruit Mini PiTFT 1.3 Pantalla

Cables de pont

Disc vibrador de 3v

Banc d'alimentació USB

Pas 1: desgarrament

Desgarrament
Desgarrament
Desgarrament
Desgarrament
Desgarrament
Desgarrament

Vaig recollir l'Apollo Monitor en una venda de segona mà l'estiu passat, per la seva aparença única en lloc de qualsevol altra cosa, que està tan bé com definitivament havia vist dies millors. Els circuits a l’interior eren incomplets i tot estava cobert per un embolic de cola, un intent històric de reparar-lo.

Originalment s’hauria utilitzat per comprovar la presència de radiació de microones, presumiblement en algun tipus d’entorn industrial donat el seu disseny i la raresa dels forns de microones de l’època, tot i que no en podia saber molt més. Una cosa que sabia era que seria la casa ideal per a una càmera tèrmica.

Tan bon punt vaig treure el "nas" cònic, la resta es va desintegrar literalment i es va eliminar fàcilment el comptador analògic i el botó rectangular enganxats. Vaig mantenir el botó, però, era perfectament funcional i tenia una forma molt estranya, de manera que hauria tingut dificultats per encabir un substitut al mateix forat.

Pas 2: cablejat

Cablejat
Cablejat
Cablejat
Cablejat

Abans de retallar la caixa perquè tot s’ajustés, primer volia assegurar-me de com anirien les parts juntes, així que em vaig posar a cablejar el sensor i la pantalla. El sensor en si estava bé, només calien quatre cables de pont per connectar-lo al Raspberry Pi.

La pantalla era una mica més complicada, el diagrama de pinout mostrava que hauria de connectar 13 cables jumper, òbviament està dissenyat per seure directament a sobre d’un Pi, de manera que només tenia la culpa. Vaig decidir afegir un tros de capçalera femenina entre la pantalla i les connexions Pi, de manera que pogués treure la pantalla i connectar-la fàcilment. Va ser una gran idea i vaig seguir amb molta cura el diagrama de fixació per connectar la capçalera al Pi.

A continuació, heu soldat alguns cables de pont nou al botó original, de manera que es podrien connectar al GPIO i utilitzar-los per capturar instantànies d’imatges tèrmiques. Per últim, he soldat un petit disc vibrant directament als pins GPIO, per proporcionar una retroalimentació tàctil a les pulsacions de botons.

Pas 3: modificacions de casos

Mods de casos
Mods de casos
Mods de casos
Mods de casos

Una de les coses que va ressuscitar l'Apollo Monitor del meu quadre "per fer" va ser el forat de la part superior, que era aproximadament de la mida que necessitava per a la petita pantalla Adafruit. Aproximadament. Va trigar una hora més o menys amb un fitxer a ampliar el forat a la mida adequada, però afortunadament vaig aconseguir no destruir el cas durant el procés.

També vaig tallar parts de l’interior que originalment contenien una bateria PP3 i vaig retallar alguns mampars dins de l’empunyadura per deixar espai al paquet de bateries, mitjançant una eina rotativa.

Finalment, he foradat uns forats grans perquè els cables del sensor i del cable de càrrega poguessin sortir del "nas" per unir-se amb la resta de circuits.

Pas 4: alimentació

Potència
Potència
Potència
Potència
Potència
Potència
Potència
Potència

Per a aquest projecte, vaig decidir no utilitzar una bateria i un adaptador / carregador de LiPo, ja que hi havia més espai al cas. En lloc d’això, vaig decidir utilitzar un banc d’alimentació USB estàndard. Volia aconseguir-ne un de cilíndric prim, que encaixés dins del mànec, de manera que vaig cercar el més prim i el més barat que pogués trobar a Amazon. El que va arribar, amb una torxa LED cursi i un estil de bateria falsa, va ser el més prim que vaig poder trobar, però en desembalar-lo em vaig adonar que encara era massa gruixut per cabre-hi al mànec. Llavors em vaig adonar que es va trencar: la part superior es va descargolar i la bateria nua que es va lliscar cap a dins, estalviant-me amb precisió els 3 mm que necessitava per col·locar-la dins del mànec, quin resultat!

A continuació, vaig agafar un curt cable micro USB, vaig treure una mica de l'aïllament, vaig trencar el cable positiu i vaig soldar-lo amb un preciós botó de tancament quadrat, de manera que es pogués controlar l'alimentació sense haver de desconnectar la bateria. Aquest botó s’adaptava perfectament al que originalment era la tapa de la bateria i era un partit força proper amb l’original de la part superior de la caixa. Ara que sabia que tot encaixaria, era hora que tot funcionés.

Pas 5: Configuració del programari de la càmera tèrmica

Configuració del programari de càmera tèrmica
Configuració del programari de càmera tèrmica

El sensor tèrmic en si és una càmera fotogràfica Adafruit AMG8833IR Breakout, que utilitza una gamma de sensors 8x8 per crear la imatge de calor. Funciona amb Arduino i Raspberry Pi, però l’avantatge més gran d’utilitzar un Pi és que el programari pot utilitzar el mòdul scipy python per realitzar una interpolació bicúbica de les dades capturades, cosa que fa que sembli una imatge de 32x32.

Configurar el sensor és bastant senzill, però hi ha alguns cèrcols per saltar, això és el que va funcionar per a mi:

Activeu I2C i SPI al Raspberry Pi (configuració de Raspberry Pi> Interfícies)

Instal·leu la biblioteca Blinka CircuitPython:

pip3 instal·la adafruit-blinka

A continuació, instal·leu la biblioteca de sensors AMG8XX:

sudo pip3 instal·la adafruit-circuitpython-amg88xx #

Apagueu el Pi i connecteu el sensor; per sort, només hi ha 4 cables.

A continuació, instal·leu els mòduls scipy, pygame i color:

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

En aquest moment, el meu codi ha generat un error escàs, així que el vaig tornar a instal·lar amb:

Sudo Pip3 instal·la scipy

Llavors he rebut l’error: ImportError: libf77blas.so.3: no es pot obrir el fitxer d’objectes compartits: no hi ha cap fitxer o directori

Això es va resoldre instal·lant:

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

A partir de llavors, el codi d'exemple va funcionar bé, executant l'script des de la consola en lloc de des de Thonny:

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

Això va fer que la visualització del sensor aparegués a la pantalla en una finestra de piràmide, i després d'alguns ajustaments als llindars de color / temperatura em va hipnotitzar una imatge de calor de la meva cara.

Pas 6: Configuració del programari de la pantalla LCD

Configuració del programari de la pantalla LCD
Configuració del programari de la pantalla LCD
Configuració del programari de la pantalla LCD
Configuració del programari de la pantalla LCD

Va ser molt bo fer funcionar el sensor, però ara necessitava que es visualitzés a la petita pantalla. La pantalla que he utilitzat és un Adafruit Mini PiTFT 1,3 240x240, principalment perquè la seva resolució i forma eren adequades per a la càmera tèrmica, també tenia la mida adequada per adaptar-se a la caixa i oferia els dos botons connectats GPIO que necessitava.

Les instruccions d'Adafruit ofereixen dues opcions aquí: una manera fàcil i difícil: després d'experimentar, em vaig adonar que necessitava utilitzar la manera difícil, perquè el sensor requeria accés directe al framebuffer. Seguint les instruccions pas a pas, vaig estar bé fins que vaig fer la pregunta "Voleu que aparegui la consola": inicialment vaig seleccionar No, però hauria d'haver dit Sí. Va ser una mica dolorós, ja que significava que havia de tornar a fer el procés, però em va fer saber que un cop configurat el Pi per mostrar la consola al TFT, ja no mostrarà l'escriptori mitjançant HDMI (almenys aquesta va ser la meva experiència).

Tot i així, un cop finalitzada la configuració, en reiniciar la petita pantalla es mostrava una versió en miniatura del procés d’inici habitual de Pi, i quan vaig executar l’exemple d’escriptura de la càmera tèrmica, la finestra Pygame mostrava la imatge de calor a la petita pantalla, molt satisfactòria.

Pas 7: modificacions del codi

Retocs de codi
Retocs de codi
Retocs de codi
Retocs de codi

El codi de mostra funcionava bé, però volia que fes una mica més, així que em vaig dedicar a ajustar els guions al meu gust. Vaig començar creant un script de menú que es carregaria en iniciar i fer un bon ús dels dos botons integrats al tauler de visualització.

menu.py

En primer lloc, vaig trobar alguns Python en línia que mostrarien un bon efecte de menú animat a la pantalla petita, mitjançant PyGame. La bellesa d’aquest guió és que anima totes les imatges d’una carpeta definida, de manera que seria fàcil canviar l’animació en una etapa posterior (per exemple, fer coincidir els colors de l’animació amb el cas). Vaig configurar l'script del menú de manera que prement qualsevol dels botons s'aturaria l'animació i s'obririen fie.py o chill.py, els scripts per mostrar la visualització del sensor. Amb aquest treball, he configurat l'script perquè s'executi a l'inici; normalment ho faig editant / etc / xdg / lxsession / LXDE-pi / autostart, però com que aquest mètode es basa en la càrrega de l'escriptori, necessitava una opció diferent aquesta vegada.

Per tant, primer he editat el fitxer rc.local …

sudo nano /etc/rc.local

… a continuació, s'afegeix el següent, just a sobre de la línia de sortida …

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

… primer s'ha assegurat que l'script menu.py tenia el següent a la part superior …

#! / usr / bin / env python3

… i també després de configurar menu.py com a script executable escrivint:

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

al terminal.

fever.py (predefinit)

Per a l’escript predefinit, primer he establert els llindars de color / temperatura, establint el inferior (blau) a 16 i el superior (vermell) a 37,8. Teòricament, això encara apareixia en color verd amb la cara d’una persona, però brillaria en vermell si la temperatura fos superior o igual als 37,8 graus. Hi ha moltes investigacions en línia sobre el mostreig de la temperatura corporal mitjançant diferents mètodes, però amb la variància del sensor de +/- 2,5 graus, vaig decidir quedar-me amb el rang de "febre" més acceptat: això és prou fàcil de canviar mitjançant ssh en una data posterior.

A continuació, he configurat els dos botons de pantalla per tancar l'script actual i obrir menu.py. També volia trobar una manera de capturar i exportar la imatge de la càmera i haver trobat l’ordre PyGame adequat

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

Ho vaig configurar perquè s'executés quan es va prémer el botó "polze", el que hauríeu utilitzat originalment per fer una lectura al microones. Això es va ocupar de capturar la imatge; a continuació, vaig afegir algunes línies de Python perquè la imatge es carregés immediatament a un tauler d'Adafruit IO un cop capturada, de manera que es pogués veure en altres dispositius i descarregar-la fàcilment. Amb un "guardar com" ràpid, es va completar el guió predefinit.

chill.py (dinàmic)

Una càmera tèrmica té més coses que buscar temperatures específiques i volia que l’escriptura dinàmica fos flexible, de manera que els llindars de color superior i inferior es poguessin ajustar fàcilment. No volia afegir botons addicionals al dispositiu i complicar la navegació, de manera que vaig optar per utilitzar lliscadors en un tauler d'Adafruit.io.

Ja tenia el gruix del codi d'Adafruit a l'script predefinit, de manera que només calia afegir algunes línies addicionals, de manera que els valors del control lliscant actuals del tauler es recuperessin al llançament i es definissin com a valor predeterminat de la pantalla.

El codi que he fet servir està disponible a GitHub, per tornar-lo a fer servir només heu de descarregar la carpeta FeverChill a la carpeta / pi / del vostre Pi i introduir les vostres credencials i noms d’alimentació Adafruit.io als scripts, un cop la pantalla & sensor configurat.

Amb els guions funcionant bé, era hora de passar a alguna cosa més desordenada.

Pas 8: finalització dels retocs

Finalització de retocs
Finalització de retocs
Finalització de retocs
Finalització de retocs
Finalització de retocs
Finalització de retocs

Originalment, aquest projecte havia de ser una distracció ràpida d'utilitzar el sensor tèrmic per a una altra cosa, però amb els esdeveniments actuals em vaig trobar cada vegada més atret i els petits detalls addicionals que l'estirarien i el convertirien en un repte.

La funda de l'Apollo Monitor era bastant agradable de treballar, fàcil de tallar i esmolar, però per acabar-ho bé volia posar algunes de les plaques de circuits visibles darrere de les "màscares" pintades. Aquests van trigar anys, tallant-los a mà de trossos de residus de plàstic, però va ser una feina satisfactòria. Primer en vaig fer un de petit que tapava el tauler de la pantalla però deixava els microinterruptors visibles. A continuació, en vaig fer un per al sensor tèrmic, de manera que no veiéssiu electrònica nua si mireu el "negoci final".

Vaig decidir la combinació de colors un parell de dies abans que el Regne Unit entrés en bloqueig i vaig tenir la sort de trobar els colors que volia a la ferreteria propera. A mesura que el cas es dividia tan bé en meitats, es va suggerir un esquema de colors de dos tons, i després el vaig ampliar fins al "con de nas" i la tapa del sensor. La pintura va ser molt divertida, el primer dia càlid de l’any, tot i que això significava pintar mentre les vespes del cobert es movien i es movien. Abans no havia utilitzat cinta adhesiva amb pintura en aerosol, però estic molt satisfet de com van sortir les peces bicolores resultants.

Aprenent les lliçons de les versions anteriors, vaig deixar que les parts pintades s’endurissin durant una bona setmana abans d’intentar muntar-les, i mentrestant vaig començar a muntar el vídeo.

Pas 9: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Sempre que estic treballant en un projecte, m’encanta arribar a l’escenari on tot està disposat per al muntatge, com un kit de maquetes de fabricació pròpia. No hi ha garanties que encaixin i les instruccions només existeixen al cap, però és la meva part preferida de qualsevol versió.

Aquesta vegada ha anat molt bé, sobretot perquè tenia temps extra per dedicar-me als petits detalls i assegurar-me que tot fos així. Primer de tot, vaig enganxar la pantalla a la funda i després vaig afegir el botó "captura": aquestes eren les úniques parts connectades a la part superior de la funda, de manera que va ser un bon començament fàcil.

A continuació, vaig enganxar lleugerament el paquet de bateries a l’empunyadura i vaig col·locar el Pi amb el seu suport a la caixa. Després d'això, el sensor de la càmera es va enganxar amb cura al con del nas, es va cargolar l'interruptor d'alimentació a la tapa de la bateria i es va connectar tot.

Vaig utilitzar cables jumper per a totes les connexions, però només per tenir molta precaució, els vaig enganxar al seu lloc, en cas que hi hagués algun moviment durant el tancament final de les dues meitats. De fet, de fet, era una mica esquitxat, però no sona cap esquerdament, de manera que, un cop les dues meitats estaven ben juntes, vaig instal·lar el con del nas i vaig fixar el cargol a través del mànec, les dues úniques coses que mantenien tot el conjunt junt..

No va funcionar la primera vegada, vaig aconseguir desconnectar la pantalla durant el primer squishathon, però amb unes quantes corbes estratègiques de cable tot va acabar feliçment per segona vegada. És hora d’assenyalar-ho!

Pas 10: Temps de prova de temperatura

Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura
Temps de proves de temperatura

Tenir més temps a casa m’ha ajudat a centrar-me (obsessionat?) Més de l’habitual en els petits detalls d’aquest projecte, i això definitivament va aconseguir un acabat més net i menys sorpreses durant el muntatge, a més d’ajudar a mantenir el meu benestar mental el recte i estret. El pla original del sensor era completament diferent, de manera que estic molt satisfet amb el resultat final, una construcció de ritme lent i satisfactòria.

L'Apollo Pi també té un aspecte fantàstic a la prestatgeria del projecte i, sens dubte, és una eina útil i divertida que teniu a la vostra disposició, no podem deixar d’assenyalar-ho cap a coses. En un món ideal, tindria una resolució lleugerament superior, i he de trobar alguna manera de "capgirar" la pantalla tal com es reflecteix en aquest moment, però es tracta de petites negacions.

Gràcies per llegir i estigueu segurs a tothom.

Els meus altres projectes Old Tech i New Spec es troben a Instructables a

Podeu obtenir més informació al lloc web a https://bit.ly/OldTechNewSpec. i estic a Twitter @OldTechNewSpec.

Recomanat: