İçindekiler:
- Gereçler
- Adım 1: Yıkım
- Adım 2: Kablolama
- 3. Adım: Kasa Modları
- 4. Adım: Güç
- Adım 5: Termal Kamera Yazılım Kurulumu
- Adım 6: LCD Ekran Yazılım Kurulumu
- 7. Adım: Kod Düzenlemeleri
- 8. Adım: Rötuşları Bitirme
- Adım 9: Montaj
- Adım 10: Sıcaklık Test Süreleri
Video: 1979 Apollo Pi Termal Kamera: 10 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu eski Apollo mikrodalga dedektörü artık, sıcaklıkları alan ve sonuçları gerçek zamanlı olarak parlak 1,3 TFT ekranda görüntüleyen bir Adafruit termal kamera sensörüne sahip bir Raspberry Pi Zero tarafından desteklenen bir termal kamera olarak parlak yeni bir amaca sahip.
Bir Ön Ayar ve Dinamik modu vardır - ilkinde ekranda gösterilen renkler sabit kodlanmış sıcaklık eşiklerine dayanır ve ikincisinde renk aralığı bir Adafruit.io panosundaki sıcaklık kaydırıcıları kullanılarak ayarlanabilir. Pano ayrıca anında tutma yerindeki orijinal başparmak düğmesi kullanılarak yakalanan, cihaz tarafından yüklenen tüm anlık görüntüleri görüntüler.
Tüm sistem, el tutamağına gizlenmiş, burun konisi çıkarılarak ve bir USB kablosu takılarak kolayca şarj edilebilen ince, silindirik bir USB pil takımı ile çalışır.
Sadece üç Python betiği menü mantığını, sensörü ve Adafruit.io entegrasyonunu kontrol eder ve ekran PyGame tarafından yönetilir.
Bu proje üzerinde çalışmak karantina sırasında gerçekten pozitif kalmama yardımcı oldu ve elimizdeki fazladan zamanla çocuklar ve ben evin etrafında onu işaret edecek birçok ilginç şey bulduk!
Yukarıdaki gömülü sürümü göremiyorsanız, https://www.youtube.com/embed/1xjRJExzPR8 adresinde Apollo Pi'nin hareket halindeki YouTube videosuna bakın.
Gereçler
Apollo Mikrodalga Monitör
Ahududu Pi Sıfır W
Adafruit AMG8833 Termal Kamera Koparma
Adafruit Mini PiTFT 1.3 Ekran
Atlama Kabloları
3v Titreşimli Disk
USB güç bankası
Adım 1: Yıkım
Apollo Monitor'ü geçen yaz ikinci el bir satıştan, her şeyden çok benzersiz görünümü için aldım - ki bu kesinlikle daha iyi günler görmüş olduğu kadar iyi! İçerideki devreler eksikti ve her şey bir yapıştırıcı karmaşasıyla kaplıydı, onu onarmak için tarihi bir girişim.
Başlangıçta, muhtemelen tasarımı ve o sırada mikrodalga fırınların nadirliği göz önüne alındığında, muhtemelen bir tür endüstriyel ortamda Mikrodalga radyasyonunun varlığını kontrol etmek için kullanılıyordu, ancak bu konuda daha fazla bir şey bulamamıştım. Bildiğim bir şey var, termal kamera için ideal bir ev olurdu.
Konik "burnu" çıkardığım anda geri kalanı kelimenin tam anlamıyla dağıldı ve yapıştırılmış analog metre ve dikdörtgen düğme kolayca çıkarıldı. Yine de düğmeyi tuttum, tamamen işlevsel ve gerçekten garip bir şekildi, bu yüzden aynı deliğe bir yedek yerleştirmek için mücadele ederdim.
Adım 2: Kablolama
Her şeyi yerine oturtmak için kasayı kırpmadan önce, parçaların nasıl bir araya geleceğini bildiğimden emin olmak istedim, bu yüzden sensörü ve ekranı kablolamaya başladım. Sensörün kendisi iyiydi, onu Raspberry Pi'ye bağlamak için sadece dört atlama kablosu gerekiyordu.
Ekran biraz daha karmaşıktı, pinout şeması 13 jumper kablosu bağlamam gerektiğini gösterdi - açıkçası doğrudan bir Pi'nin üstüne oturmak için tasarlandı, bu yüzden gerçekten sadece kendimi suçlamak zorunda kaldım. Ekran ve Pi bağlantıları arasına bir parça dişi başlık eklemeye karar verdim, böylece ekranı çıkarıp kolayca bağlayabildim. Bu harika bir fikirdi ve başlığı Pi'ye bağlamak için pinout şemasını çok dikkatli bir şekilde takip ettim.
Sonra orijinal düğmeye bazı yeni atlama kabloları lehimledim, böylece GPIO'ya bağlanabilir ve termal görüntü anlık görüntülerini yakalamak için kullanılabilir. Son olarak, düğmeye basmalara dokunsal geri bildirim sağlamak için küçük bir titreşimli diski doğrudan GPIO pinlerine lehimledim.
3. Adım: Kasa Modları
Apollo Monitörü "yapılacaklar" kutumdan dirilten şeylerden biri üstteki ekran deliğiydi - bu, küçük Adafruit ekranı için kabaca ihtiyacım olan boyuttu. Kabaca. Deliği tam doğru boyuta genişletmek bir dosyayla bir saat kadar sürdü, ama neyse ki bu süreçte davayı yok etmeyi başardım.
Ayrıca orijinal olarak bir PP3 pili tutan iç kısımları da kestim ve döner bir alet kullanarak pil takımına yer açmak için tutacağın içindeki bazı bölmeleri kestim.
Sonunda, sensör ve şarj kablosu kablolarının "burun"dan çıkıp diğer devrelerle birleşmesi için bazı büyük delikler açtım.
4. Adım: Güç
Bu proje için, kasada daha fazla yer olduğu için bir LiPo pil ve adaptör/şarj cihazı kullanmamaya karar verdim. Bunun yerine standart bir USB güç bankası kullanmaya karar verdim. Sapın içine sığacak ince silindirik bir tane almak istedim, bu yüzden Amazon'da bulabildiğim en ucuz ve en ince olanı aradım. Sevimsiz LED feneri ve sahte pil stiliyle gelen, bulabildiğim en ince olanıydı, ancak kutusunu açarken tutamağa sığmayacak kadar kalın olduğunu fark ettim. Sonra parçalandığını fark ettim - üst vida açılmıştı ve içindeki çıplak pil dışarı çıktı, beni kulpun içine sığdırmak için ihtiyaç duyduğum 3 mm'den temiz bir şekilde kurtardı, ne sonuç!
Sonra kısa bir Mikro USB kablosu aldım, yalıtımın bir kısmını çıkardım, pozitif kabloyu kestim ve güzel bir kare kilitleme düğmesiyle lehimledim, böylece pil paketini çıkarmak zorunda kalmadan güç kontrol edilebilirdi. Bu düğme, orijinal olarak pil kapağına güzel bir şekilde oturdu ve kasanın üstündeki orijinal ile oldukça yakın bir eşleşme oldu. Artık her şeyin uyacağını bildiğime göre, her şeyi çalıştırmanın zamanı gelmişti!
Adım 5: Termal Kamera Yazılım Kurulumu
Termal sensörün kendisi, ısı görüntüsünü oluşturmak için 8x8 dizi sensör kullanan bir Adafruit AMG8833IR Termal Kamera Breakout'tur. Arduino ve Raspberry Pi ile çalışır, ancak bir Pi kullanmanın en büyük avantajı, yazılımın yakalanan veriler üzerinde bikübik enterpolasyon gerçekleştirmek için scipy python modülünü kullanabilmesi ve böylece 32x32 görüntü gibi görünmesini sağlamasıdır, temiz!
Sensörü ayarlamak oldukça basittir, ancak atlanması gereken bazı çemberler var, benim için işe yarayan şey buydu:
Raspberry Pi'de I2C ve SPI'yi etkinleştirin (Raspberry Pi Yapılandırması > Arayüzler)
Blinka CircuitPython kitaplığını kurun:
pip3 adafruit-blinka yükleyin
Ardından AMG8XX sensör kitaplığını kurun:
sudo pip3 adafruit-circuitpython-amg88xx# yükleyin
Pi'yi kapatın ve sensörü bağlayın - neyse ki sadece 4 kablo!
Ardından scipy, pygame ve color modüllerini kurun:
sudo apt-get install -y python-scipy python-pygamesudo pip3 yükleme rengi
Bu noktada kodum bir scipy hatası verdi, bu yüzden onu yeniden yükledim:
Sudo Pip3 scipy'yi kurun
Sonra şu hatayı aldım: ImportError: libf77blas.so.3: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya veya dizin yok
Bu, yüklenerek çözüldü:
sudo apt-get install python-dev libatlas-base-dev
O andan itibaren, örnek kod iyi çalıştı, betiği Thonny'den ziyade konsoldan çalıştırdı:
sudo python3 /home/pi/FeverChill/cam.py
Bu, sensör görüntüsünün bir pygame penceresinde ekranda görünmesini sağladı ve renk/sıcaklık eşiklerinde yapılan bazı ince ayarlardan sonra yüzümün bir ısı görüntüsü ile hipnotize oldum.
Adım 6: LCD Ekran Yazılım Kurulumu
Sensörü çalıştırmak gerçekten güzeldi ama şimdi onu küçük ekranda göstermem gerekiyordu. Kullandığım ekran bir Adafruit Mini PiTFT 1.3 240x240 - özellikle çözünürlüğü ve şekli termal kamera için doğru olduğu için, ayrıca kasaya sığacak doğru boyuttaydı ve ihtiyacım olan iki GPIO bağlantılı düğmeyi sundu.
Adafruit talimatları burada iki seçenek sunuyordu: Kolay ve Zor yol - denemeden sonra Zor yolu kullanmam gerektiğini fark ettim çünkü sensör çerçeve arabelleğine doğrudan erişim gerektiriyordu. Adım adım talimatları izleyerek "Konsolun görünmesini ister misiniz" sorusuna gelene kadar iyiydim - başlangıçta Hayır'ı seçtim, ancak Evet demeliydim. Bu biraz acı vericiydi, çünkü işlemi yeniden yapmak zorunda kaldım, ancak Pi, konsolu TFT'de gösterecek şekilde ayarlandığında, artık masaüstünü HDMI aracılığıyla göstermeyeceğini fark etmemi sağladı (en azından bu benim deneyimimdi).
Yine de, kurulum tamamlandıktan sonra, küçük ekran yeniden başlatıldığında normal Pi başlatma işleminin minyatür bir versiyonu görüntülendi ve örnek termal kamera komut dosyasını çalıştırdığımda pygame penceresi ısı görüntüsünü küçük ekranda gösterdi - çok tatmin edici!
7. Adım: Kod Düzenlemeleri
Örnek kod iyi çalıştı, ancak biraz daha fazlasını yapmasını istedim, bu yüzden senaryoları zevkime göre ayarlamaya başladım. Başlangıçta yüklenecek ve ekran kartına entegre iki düğmeden iyi şekilde yararlanacak bir Menü komut dosyası oluşturarak başladım.
menü.py
İlk olarak, PyGame kullanarak küçük ekranda güzel bir animasyonlu menü efekti gösterecek bazı Python çevrimiçi buldum. Bu betiğin güzelliği, bir dizi klasördeki tüm görüntüleri canlandırmasıdır, bu nedenle daha sonraki bir aşamada animasyonu değiştirmek kolay olacaktır (örneğin, animasyon renklerini durumla eşleştirmek için). Menü komut dosyasını, düğmelerden birine basmak animasyonu durduracak ve sensör ekranını gösterecek komut dosyaları olan ateş.py veya chill.py'yi açacak şekilde ayarladım. Bu çalışma ile betiği başlangıçta çalışacak şekilde ayarladım - normalde bunu /etc/xdg/lxsession/LXDE-pi/autostart düzenleyerek yapıyorum, ancak bu yöntem Masaüstü yüklemesine dayandığından bu sefer farklı bir seçeneğe ihtiyacım vardı.
İlk önce rc.local dosyasını düzenledim…
sudo nano /etc/rc.local
… daha sonra Çıkış satırının hemen üstüne aşağıdakine eklendi…
sudo /home/pi/FeverChill/menu.py &
…önce menu.py betiğinin en üstte aşağıdakilere sahip olmasını sağladıktan sonra…
#!/usr/bin/env python3
…ve ayrıca menu.py dosyasını yürütülebilir bir komut dosyası olarak ayarladıktan sonra şunu yazın:
chmod +x /home/pi/FeverChill/menu.py
terminalin içine.
ateş.py (Ön ayar)
Ön Ayar komut dosyası için önce renk / sıcaklık eşiklerini belirledim, alt olanı (mavi) 16'ya ve üst olanı (kırmızı) 37.8'e ayarlıyorum. Bu, teorik olarak hala bir kişinin yüzünü yeşil olarak gösterecek, ancak sıcaklık 37.8 derece veya üzerindeyse kırmızı renkte parlayacak. Farklı yöntemlerle vücut sıcaklığını örnekleme konusunda çevrimiçi çok sayıda araştırma var, ancak sensörün varyansı +/- 2,5 derece olduğundan, en yaygın olarak kabul edilen "ateş" aralığına bağlı kalmaya karar verdim - bu, ssh ile değiştirmek için yeterince kolay daha sonraki bir tarihte.
Ardından, mevcut komut dosyasını kapatmak ve menu.py dosyasını açmak için iki ekran düğmesini ayarladım. Ayrıca kamera görüntüsünü yakalamanın ve dışa aktarmanın ve doğru PyGame komutunu bulmanın bir yolunu bulmak istedim.
pygame.image.save(lcd, "termal.jpg")
Bunu, "başparmak" düğmesine basıldığında çalışacak şekilde ayarladım - başlangıçta mikrodalga okuması yapmak için kullandığınız düğme. Bu, görüntüyü yakalamayı halletti, sonra Python'un bazı satırlarına ekledim, böylece görüntü yakalandıktan sonra hemen bir Adafruit IO panosuna yüklenecek, böylece diğer cihazlarda görüntülenebilir ve kolayca indirilebilirdi. Hızlı bir "farklı kaydet" ile Preset komut dosyası tamamlandı.
chill.py (Dinamik)
Termal kamerada belirli sıcaklıkları aramaktan daha fazlası var ve Dinamik komut dosyasının esnek olmasını istedim, böylece üst ve alt renk eşikleri kolayca ayarlanabilir. Cihaza fazladan düğmeler eklemek ve gezinmeyi karmaşık hale getirmek istemedim, bu nedenle Adafruit.io panosunda kaydırıcıları kullanmayı seçtim.
Hazır Ayar komut dosyasında Adafruit kodunun büyük bir kısmına zaten sahiptim, bu yüzden sadece bazı ekstra satırlar eklemek zorunda kaldım, böylece gösterge tablosundaki mevcut kaydırıcı değerleri başlatıldığında alınır ve ekran varsayılanları olarak ayarlanır.
Kullandığım kodun tamamı GitHub'da mevcut, yeniden kullanmak için FeverChill klasörünü Pi'nizdeki /pi/ klasörüne indirmeniz ve ekran & sensör kurulur.
Senaryolar iyi çalışıyorken, daha karmaşık bir şeye geçmenin zamanı gelmişti!
8. Adım: Rötuşları Bitirme
Başlangıçta bu proje, termal sensörü başka bir şey için kullanmaktan hızlı bir şekilde uzaklaşmayı amaçlıyordu, ancak güncel olaylarla kendimi giderek daha fazla içine çektim ve onu uzatacak ve daha da zorlaştıracak küçük ekstra ayrıntılar.
Apollo Monitor kasasıyla çalışmak oldukça güzeldi, kesmesi ve zımparalaması kolaydı, ancak güzel bir şekilde bitirmek için bazı görünür devre kartlarını boyalı "maskelerin" arkasına sıkıştırmak istedim. Bunlar uzun zaman aldı, onları atık plastik parçalarından elle oydu, ancak tatmin edici bir işti. İlk önce ekran kartını kaplayacak, ancak mikro anahtarları görünür bırakacak küçük bir tane yaptım. Sonra termal sensör için bir tane yaptım, böylece "iş sonu"na baktığınızda çıplak elektronikler görmezsiniz.
İngiltere'nin karantinaya girmesinden birkaç gün önce renk şemasına karar verdim ve yakındaki hırdavatçıda istediğim renkleri bulduğum için şanslıydım. Kasa çok güzel bir şekilde ikiye bölündüğü için iki tonlu bir renk şeması önerildi ve ardından bunu "burun konisi" ve sensör kapağına kadar genişlettim. Resim yapmak çok eğlenceliydi, yılın ilk sıcak günü, gerçi bu, kulübedeki eşekarısı kıpır kıpır ve ortalıkta dolanırken resim yapmak anlamına geliyordu. Daha önce sprey boya ile maskeleme bandı kullanmadım ama ortaya çıkan iki tonlu parçaların ortaya çıkmasından gerçekten çok memnunum.
Daha önceki yapımlardan ders alarak montaja başlamadan önce boyalı parçaları bir hafta sertleşmeye bıraktım ve bu arada videoyu bir araya getirmeye başladım.
Adım 9: Montaj
Ne zaman bir proje üzerinde çalışsam, her şeyin kendi yapımı bir maket seti gibi montaja hazır hale getirildiği aşamaya gelmeyi seviyorum. Hepsinin birbirine uyacağının garantisi yok ve talimatlar sadece kafamda var, ama bu, herhangi bir yapının en sevdiğim kısmı.
Bu sefer çok sorunsuz geçti - çoğunlukla küçük ayrıntılara harcayacak ve her şeyin tam olarak böyle olduğundan emin olmak için fazladan zamanım olduğu için. Her şeyden önce ekranı kasaya yapıştırdım, ardından "yakala" düğmesini ekledim - bunlar kasanın üst kısmına bağlı olan tek parçalardı, bu yüzden güzel ve kolay bir başlangıç oldu.
Daha sonra pil takımını tutamağa hafifçe yapıştırdım ve Pi'yi braketiyle kasaya yerleştirdim. Bundan sonra kamera sensörü dikkatlice burun konisine yapıştırıldı, güç anahtarı pil kapağına vidalandı ve her şey bağlandı.
Tüm bağlantılar için bağlantı kabloları kullandım, ancak çok dikkatli olmak için, iki yarının birlikte son ezilmesi sırasında herhangi bir hareket olması durumunda bunları sıcak yapıştırdım. Aslında, biraz gıcırdıyordu, ama çatlama sesi yoktu, bu yüzden iki yarım birbirine sıkıca oturduğunda burun konisini iterek taktım ve cıvatayı tutamaktan tuttum - tüm grubu bir arada tutan tek iki şey.
İlk seferinde işe yaramadı, ilk squishathon sırasında ekranın bağlantısını kesmeyi başardım, ancak birkaç stratejik kablo bükülmesiyle her şey ikinci kez mutlu bir şekilde sona erdi. Bir şeylere işaret etme zamanı!
Adım 10: Sıcaklık Test Süreleri
Evde fazladan zaman geçirmek gerçekten bu projenin küçük ayrıntılarına normalden daha fazla odaklanmama (takıntı mı?) düz ve dar. Sensör için orijinal plan tamamen farklı bir şeydi, bu yüzden sonuçtan çok memnunum, yavaş tempolu ve tatmin edici bir yapı.
Apollo Pi, proje rafında da harika görünüyor ve kesinlikle etrafta olması eğlenceli ve kullanışlı bir araç, onu işaret etmekten vazgeçemeyiz! İdeal bir dünyada, biraz daha yüksek çözünürlük olurdu ve şu anda yansıtıldığı gibi ekranı "çevirmenin" bir yolunu bulmam gerekiyor, ancak bunlar küçük niggles.
Okuduğunuz için teşekkürler ve herkese güvende kalın.
Diğer Eski Teknoloji, Yeni Spec projelerimin tümü, https://www.instructables.com/member/MisterM/instructables/ adresindeki Instructables'ta.
Daha fazla ayrıntı https://bit.ly/OldTechNewSpec adresindeki web sitesinde bulunmaktadır. ve ben Twitter'dayım @OldTechNewSpec.
Önerilen:
Uygun Maliyetli Termal Kamera: 10 Adım
Uygun Maliyetli Termal Kamera: Bir drone'a bağlanabilen ve termal radyasyonu ve görünür ışıkla düzenli fotoğrafçılığı gösteren termografik görüntüden oluşan karma bir çerçeveyi canlı yayınlayabilen bir cihaz geliştirdim. Platform, küçük bir tek tahtalı ortak
DIY Termal Görüntüleme Kızılötesi Kamera: 3 Adım (Resimlerle)
DIY Termal Görüntüleme Kızılötesi Kamera: Merhaba!Fizik derslerim için her zaman yeni Projeler arıyorum. İki yıl önce Melexis'in termal sensörü MLX90614 hakkında bir rapora rastladım. Sadece 5° FOV (görüş alanı) olan en iyisi, kendi kendine yapılan bir termal kamera için uygun olacaktır.Okumak için
Pi-Powered Termal Yazıcı Kamera: 11 Adım (Resimlerle)
Pi-Powered Termal Yazıcı Kamera: Eski Polaroid şipşak kameranızı mı yoksa eski Gameboy Classic'inizin siyah beyaz kamerasını mı özlüyorsunuz? Gerçekten nostaljik hissettiğimizde biz de öyle yapıyoruz! Bu Eğitilebilir Kitapta size Raspberry Pi, Pi kamera kullanarak kendi anlık kameranızı nasıl yapacağınızı göstereceğiz
AMG8833 Kızılötesi Dizi Görüntüleme Sensörünü Kullanan M5Stack IR Termal Kamera: 3 Adım
AMG8833 Kızılötesi Dizi Görüntüleme Sensörünü Kullanan M5Stack IR Termal Kamera: Birçokları gibi, termal kameralara hayran kaldım ama onlar her zaman fiyat aralığımın dışındaydı - şimdiye kadar!!Hackaday web sitesinde gezinirken M5Stack kullanarak bu kamera yapısına rastladım ESP32 modülü ve nispeten ucuz bir
PiEyeR Gelişmiş Termal Kamera: 8 Adım (Resimlerle)
PiEyeR Gelişmiş Termal Kamera: Genel BakışAdafruit AMG8833 IR Termal Kamera kartı, önceki Uzak IR Termal görüntüleme ünitelerinin yaklaşık 1/10'u fiyatına "FLIR" benzeri bir Uzak Kızılötesi görüntüleme kamerası sağlayabilir. Çözünürlük ve hassasiyet elbette ki gibi değil