Inhaltsverzeichnis:

1979 Apollo Pi Wärmebildkamera - Gunook
1979 Apollo Pi Wärmebildkamera - Gunook

Video: 1979 Apollo Pi Wärmebildkamera - Gunook

Video: 1979 Apollo Pi Wärmebildkamera - Gunook
Video: Мало кто знает, но Бланка ветеран войны бесконечности 🦸🏻‍♀️ | Бланка и Рома | Shaykin #юмор #шортс 2024, November
Anonim
Image
Image
1979 Apollo Pi Wärmebildkamera
1979 Apollo Pi Wärmebildkamera
1979 Apollo Pi Wärmebildkamera
1979 Apollo Pi Wärmebildkamera

Dieser Vintage-Mikrowellendetektor von Apollo hat jetzt einen glänzenden neuen Zweck als Wärmebildkamera, die von einem Raspberry Pi Zero mit einem Adafruit-Wärmebildkamerasensor betrieben wird, der die Temperaturen aufnimmt und die Ergebnisse in Echtzeit auf einem hellen 1,3-Zoll-TFT-Display anzeigt.

Es verfügt über einen voreingestellten und einen dynamischen Modus - im ersten basieren die auf dem Bildschirm angezeigten Farben auf fest codierten Temperaturschwellen und im zweiten kann der Farbbereich über Temperaturschieberegler auf einem Adafruit.io-Dashboard angepasst werden. Das Dashboard auch sofort zeigt alle vom Gerät hochgeladenen Schnappschüsse an, die mit der Original-Daumentaste am Griff aufgenommen wurden.

Das gesamte System wird von einem dünnen, zylindrischen USB-Akku im Handgriff mit Strom versorgt, der durch Abnehmen des Nasenkonus und Anschließen eines USB-Kabels einfach aufgeladen werden kann.

Nur drei Python-Skripte steuern die Menülogik, den Sensor und die Adafruit.io-Integration, wobei die Anzeige von PyGame verwaltet wird.

Die Arbeit an diesem Projekt hat mir wirklich geholfen, während des Lockdowns positiv zu bleiben, und mit der zusätzlichen Zeit haben die Kinder und ich viele interessante Dinge im Haus gefunden, auf die wir hinweisen können!

Schauen Sie sich den Apollo Pi in Aktion im YouTube-Video an, falls Sie die eingebettete Version oben nicht sehen können, ist sie unter

Lieferungen

Apollo Mikrowellenmonitor

Raspberry Pi Zero W

Adafruit AMG8833 Wärmebildkamera Breakout

Adafruit Mini PiTFT 1,3 Bildschirm

Überbrückungskabel

3v Vibrationsscheibe

USB-Powerbank

Schritt 1: Teardown

Niederreißen
Niederreißen
Niederreißen
Niederreißen
Niederreißen
Niederreißen

Ich habe den Apollo Monitor letzten Sommer bei einem Secondhand-Sale gekauft, und zwar eher wegen seines einzigartigen Aussehens als wegen irgendetwas anderem - was genauso gut ist, wie es definitiv bessere Tage gesehen hat! Die Schaltungen im Inneren waren unvollständig und das Ganze war mit Klebstoff bedeckt, ein historischer Versuch, es zu reparieren.

Es sollte ursprünglich verwendet worden sein, um das Vorhandensein von Mikrowellenstrahlung zu überprüfen, vermutlich in einer Art industrieller Umgebung aufgrund seines Designs und der Seltenheit von Mikrowellenherden zu dieser Zeit, obwohl ich nicht viel mehr darüber herausfinden konnte. Eines wusste ich, es wäre das ideale Zuhause für eine Wärmebildkamera.

Sobald ich die konische "Nase" abzog, fiel der Rest buchstäblich auseinander und das eingeklebte Analogmeter und der rechteckige Knopf waren leicht entfernt. Den Knopf habe ich jedoch behalten, er war perfekt funktional und hatte eine wirklich seltsame Form, so dass ich Schwierigkeiten gehabt hätte, einen Ersatz in das gleiche Loch zu passen.

Schritt 2: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Bevor ich das Gehäuse so zurechtschneide, dass alles passt, wollte ich zuerst sicherstellen, dass ich weiß, wie die Teile zusammenpassen, also habe ich den Sensor und den Bildschirm verkabelt. Der Sensor selbst war in Ordnung, es wurden nur vier Überbrückungskabel benötigt, um ihn mit dem Raspberry Pi zu verbinden.

