Sommario:
- Forniture
- Passaggio 1: smontaggio
- Passaggio 2: cablaggio
- Passaggio 3: Mod Case
- Passaggio 4: alimentazione
- Passaggio 5: installazione del software della termocamera
- Passaggio 6: configurazione del software dello schermo LCD
- Passaggio 7: modifiche al codice
- Passaggio 8: ritocchi finali
- Passaggio 9: assemblaggio
- Passaggio 10: tempi di test della temperatura
Video: Fotocamera termica Apollo Pi 1979: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Questo rilevatore di microonde Apollo vintage ha ora un nuovo brillante scopo come fotocamera termica, alimentato da un Raspberry Pi Zero con un sensore della fotocamera termica Adafruit che rileva le temperature, visualizzando i risultati in tempo reale su un luminoso display TFT da 1,3.
Ha una modalità Preset e una Dynamic: nella prima i colori mostrati sullo schermo si basano su soglie di temperatura hard-coded, e nella seconda la gamma di colori può essere regolata utilizzando i cursori della temperatura su un cruscotto Adafruit.io. Il cruscotto anche istantaneamente visualizza tutte le istantanee caricate dal dispositivo, che vengono catturate utilizzando il pulsante del pollice originale sull'impugnatura.
L'intero sistema è alimentato da un sottile pacco batteria USB cilindrico nascosto nell'impugnatura, che può essere facilmente ricaricato staccando l'ogiva e collegando un cavo USB.
Solo tre script Python controllano la logica del menu, il sensore e l'integrazione di Adafruit.io, con il display gestito da PyGame.
Lavorare a questo progetto mi ha davvero aiutato a mantenermi positivo durante il blocco, e con il tempo extra a nostra disposizione i bambini e io abbiamo trovato molte cose interessanti in giro per casa su cui puntare!
Dai un'occhiata all'Apollo Pi in azione nel video di YouTube, nel caso non riuscissi a vedere la versione incorporata sopra è su
Forniture
Monitor a microonde Apollo
Raspberry Pi Zero W
Breakout della termocamera Adafruit AMG8833
Schermo Adafruit Mini PiTFT da 1,3"
Cavi di avviamento
Disco vibrante 3v
banca di alimentazione USB
Passaggio 1: smontaggio
Ho preso l'Apollo Monitor a una vendita dell'usato la scorsa estate, per il suo aspetto unico piuttosto che per qualsiasi altra cosa, il che è altrettanto positivo che aveva sicuramente visto giorni migliori! I circuiti all'interno erano incompleti e il tutto era ricoperto da un pasticcio di colla, un tentativo storico di ripararlo.
Originariamente sarebbe stato utilizzato per verificare la presenza di radiazioni a microonde, presumibilmente in una sorta di ambiente industriale dato il suo design e la rarità dei forni a microonde all'epoca, anche se non ho potuto scoprire molto di più al riguardo. Una cosa che sapevo, sarebbe stata la casa ideale per una termocamera.
Non appena ho tolto il "naso" conico, il resto è letteralmente andato in pezzi e il misuratore analogico incollato e il pulsante rettangolare sono stati facilmente rimossi. Ho tenuto il pulsante però, era perfettamente funzionante e di forma davvero strana, quindi avrei faticato a inserirne uno sostitutivo nello stesso foro.
Passaggio 2: cablaggio
Prima di ritagliare la custodia per adattare tutto, volevo prima assicurarmi di sapere come sarebbero andate insieme le parti, quindi ho impostato il cablaggio del sensore e dello schermo. Il sensore stesso andava bene, erano necessari solo quattro cavi jumper per collegarlo al Raspberry Pi.
Lo schermo era un po' più complicato, il diagramma dei piedini mostrava che avrei dovuto collegare 13 cavi di collegamento - ovviamente è progettato per sedersi direttamente sopra un Pi, quindi dovevo incolpare solo me stesso. Ho deciso di aggiungere un pezzo di intestazione femmina tra lo schermo e le connessioni Pi, in modo da poter togliere lo schermo e collegarlo facilmente. Questa è stata un'ottima idea e ho seguito molto attentamente il diagramma di piedinatura per collegare l'intestazione al Pi.
Successivamente ho saldato alcuni cavi jumper nuovi al pulsante originale, in modo che potesse essere collegato al GPIO e utilizzato per acquisire istantanee di immagini termiche. Infine ho saldato un piccolo disco vibrante direttamente ai pin GPIO, per fornire un feedback tattile alla pressione dei pulsanti.
Passaggio 3: Mod Case
Una delle cose che ha resuscitato l'Apollo Monitor dalla mia scatola "da fare" è stato il foro del display nella parte superiore - questa era all'incirca la dimensione di cui avevo bisogno per il piccolo schermo Adafruit. All'incirca. Ci è voluta circa un'ora con un file per estendere il foro alla giusta dimensione, ma per fortuna sono riuscito a non distruggere la custodia nel processo.
Ho anche tagliato via parti degli interni che originariamente contenevano una batteria PP3 e ritagliato alcune paratie all'interno dell'impugnatura per fare spazio al pacco batteria, usando uno strumento rotante.
Infine ho praticato dei grossi fori in modo che i cavi per il sensore e il cavo di ricarica potessero uscire dal "naso" per unirsi al resto dei circuiti.
Passaggio 4: alimentazione
Per questo progetto ho deciso di non utilizzare una batteria LiPo e un adattatore/caricatore, poiché c'era più spazio nella custodia. Ho deciso invece di utilizzare un power bank USB standard. Volevo prenderne uno cilindrico sottile, da inserire all'interno del manico, quindi ho cercato il più economico e sottile che ho trovato su Amazon. Quello che è arrivato, con la sua torcia LED scadente e lo stile a finta batteria, era il più sottile che riuscissi a trovare, ma aprendolo mi sono reso conto che era ancora troppo spesso per entrare nel manico. Poi mi sono reso conto che si è rotto: la parte superiore si è svitata e la batteria nuda all'interno è scivolata fuori, risparmiando ordinatamente i 3 mm di cui avevo bisogno per inserirla all'interno della maniglia, che risultato!
Successivamente ho preso un corto cavo Micro USB, ho rimosso parte dell'isolamento, tagliato il cavo positivo e saldato in un bel pulsante quadrato a scatto, in modo che l'alimentazione potesse essere controllata senza dover scollegare la batteria. Questo pulsante si adattava bene a quello che originariamente era il coperchio della batteria, ed era abbastanza simile a quello originale sulla parte superiore del case. Ora che sapevo che tutto sarebbe andato bene, era ora di far funzionare tutto!
Passaggio 5: installazione del software della termocamera
Il sensore termico stesso è un Adafruit AMG8833IR Thermal Camera Breakout, che utilizza una serie di sensori 8x8 per creare l'immagine termica. Funziona con Arduino e Raspberry Pi, ma il più grande vantaggio dell'utilizzo di un Pi è che il software può utilizzare il modulo python scipy per eseguire l'interpolazione bicubica sui dati acquisiti, facendolo sembrare un'immagine 32x32, pulito!
L'impostazione del sensore è abbastanza semplice, ma ci sono alcuni passaggi da superare, questo è ciò che ha funzionato per me:
Abilita I2C e SPI sul Raspberry Pi (Configurazione Raspberry Pi > Interfacce)
Installa la libreria Blinka CircuitPython:
pip3 installa adafruit-blinka
Quindi installa la libreria di sensori AMG8XX:
sudo pip3 install adafruit-circuitpython-amg88xx#
Spegni il Pi e collega il sensore - solo 4 fili per fortuna!
Quindi installa i moduli scipy, pygame e color:
sudo apt-get install -y python-scipy python-pygamesudo pip3 install color
A questo punto il mio codice ha generato un errore scipy, quindi l'ho reinstallato con:
Sudo Pip3 installa scipy
Quindi ho ricevuto l'errore: ImportError: libf77blas.so.3: impossibile aprire il file oggetto condiviso: nessun file o directory di questo tipo
Questo è stato risolto installando:
sudo apt-get install python-dev libatlas-base-dev
Da quel momento in poi il codice di esempio ha funzionato bene, eseguendo lo script dalla console anziché da Thonny:
sudo python3 /home/pi/FeverChill/cam.py
Ciò ha fatto apparire il display del sensore sullo schermo in una finestra di pygame e, dopo alcune modifiche alle soglie di colore/temperatura, sono stato ipnotizzato da un'immagine termica del mio viso.
Passaggio 6: configurazione del software dello schermo LCD
È stato davvero bello far funzionare il sensore, ma ora avevo bisogno di visualizzarlo sul piccolo schermo. Lo schermo che ho usato è un Adafruit Mini PiTFT 1.3 240x240 - principalmente perché la sua risoluzione e forma erano perfette per la termocamera, inoltre era delle dimensioni giuste per adattarsi alla custodia e offriva i due pulsanti collegati GPIO di cui avevo bisogno.
Le istruzioni di Adafruit offrivano due opzioni qui: un modo Facile e uno Difficile - dopo aver sperimentato mi sono reso conto che dovevo usare il modo Difficile, perché il sensore richiedeva l'accesso diretto al framebuffer. Seguendo le istruzioni passo passo, stavo bene fino a quando non ho risposto alla domanda "Vuoi che appaia la console" - inizialmente ho selezionato No, ma avrei dovuto rispondere Sì. Questo è stato un po' fastidioso perché significava che dovevo rifare il processo, ma mi ha fatto capire che una volta che il Pi è impostato per visualizzare la console sul TFT non mostrerà più il desktop tramite HDMI (almeno questa è stata la mia esperienza).
Tuttavia, una volta completata l'installazione, al riavvio il piccolo schermo mostrava una versione in miniatura del consueto processo di avvio di Pi, e quando ho eseguito lo script della termocamera di esempio, la finestra di pygame mostrava l'immagine di calore sul piccolo schermo - molto soddisfacente!
Passaggio 7: modifiche al codice
Il codice di esempio ha funzionato bene, ma volevo che facesse un po' di più, quindi inizia a modificare gli script secondo i miei gusti. Ho iniziato creando uno script Menu che si caricasse all'avvio e facesse buon uso dei due pulsanti integrati nel tabellone.
menu.py
Per prima cosa ho trovato un po' di Python online che avrebbe mostrato un simpatico effetto di menu animato sul piccolo schermo, usando PyGame. La bellezza di questo script è che anima tutte le immagini in una cartella impostata, quindi sarebbe facile cambiare l'animazione in una fase successiva (ad esempio per abbinare i colori dell'animazione al caso). Ho impostato lo script del menu in modo che premendo uno dei pulsanti si interrompesse l'animazione e si aprisse febbre.py o chill.py, gli script per mostrare il display del sensore. Con questo lavoro ho impostato lo script per l'esecuzione all'avvio - di solito lo faccio modificando /etc/xdg/lxsession/LXDE-pi/autostart, ma poiché questo metodo si basa sul caricamento del desktop, questa volta avevo bisogno di un'opzione diversa.
Quindi prima ho modificato il file rc.local…
sudo nano /etc/rc.local
… poi aggiunto di seguito appena sopra la riga Exit…
sudo /home/pi/FeverChill/menu.py &
… dopo essersi assicurati che lo script menu.py avesse quanto segue nella parte superiore…
#!/usr/bin/env python3
…e anche dopo aver impostato menu.py come script eseguibile digitando:
chmod +x /home/pi/FeverChill/menu.py
nel terminale.
febbre.py (preimpostato)
Per lo script Preset ho impostato prima le soglie di colore/temperatura, impostando quella inferiore (blu) a 16 e quella superiore (rossa) a 37,8. Questo in teoria mostrerebbe ancora il viso di una persona in verde, ma si illuminerebbe di rosso se la temperatura fosse pari o superiore a 37,8 gradi. Ci sono molte ricerche online sul campionamento della temperatura corporea con metodi diversi, ma con la varianza del sensore di +/- 2,5 gradi ho deciso di attenermi alla gamma di "febbre" più ampiamente accettata - questo è abbastanza facile da cambiare tramite ssh in un secondo momento.
Quindi ho impostato i due pulsanti dello schermo per chiudere lo script corrente e aprire menu.py. Volevo anche trovare un modo per catturare ed esportare l'immagine della fotocamera e avendo trovato il comando PyGame giusto
pygame.image.save(lcd, "termico.jpg")
L'ho impostato per l'esecuzione quando è stato premuto il pulsante "pollice", quello che avresti originariamente utilizzato per eseguire una lettura a microonde. Questo si è occupato di catturare l'immagine, poi ho aggiunto alcune righe di Python in modo che l'immagine venisse immediatamente caricata su una dashboard di Adafruit IO una volta catturata, in modo che potesse essere visualizzata su altri dispositivi e scaricata facilmente. Con un rapido "salva con nome" lo script Preset è stato completato.
chill.py (dinamico)
In una termocamera c'è molto di più che cercare temperature specifiche e volevo che lo script dinamico fosse flessibile, in modo che le soglie di colore superiore e inferiore potessero essere facilmente regolate. Non volevo aggiungere pulsanti extra al dispositivo e complicare la navigazione, quindi ho scelto di utilizzare gli slider su una dashboard di Adafruit.io.
Avevo già la maggior parte del codice Adafruit nello script Preset, quindi dovevo solo aggiungere alcune righe extra, in modo che i valori correnti del dispositivo di scorrimento dalla dashboard venissero recuperati all'avvio e impostati come predefiniti di visualizzazione.
Il codice che ho usato è tutto disponibile su GitHub, per riutilizzarlo devi solo scaricare la cartella FeverChill nella cartella /pi/ sul tuo Pi e inserire le tue credenziali Adafruit.io e i nomi dei feed negli script, una volta visualizzato e sensore sono impostati.
Con gli script che funzionano bene era ora di passare a qualcosa di più disordinato!
Passaggio 8: ritocchi finali
Originariamente questo progetto doveva essere una rapida distrazione dall'utilizzo del sensore termico per qualcos'altro, ma con gli eventi attuali mi sono trovato sempre più coinvolto e i piccoli dettagli extra che lo avrebbero allungato e reso più difficile.
Il case del monitor Apollo è stato piuttosto piacevole con cui lavorare, facile da tagliare e carteggiare, ma per rifinirlo bene volevo infilare alcuni dei circuiti stampati visibili dietro "maschere" dipinte. Ci sono voluti secoli per scolpirli a mano da pezzi di plastica di scarto, ma è stato un lavoro soddisfacente. Per prima cosa ne ho realizzato uno piccolo che coprisse la scheda dello schermo ma lasciasse visibili i microinterruttori. Successivamente ne ho realizzato uno per il sensore termico, in modo che non avresti visto l'elettronica nuda se avessi guardato verso il basso il "fine business".
Ho deciso la combinazione di colori un paio di giorni prima che il Regno Unito entrasse in isolamento e ho avuto la fortuna di trovare i colori che desideravo nel vicino negozio di ferramenta. Dato che il case si è diviso così bene a metà, è stato suggerito uno schema di colori bicolore, e poi l'ho esteso al "cono del naso" e alla copertura del sensore. Il dipinto era molto divertente, il primo giorno caldo dell'anno, anche se questo significava dipingere mentre le vespe nel capanno si agitavano e si aggiravano. Non ho mai usato nastro adesivo con vernice spray prima, ma sono davvero soddisfatto di come sono venuti fuori i pezzi bicolore risultanti.
Imparando le lezioni delle costruzioni precedenti ho lasciato indurire le parti verniciate per una buona settimana prima di tentare l'assemblaggio e nel frattempo ho iniziato a mettere insieme il video.
Passaggio 9: assemblaggio
Ogni volta che lavoro a un progetto, mi piace arrivare sul palco in cui tutto è pronto per il montaggio come un kit modello fatto da sé. Non ci sono garanzie che tutto si incastri e le istruzioni esistono solo nella mia testa, ma è la mia parte preferita di qualsiasi build.
Questa volta è andato tutto liscio, soprattutto perché avevo più tempo da dedicare ai piccoli dettagli e assicurarmi che tutto fosse così. Prima di tutto ho incollato a caldo lo schermo nella custodia, quindi ho aggiunto il pulsante "acquisizione" - queste erano le uniche parti collegate alla parte superiore della custodia, quindi è stato un inizio facile e piacevole.
Successivamente ho incollato leggermente a caldo il pacco batteria nell'impugnatura e ho inserito il Pi con la sua staffa nella custodia. Dopodiché il sensore della fotocamera è stato accuratamente incollato nell'ogiva, l'interruttore di alimentazione è stato avvitato al coperchio della batteria e tutto è stato collegato.
Ho usato cavi jumper per tutti i collegamenti, ma solo per essere più attenti li ho incollati a caldo in posizione, in caso di qualsiasi movimento durante lo schiacciamento finale delle due metà. Era solo che in effetti, un po 'di squish, ma nessun suono di cracking, quindi una volta che le due metà sono state perfettamente insieme ho inserito a pressione il cono del naso e fissato il bullone attraverso la maniglia - le uniche due cose che tengono insieme l'intero gruppo.
Non ha funzionato la prima volta, sono riuscito a scollegare lo schermo durante il primo squishathon, ma con alcune pieghe strategiche del cavo è finito tutto felicemente la seconda volta. È ora di puntare le cose!
Passaggio 10: tempi di test della temperatura
Avere più tempo a casa mi ha davvero aiutato a concentrarmi (ossessione?) più del solito sui piccoli dettagli di questo progetto, e questo ha sicuramente permesso di ottenere una finitura più pulita e meno sorprese al momento del montaggio, oltre a contribuire a mantenere il mio benessere mentale il dritto e stretto. Il piano originale per il sensore era qualcosa di completamente diverso, quindi sono molto soddisfatto del risultato finale, una costruzione dal ritmo lento e soddisfacente.
L'Apollo Pi ha un bell'aspetto anche sullo scaffale del progetto ed è sicuramente uno strumento divertente e utile da avere in giro, non possiamo smettere di puntarlo contro le cose! In un mondo ideale sarebbe una risoluzione leggermente più alta, e ho bisogno di trovare un modo per "capovolgere" il display mentre è specchiato al momento, ma questi sono piccoli inconvenienti.
Grazie per aver letto e state al sicuro a tutti.
I miei altri progetti Old Tech, New Spec sono tutti su Instructables su
Maggiori dettagli sono sul sito web all'indirizzo https://bit.ly/OldTechNewSpec. e sono su Twitter @OldTechNewSpec.
Consigliato:
1979 Merlin Pi fotocamera di alta qualità: 7 passaggi (con immagini)
1979 Fotocamera Merlin Pi di alta qualità: questo vecchio gioco portatile Merlin rotto è ora una custodia pratica e tattile per una fotocamera Raspberry Pi di alta qualità. L'obiettivo della fotocamera intercambiabile fa capolino da quello che era il coperchio della batteria sul retro, e sulla parte anteriore, la matrice di pulsanti è stata rep
Fotocamera per stampante termica alimentata da Pi: 11 passaggi (con immagini)
Fotocamera per stampante termica alimentata da Pi: ti manca la tua vecchia fotocamera istantanea Polaroid o la tua vecchia fotocamera in bianco e nero del Gameboy Classic? Anche noi, quando ci sentiamo davvero nostalgici! In questo Instructable, ti mostreremo come creare la tua fotocamera istantanea usando un Raspberry Pi, una fotocamera Pi
FOTOCAMERA UNICORN - Costruzione della fotocamera Raspberry Pi Zero W NoIR da 8 MP: 7 passaggi (con immagini)
UNICORN CAMERA - Fotocamera Raspberry Pi Zero W NoIR 8MP Build: Pi Zero W NoIR 8MP Camera BuildQuesto Instructable è stato creato per aiutare chiunque desideri una fotocamera a infrarossi o una fotocamera portatile davvero fantastica o una fotocamera portatile Raspberry Pi o vuole solo divertirsi, heheh . Questo è il più conveniente e configurabile
Fotocamera termica avanzata PiEyeR: 8 passaggi (con immagini)
PiEyeR Enhanced Thermal Camera: PanoramicaLa scheda Adafruit AMG8833 IR Thermal Camera può fornire una termocamera a infrarossi lontani simile a "FLIR" a circa 1/10 del prezzo delle precedenti unità di imaging termico Far IR. Ovviamente la risoluzione e la sensibilità non sono così alte
Scatta incredibili foto macro con qualsiasi fotocamera del telefono con fotocamera Soprattutto un iPhone: 6 passaggi
Scatta incredibili foto macro con qualsiasi fotocamera del telefono con fotocamera… Soprattutto un iPhone: hai mai desiderato ottenere una di quelle fantastiche foto ravvicinate… quella che dice… WOW!?… con la fotocamera di un telefono con fotocamera nientemeno !? Fondamentalmente, questo è un addon di potenziamento per qualsiasi fotocamera del telefono con fotocamera per ingrandire l'obiettivo della fotocamera esistente per prendere un w