Der Bildschirm war etwas komplizierter, das Pinbelegungsdiagramm zeigte, dass ich 13 Jumperdrähte anschließen musste - offensichtlich ist es so konzipiert, dass es direkt auf einem Pi sitzt, also war ich wirklich selbst schuld. Ich beschloss, ein Stück Buchsenleiste zwischen dem Bildschirm und den Pi-Anschlüssen hinzuzufügen, damit ich den Bildschirm abnehmen und leicht anschließen kann. Dies war eine großartige Idee, und ich folgte dem Pinbelegungsdiagramm sehr sorgfältig, um den Header mit dem Pi zu verbinden.

Als nächstes lötete ich einige frische Überbrückungskabel an den Originalknopf, damit er an den GPIO angeschlossen und zur Aufnahme von Wärmebild-Schnappschüssen verwendet werden konnte. Zuletzt habe ich eine kleine Vibrationsscheibe direkt an die GPIO-Pins gelötet, um ein haptisches Feedback zu den Tastendrücken zu geben.

Schritt 3: Case-Mods

Gehäusemods
Gehäusemods
Gehäusemods
Gehäusemods

Eines der Dinge, die den Apollo-Monitor aus meiner "To-Do" -Box wiederbelebten, war das Display-Loch oben - das war ungefähr die Größe, die ich für den kleinen Adafruit-Bildschirm brauchte. Grob. Es dauerte ungefähr eine Stunde mit einer Feile, um das Loch auf die richtige Größe zu erweitern, aber ich schaffte es zum Glück, das Gehäuse dabei nicht zu zerstören.

Ich habe auch Teile der Innenseiten, die ursprünglich einen PP3-Akku enthielten, weggeschnitten und mit einem Drehwerkzeug einige Schotten im Griff ausgeschnitten, um Platz für den Akku zu schaffen.

Schließlich bohrte ich einige große Löcher, damit die Kabel für den Sensor und das Ladekabel von der "Nase" ausgehen konnten, um sich mit den restlichen Stromkreisen zu verbinden.

Schritt 4: Leistung

Leistung
Leistung
Leistung
Leistung
Leistung
Leistung
Leistung
Leistung

Für dieses Projekt habe ich mich gegen die Verwendung eines LiPo-Akkus und eines Adapters / Ladegeräts entschieden, da im Gehäuse mehr Platz war. Ich entschied mich stattdessen für eine Standard-USB-Powerbank. Ich wollte ein dünnes zylindrisches haben, das in den Griff passt, also suchte ich nach dem billigsten und dünnsten, das ich bei Amazon finden konnte. Der, der ankam, mit seiner kitschigen LED-Taschenlampe und dem künstlichen Batterie-Styling war der dünnste, den ich finden konnte, aber beim Auspacken stellte ich fest, dass er immer noch zu dick war, um in den Griff zu passen. Dann wurde mir klar, dass es auseinander ging - das Oberteil wurde abgeschraubt und die nackte Batterie im Inneren glitt heraus, was mir die 3 mm sparte, die ich brauchte, um sie in den Griff zu passen, was für ein Ergebnis!

Als nächstes nahm ich ein kurzes Micro-USB-Kabel, entfernte etwas von der Isolierung, schnitt das Pluskabel ab und lötete einen schönen quadratischen Rastknopf ein, damit die Stromversorgung gesteuert werden konnte, ohne den Akku ausstecken zu müssen. Dieser Knopf passte gut in die ursprüngliche Batterieabdeckung und war dem Original auf der Oberseite des Gehäuses ziemlich ähnlich. Jetzt, da ich wusste, dass alles passen würde, war es an der Zeit, alles zum Laufen zu bringen!

Schritt 5: Einrichtung der Wärmebildkamera-Software

Einrichtung der Wärmebildkamera-Software
Einrichtung der Wärmebildkamera-Software

Der Wärmesensor selbst ist eine Adafruit AMG8833IR Wärmebildkamera Breakout, die ein 8x8-Array von Sensoren verwendet, um das Wärmebild zu erstellen. Es funktioniert mit Arduino und Raspberry Pi, aber der größte Vorteil der Verwendung eines Pi besteht darin, dass die Software das Scipy-Python-Modul verwenden kann, um eine bikubische Interpolation der erfassten Daten durchzuführen, sodass sie wie ein 32x32-Bild aussieht, ordentlich!

Das Einrichten des Sensors ist ziemlich einfach, aber es gibt einige Reifen zum Durchspringen, das hat bei mir funktioniert:

I2C und SPI auf dem Raspberry Pi aktivieren (Raspberry Pi Konfiguration > Schnittstellen)

Installieren Sie die Blinka CircuitPython-Bibliothek:

pip3 installiere adafruit-blinka

Als nächstes installieren Sie die AMG8XX-Sensorbibliothek:

sudo pip3 install adafruit-circuitpython-amg88xx#

Schalten Sie den Pi aus und schließen Sie den Sensor an - zum Glück nur 4 Drähte!

Als nächstes installieren Sie die Module scipy, pygame und color:

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

An diesem Punkt warf mein Code einen scipy-Fehler aus, also habe ich ihn neu installiert mit:

Sudo Pip3 installieren scipy

Dann erhielt ich die Fehlermeldung: ImportError: libf77blas.so.3: Shared Object File kann nicht geöffnet werden: No such file or directory

Dies wurde behoben durch die Installation von:

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

Von da an funktionierte der Beispielcode gut, das Skript wurde von der Konsole aus ausgeführt und nicht von Thonny:

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

Dadurch wurde die Sensoranzeige in einem Pygame-Fenster auf dem Bildschirm angezeigt, und nach einigen Anpassungen der Farb- / Temperaturschwellen wurde ich von einem Wärmebild meines Gesichts hypnotisiert.

Schritt 6: Software-Setup für den LCD-Bildschirm

Software-Setup des LCD-Bildschirms
Software-Setup des LCD-Bildschirms
Software-Setup des LCD-Bildschirms
Software-Setup des LCD-Bildschirms

Es war wirklich gut, den Sensor zum Laufen zu bringen, aber jetzt musste ich ihn auf dem kleinen Bildschirm anzeigen lassen. Der Bildschirm, den ich verwendet habe, ist ein Adafruit Mini PiTFT 1,3 240x240 - hauptsächlich, weil seine Auflösung und Form genau richtig für die Wärmebildkamera waren, außerdem hatte er die richtige Größe, um in das Gehäuse zu passen und bot die beiden GPIO-verbundenen Tasten, die ich brauchte.

Die Adafruit-Anleitung bot hier zwei Möglichkeiten: einen einfachen und einen harten Weg - nach dem Experimentieren wurde mir klar, dass ich den harten Weg verwenden musste, da der Sensor direkten Zugriff auf den Framebuffer benötigte. Nach der Schritt-für-Schritt-Anleitung ging es mir gut, bis ich auf die Frage "Möchten Sie, dass die Konsole angezeigt werden soll" traf - ich habe anfangs Nein ausgewählt, hätte aber Ja sagen sollen. Dies war ein bisschen mühsam, da ich den Vorgang wiederholen musste, aber es hat mich darauf aufmerksam gemacht, dass der Pi, sobald er die Konsole auf dem TFT anzeigt, den Desktop nicht mehr über HDMI anzeigt (zumindest.). das war meine erfahrung).

Sobald das Setup abgeschlossen war, zeigte der winzige Bildschirm beim Neustart eine Miniaturversion des üblichen Pi-Startvorgangs an, und als ich das Beispiel-Wärmebildkamera-Skript ausführte, zeigte das Pygame-Fenster das Wärmebild auf dem kleinen Bildschirm an - sehr zufriedenstellend!

Schritt 7: Code-Optimierungen

Code-Optimierungen
Code-Optimierungen
Code-Optimierungen
Code-Optimierungen

Der Beispielcode funktionierte gut, aber ich wollte, dass er ein bisschen mehr kann, also machte ich mich daran, die Skripte nach meinem Geschmack zu optimieren. Ich begann mit der Erstellung eines Menüskripts, das beim Start geladen wurde und die beiden in die Anzeigetafel integrierten Tasten gut nutzte.

menu.py

Zuerst habe ich Python online gefunden, das mit PyGame einen netten animierten Menüeffekt auf dem kleinen Bildschirm anzeigt. Das Schöne an diesem Skript ist, dass es alle Bilder in einem festgelegten Ordner animiert, so dass es leicht wäre, die Animation zu einem späteren Zeitpunkt zu ändern (zB um die Animationsfarben an den Fall anzupassen). Ich habe das Menüskript so eingestellt, dass das Drücken einer der Tasten die Animation stoppt und entweder fieber.py oder chill.py öffnet, die Skripte zum Anzeigen der Sensoranzeige. Mit dieser Funktion habe ich das Skript so eingestellt, dass es beim Start ausgeführt wird - normalerweise mache ich dies, indem ich /etc/xdg/lxsession/LXDE-pi/autostart bearbeite, aber da diese Methode auf dem Laden des Desktops beruht, brauchte ich diesmal eine andere Option.

Also habe ich zuerst die rc.local-Datei bearbeitet…

sudo nano /etc/rc.local

… dann im Folgenden knapp über der Exit-Zeile eingefügt…

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

… nachdem ich zuerst sichergestellt hatte, dass das Skript menu.py ganz oben Folgendes hatte …

#!/usr/bin/env python3

…und auch nachdem Sie menu.py als ausführbares Skript festgelegt haben, indem Sie Folgendes eingeben:

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

in das Terminal.

fieber.py (Voreinstellung)

Für das Preset-Skript setze ich zuerst die Farb- / Temperaturschwellen, wobei ich den unteren (blau) auf 16 und den oberen (rot) auf 37,8 setze. Das würde das Gesicht einer Person theoretisch immer noch grün zeigen, aber rot leuchten, wenn die Temperatur bei oder über 37,8 Grad liegt. Es gibt viele Online-Forschungen über die Messung der Körpertemperatur mit verschiedenen Methoden, aber da die Varianz des Sensors +/- 2,5 Grad beträgt, habe ich mich entschieden, mich an den am weitesten verbreiteten "Fieber" -Bereich zu halten - dies ist einfach genug, um über ssh. zu ändern zu einem späteren Zeitpunkt.

Als nächstes setze ich die beiden Bildschirmschaltflächen, um das aktuelle Skript zu schließen und menu.py zu öffnen. Ich wollte auch eine Möglichkeit finden, das Kamerabild aufzunehmen und zu exportieren, und habe den richtigen PyGame-Befehl gefunden

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

Ich habe dies so eingestellt, dass es ausgeführt wird, wenn die "Daumen" -Taste gedrückt wurde - die, mit der Sie ursprünglich eine Mikrowellenmessung durchgeführt haben. Das hat sich um die Aufnahme des Bildes gekümmert. Als nächstes fügte ich einige Python-Zeilen hinzu, damit das Bild nach der Aufnahme sofort in ein Adafruit IO-Dashboard hochgeladen wurde, damit es auf anderen Geräten angezeigt und einfach heruntergeladen werden konnte. Mit einem schnellen "Speichern unter" war das Preset-Skript abgeschlossen.

chill.py (dynamisch)

Eine Wärmebildkamera umfasst mehr als die Suche nach bestimmten Temperaturen, und ich wollte, dass das Dynamic-Skript flexibel ist, damit die oberen und unteren Farbschwellen leicht angepasst werden können. Ich wollte dem Gerät keine zusätzlichen Tasten hinzufügen und die Navigation erschweren, also habe ich mich dafür entschieden, Schieberegler auf einem Adafruit.io-Dashboard zu verwenden.

Ich hatte den Großteil des Adafruit-Codes bereits im Preset-Skript, also musste ich nur einige zusätzliche Zeilen hinzufügen, damit die aktuellen Schiebereglerwerte aus dem Dashboard beim Start abgerufen und als Anzeigestandardwerte festgelegt werden.

Der Code, den ich verwendet habe, ist auf GitHub verfügbar. Um ihn wiederzuverwenden, müssen Sie nur den FeverChill-Ordner in den /pi/-Ordner auf Ihrem Pi herunterladen und Ihre Adafruit.io-Anmeldeinformationen und Feed-Namen in die Skripte eingeben, sobald Ihre Anzeige & Sensor eingerichtet sind.

Da die Skripte gut funktionierten, war es an der Zeit, zu etwas Unordentlicherem überzugehen!

Schritt 8: Beenden von Touch-Ups

Finishing-Retuschen
Finishing-Retuschen
Finishing-Retuschen
Finishing-Retuschen
Finishing-Retuschen
Finishing-Retuschen

Ursprünglich sollte dieses Projekt eine schnelle Ablenkung davon sein, den Wärmesensor für etwas anderes zu verwenden, aber mit den aktuellen Ereignissen fand ich mich immer mehr in ihn hineingezogen und die winzigen zusätzlichen Details, die es ausdehnen und zu einer Herausforderung machen würden.

Das Apollo-Monitor-Gehäuse war ziemlich gut zu bearbeiten, leicht zu schneiden und zu schleifen, aber um es schön zu beenden, wollte ich einige der sichtbaren Platinen hinter bemalte "Masken" stecken. Es dauerte ewig, sie von Hand aus Plastikmüll zu schnitzen, aber es war eine befriedigende Arbeit. Zuerst habe ich einen kleinen gemacht, der die Bildschirmplatine abdecken würde, aber die Mikroschalter sichtbar lassen. Als nächstes habe ich einen für den Wärmesensor gemacht, damit Sie keine blanke Elektronik sehen, wenn Sie auf das "Geschäftsende" schauen.

Ich habe mich ein paar Tage vor dem Lockdown in Großbritannien für das Farbschema entschieden und hatte das Glück, die gewünschten Farben im nahe gelegenen Baumarkt zu finden. Da das Gehäuse so schön in zwei Hälften geteilt wurde, wurde eine zweifarbige Farbgebung vorgeschlagen, die ich dann auf den "Nasenkegel" und die Sensorabdeckung erweitert habe. Das Malen machte großen Spaß, der erste warme Tag des Jahres, obwohl das bedeutete, zu malen, während die Wespen im Schuppen sich rührten und herumliefen. Ich habe noch nie Abdeckband mit Sprühfarbe verwendet, aber ich bin wirklich zufrieden damit, wie die resultierenden zweifarbigen Stücke herausgekommen sind.

Nachdem ich die Lektionen früherer Builds gelernt hatte, ließ ich die lackierten Teile eine gute Woche lang aushärten, bevor ich den Zusammenbau versuchte, und begann in der Zwischenzeit, das Video zusammenzustellen.

Schritt 9: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Immer wenn ich an einem Projekt arbeite, liebe ich es, so weit zu kommen, dass alles wie ein selbstgebauter Modellbausatz montagefertig ausgelegt ist. Es gibt keine Garantie dafür, dass alles zusammenpasst und die Anleitung existiert nur in meinem Kopf, aber es ist mein Lieblingsteil bei jedem Build.

Diesmal lief es sehr reibungslos - hauptsächlich, weil ich zusätzliche Zeit hatte, um die kleinen Details zu erledigen und sicherzustellen, dass alles stimmt. Ich habe zuerst den Bildschirm mit Heißkleber in das Gehäuse geklebt und dann den "Capture" -Button hinzugefügt - dies waren die einzigen Teile, die mit der Oberseite des Gehäuses verbunden waren, so dass es ein schöner einfacher Start war.

Als nächstes klebte ich den Akku leicht in den Griff und steckte den Pi mit seiner Halterung in das Gehäuse. Danach wurde der Kamerasensor vorsichtig in den Nasenkonus eingeklebt, der Netzschalter mit dem Batteriedeckel verschraubt und alles angeschlossen.

Ich habe Überbrückungskabel für alle Verbindungen verwendet, aber nur um besonders vorsichtig zu sein, habe ich diese heißgeklebt, falls es beim letzten Zusammendrücken der beiden Hälften zu einer Bewegung kommt. Es war nur so, dass es tatsächlich ein bisschen gequetscht wurde, aber keine knackenden Geräusche. Als die beiden Hälften fest zusammen waren, steckte ich den Nasenkonus ein und befestigte den Bolzen durch den Griff - die einzigen beiden Dinge, die die gesamte Baugruppe zusammenhielten.

Beim ersten Mal hat es nicht geklappt, ich habe es beim ersten Squisathon geschafft, den Bildschirm zu trennen, aber mit ein paar strategischen Kabelbiegungen endete alles glücklich beim zweiten Mal. Zeit, es auf Dinge zu richten!

Schritt 10: Temperaturtestzeiten

Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten
Temperaturprüfzeiten

Die zusätzliche Zeit zu Hause hat mir wirklich geholfen, mich mehr als sonst auf die kleinen Details dieses Projekts zu konzentrieren (besessen?) das gerade und schmale. Der ursprüngliche Plan für den Sensor war etwas völlig anderes, daher bin ich mit dem Endergebnis sehr zufrieden, einem langsamen und zufriedenstellenden Build.

Der Apollo Pi sieht auch im Projektregal großartig aus und ist definitiv ein lustiges und nützliches Werkzeug, das man immer haben kann. Wir können nicht aufhören, es auf Dinge zu zeigen! In einer idealen Welt wäre es eine etwas höhere Auflösung, und ich muss eine Möglichkeit finden, das Display zu "spiegeln", da es im Moment gespiegelt ist, aber das sind kleine Fehler.

Danke fürs Lesen und bleibt alle gesund.

Meine anderen Old Tech, New Spec-Projekte sind alle auf Instructables unter

Weitere Details finden Sie auf der Website unter https://bit.ly/OldTechNewSpec. und ich bin auf Twitter @OldTechNewSpec.