فهرست مطالب:

1979 دوربین حرارتی آپولو پی: 10 مرحله (همراه با تصاویر)
1979 دوربین حرارتی آپولو پی: 10 مرحله (همراه با تصاویر)

تصویری: 1979 دوربین حرارتی آپولو پی: 10 مرحله (همراه با تصاویر)

تصویری: 1979 دوربین حرارتی آپولو پی: 10 مرحله (همراه با تصاویر)
تصویری: آیا این در مورد مریخ صحت دارد؟ 2024, نوامبر
Anonim
Image
Image
1979 دوربین حرارتی آپولو پی
1979 دوربین حرارتی آپولو پی
1979 دوربین حرارتی آپولو پی
1979 دوربین حرارتی آپولو پی

این آشکارساز مایکروویو آپولو در حال حاضر دارای یک هدف جدید درخشان به عنوان یک دوربین حرارتی است ، که توسط Raspberry Pi Zero مجهز به سنسور دوربین حرارتی Adafruit اندازه گیری دما ، نتایج را در زمان واقعی بر روی صفحه نمایش TFT روشن 1.3 اینچی نشان می دهد.

دارای یک حالت از پیش تعیین شده و یک حالت پویا است - در حالت اول رنگهای نشان داده شده روی صفحه بر اساس آستانه های درجه حرارت سخت کدگذاری شده است و در حالت دوم می توان محدوده رنگ را با استفاده از لغزنده های دما در داشبورد Adafruit.io تنظیم کرد. داشبورد نیز فوراً هرگونه عکس فوری بارگذاری شده توسط دستگاه را نشان می دهد ، که با استفاده از دکمه انگشت شست اصلی روی دست گرفته می شود.

کل سیستم از یک باتری USB نازک و استوانه ای استفاده می کند که در دسته قرار گرفته است و با بیرون کشیدن مخروط بینی و اتصال سیم USB به راحتی قابل شارژ است.

فقط سه اسکریپت پایتون منطق منو ، سنسور و ادغام Adafruit.io را کنترل می کنند و صفحه نمایش آن توسط PyGame اداره می شود.

کار بر روی این پروژه واقعاً به من کمک کرد تا در طول قرنطینه مثبت بمانم ، و با وقت اضافی که در دست داریم ، بچه ها و من چیزهای جالب زیادی در خانه پیدا کرده ام تا به آن اشاره کنم!

در ویدیوی YouTube به Apollo Pi در عمل نگاه کنید ، در صورتی که نمی توانید نسخه تعبیه شده در بالا را مشاهده کنید

تدارکات

مانیتور مایکروویو آپولو

Raspberry Pi Zero W

برک آوت دوربین حرارتی Adafruit AMG8833

صفحه نمایش Adafruit Mini PiTFT 1.3 اینچی

کابل های جامپر

دیسک ارتعاشی 3V

پاور بانک USB

مرحله 1: Teardown

Teardown
Teardown
Teardown
Teardown
Teardown
Teardown

من تابستان سال گذشته آپولو مانیتور را در یک فروش دست دوم خریدم ، به دلیل ظاهر منحصر به فردش بیش از هر چیز دیگری - که به همان خوبی که روزهای بهتری دیده بود! مدارهای داخل ناقص بود و همه چیز در یک آشفته چسب پوشانده شده بود ، تلاشی تاریخی برای تعمیر آن.

در اصل برای بررسی وجود تشعشعات مایکروویو ، احتمالاً در برخی از محیط های صنعتی با توجه به طراحی آن و کمیاب بودن اجاق های مایکروویو در آن زمان استفاده می شد ، اگرچه اطلاعات بیشتری در مورد آن پیدا نکردم. من یک چیز را می دانستم ، این خانه ایده آل برای یک دوربین حرارتی است.

به محض اینکه از دماغ مخروطی خارج شدم بقیه آن به معنای واقعی کلمه از هم جدا شد و متر آنالوگ چسبیده و دکمه مستطیلی به راحتی برداشته شد. من دکمه را نگه داشتم ، این کاملاً کاربردی بود و واقعاً شکل عجیب و غریبی داشت ، بنابراین من تلاش می کردم جایگزینی را در همان سوراخ قرار دهم.

مرحله 2: سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی

قبل از اینکه قاب را برش دهم تا همه چیز مناسب باشد ، ابتدا می خواستم مطمئن شوم که می دانم قطعات چگونه با هم ترکیب می شوند ، بنابراین تصمیم گرفتم سنسور و صفحه را کابل کشی کنم. سنسور خود خوب بود ، فقط چهار کابل جامپر برای اتصال آن به رزبری پای نیاز بود.

صفحه نمایش کمی پیچیده تر بود ، نمودار pinout نشان داد که من باید 13 سیم جامپر را به هم وصل کنم - بدیهی است که این دستگاه طوری طراحی شده است که مستقیماً روی Pi نصب شود ، بنابراین من واقعاً خود را مقصر می دانم. تصمیم گرفتم تکه ای از سرصفحه زن را بین صفحه و اتصالات Pi اضافه کنم تا بتوانم صفحه را خاموش کرده و به راحتی وصل کنم. این یک ایده عالی بود ، و من نمودار pinout را با دقت دنبال کردم تا هدر را به Pi متصل کنم.

در مرحله بعد ، برخی از کابل های جهنده تازه را به دکمه اصلی لحیم کردم ، بنابراین می توان آن را به GPIO متصل کرد و از آن برای گرفتن عکس های حرارتی استفاده کرد. در نهایت ، من یک دیسک ارتعاشی کوچک را مستقیماً به پین های GPIO لحیم کردم تا بازخورد تکان دهنده ای را برای فشار دکمه ها ارائه کنم.

مرحله 3: حالت های موردی

حالت های موردی
حالت های موردی
حالت های موردی
حالت های موردی

یکی از چیزهایی که Apollo Monitor را از جعبه "to do" من زنده کرد ، سوراخ نمایش در بالای صفحه بود - این تقریباً اندازه ای بود که من برای صفحه کوچک Adafruit نیاز داشتم. تقریباً یک ساعت طول کشید تا یک پرونده طول بکشد تا سوراخ به اندازه مناسب برسد ، اما خوشبختانه من موفق شدم پرونده را در این روند از بین نبرم.

همچنین قسمت هایی از داخل که در ابتدا دارای باتری PP3 بود را جدا کردم و با استفاده از یک ابزار دوار ، برخی از دیواره های داخل گیره را برای ایجاد فضای مناسب برای باتری جدا کردم.

سرانجام من چند سوراخ بزرگ ایجاد کردم تا کابل های سنسور و کابل شارژ از "بینی" خارج شوند و به بقیه مدارها متصل شوند.

مرحله 4: قدرت

قدرت
قدرت
قدرت
قدرت
قدرت
قدرت
قدرت
قدرت

برای این پروژه من از استفاده از باتری LiPo و آداپتور/شارژر خودداری کردم ، زیرا فضای بیشتری در کیس وجود داشت. در عوض تصمیم گرفتم از یک پاوربانک USB استاندارد استفاده کنم. من می خواستم یک استوانه نازک تهیه کنم تا داخل دسته قرار گیرد ، بنابراین ارزان ترین و باریک ترین موردی را که در آمازون پیدا کردم جستجو کردم. چیزی که وارد شد ، با مشعل LED شاداب و حالت باتری مصنوعی ، باریک ترین باریکی بود که می توانستم پیدا کنم ، اما در جعبه گشایی آن متوجه شدم که هنوز خیلی ضخیم است تا در دسته جا بگیرد. سپس متوجه شدم که جدا شده است - قسمت بالایی شل شده و باتری برهنه داخل آن به بیرون کشیده شد و به راحتی 3 میلی متر را برای قرار دادن آن در داخل دسته صرفه جویی کرد ، چه نتیجه ای!

سپس یک کابل Micro USB کوتاه برداشتم ، مقداری از عایق را جدا کردم ، کابل مثبت را بریدم و در یک دکمه محکم و محکم چسباندم ، به طوری که می توان بدون نیاز به جدا کردن باتری ، برق را کنترل کرد. این دکمه به خوبی در قسمت اصلی باتری قرار داشت و با بدنه اصلی در بالای قاب بسیار مطابقت داشت. حالا که می دانستم همه چیز مناسب است وقت آن رسیده که همه چیز کار کند!

مرحله 5: راه اندازی نرم افزار دوربین حرارتی

راه اندازی نرم افزار دوربین حرارتی
راه اندازی نرم افزار دوربین حرارتی

سنسور حرارتی به خودی خود Adafruit AMG8833IR Thermal Camera Breakout است که از آرایه ای 8 8 8 برای ایجاد تصویر حرارتی استفاده می کند. با Arduino و Raspberry Pi کار می کند ، اما بزرگترین مزیت استفاده از Pi این است که نرم افزار می تواند از ماژول پایتون scipy برای انجام درون یابی دوگانه روی داده های گرفته شده استفاده کند ، و آن را شبیه یک تصویر 32x32 ، مرتب و زیبا کند!

راه اندازی سنسور بسیار ساده است ، اما برخی از حلقه ها وجود دارد که باید از آنها عبور کنید ، این چیزی است که برای من کار کرد:

I2C و SPI را در Raspberry Pi فعال کنید (پیکربندی Raspberry Pi> رابط ها)

کتابخانه Blinka CircuitPython را نصب کنید:

pip3 adafruit-blinka را نصب کنید

در مرحله بعد کتابخانه حسگر AMG8XX را نصب کنید:

sudo pip3 نصب adafruit-circuitpython-amg88xx#

Pi را خاموش کنید و سنسور را وصل کنید - خوشبختانه فقط 4 سیم دارید!

سپس ماژول های scipy ، pygame و color را نصب کنید:

sudo apt-get install -y python-scipy python-pygamesudo pip3 نصب رنگ

در این مرحله کد من یک خطای خطایی ایجاد کرد ، بنابراین آن را مجدداً نصب کردم:

Sudo Pip3 نصب scipy

سپس خطا را دریافت کردم: ImportError: libf77blas.so.3: نمی توان فایل شیء مشترک را باز کرد: چنین پرونده یا فهرست ای وجود ندارد

این با نصب حل شد:

sudo apt-get python-dev libatlas-base-dev را نصب کنید

از آن به بعد کد مثال خوب کار می کرد و اسکریپت را بیشتر از کنسول اجرا می کرد تا از Thonny:

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

این باعث شد صفحه نمایش سنسور در پنجره pygame روی صفحه نمایش داده شود و پس از برخی تغییرات در آستانه های رنگ/دما ، توسط یک تصویر گرمایشی صورتم هیپنوتیزم شد.

مرحله 6: راه اندازی نرم افزار صفحه نمایش LCD

راه اندازی نرم افزار صفحه نمایش LCD
راه اندازی نرم افزار صفحه نمایش LCD
راه اندازی نرم افزار صفحه نمایش LCD
راه اندازی نرم افزار صفحه نمایش LCD

کارکردن حسگر واقعاً خوب بود ، اما اکنون باید آن را روی صفحه کوچک نشان می دادم. صفحه نمایش مورد استفاده من Adafruit Mini PiTFT 1.3 اینچ 240x240 است - عمدتا به این دلیل که وضوح و شکل آن فقط برای دوربین حرارتی مناسب بود ، همچنین اندازه مناسب آن برای قرار گرفتن در قاب و دو دکمه متصل به GPIO مورد نیاز من را ارائه داد.

دستورالعمل های Adafruit در اینجا دو گزینه ارائه می دهد: راه آسان و سخت - پس از آزمایش متوجه شدم که باید از روش سخت استفاده کنم ، زیرا سنسور نیاز به دسترسی مستقیم به فریم بافر دارد. با دنبال کردن دستورالعمل های گام به گام ، من خوب بودم تا زمانی که به س "ال "آیا دوست دارید کنسول ظاهر شود" رسیدم - در ابتدا نه را انتخاب کردم ، اما باید بله را می گفتم. این کمی دردناک بود زیرا به این معنا بود که من مجبور بودم دوباره این روند را انجام دهم ، اما به من اطلاع داد که وقتی Pi تنظیم شود که کنسول را روی TFT نمایش دهد ، دیگر دسکتاپ را از طریق HDMI نشان نمی دهد (حداقل این تجربه من بود)

با این حال ، پس از اتمام راه اندازی ، هنگام راه اندازی مجدد صفحه کوچک ، یک نسخه مینیاتوری از روند راه اندازی معمول Pi نمایش داده شد ، و هنگامی که من اسکریپت دوربین حرارتی را اجرا کردم ، پنجره بازی بازی حرارت را روی صفحه کوچک نشان داد - بسیار رضایت بخش!

مرحله 7: اصلاحات کد

اصلاحات کد
اصلاحات کد
اصلاحات کد
اصلاحات کد

کد نمونه خوب کار می کرد ، اما من می خواستم کمی بیشتر کار کند ، بنابراین سعی کنید اسکریپت ها را به سلیقه من تغییر دهید. من با ایجاد یک اسکریپت منو شروع به کار کردم و از دو دکمه یکپارچه شده در صفحه نمایش به خوبی استفاده می کردم.

menu.py

ابتدا چند پایتون آنلاین پیدا کردم که با استفاده از PyGame جلوه منوی متحرک خوبی را روی صفحه کوچک نمایش می دهد. زیبایی این اسکریپت این است که همه تصاویر را در یک پوشه تنظیم شده متحرک می کند ، بنابراین تغییر انیمیشن در مراحل بعدی (به عنوان مثال برای مطابقت رنگ انیمیشن با حروف بزرگ) آسان خواهد بود. من اسکریپت منو را طوری تنظیم کردم که با فشردن یکی از دکمه ها ، حرکت متحرک متوقف شود و یا تب. با این کار ، من اسکریپت را برای راه اندازی تنظیم می کنم - معمولاً این کار را با ویرایش/etc/xdg/lxsession/LXDE -pi/autostart انجام می دهم ، اما از آنجا که این روش بر روی بارگذاری Desktop متکی است ، این بار به گزینه دیگری نیاز دارم.

بنابراین ابتدا فایل rc.local را ویرایش کردم…

sudo nano /etc/rc.local

… سپس در قسمت زیر درست بالای خط خروج اضافه شده است…

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

… ابتدا اطمینان حاصل کنید که اسکریپت menu.py موارد زیر را در بالای صفحه دارد…

#!/usr/bin/env python3

… و همچنین پس از تنظیم menu.py به عنوان یک اسکریپت اجرایی با تایپ کردن:

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

به ترمینال

تب.پی (از پیش تعیین شده)

برای اسکریپت از پیش تعیین شده ، ابتدا آستانه های رنگ / دما را تنظیم می کنم و قسمت پایینی (آبی) را روی 16 و بالایی (قرمز) را روی 37.8 تنظیم می کنم. این امر از نظر تئوری همچنان چهره فرد را با رنگ سبز نشان می دهد ، اما اگر درجه حرارت به 37.8 درجه یا بالاتر برسد قرمز می شود. تحقیقات زیادی در مورد نمونه برداری از دمای بدن از طریق روش های مختلف انجام شده است ، اما با وجود واریانس سنسور +/- 2.5 درجه ، من تصمیم گرفتم فقط به وسیع ترین محدوده "تب" بپردازم - این به سادگی قابل تغییر است از طریق ssh در تاریخ بعدی

بعد من دو دکمه صفحه را طوری تنظیم می کنم که اسکریپت فعلی بسته شود و menu.py باز شود. من همچنین می خواستم راهی برای ضبط و صادر کردن تصویر دوربین پیدا کنم و دستور PyGame مناسب را پیدا کردم

pygame.image.save (ال سی دی ، "thermal.jpg")

من تنظیم کردم که وقتی دکمه "انگشت شست" فشار داده می شود اجرا شود - دکمه ای که در ابتدا برای خواندن مایکروویو استفاده می کردید. برای مراقبت از گرفتن تصویر ، بعداً برخی خطوط پایتون را اضافه کردم تا تصویر بلافاصله پس از ثبت در داشبورد Adafruit IO بارگذاری شود ، بنابراین می توان آن را در دستگاه های دیگر مشاهده کرد و به راحتی بارگیری کرد. با "ذخیره به عنوان" سریع که اسکریپت از پیش تعیین شده کامل شد.

chill.py (پویا)

یک دوربین حرارتی بیشتر از جستجوی دمای خاص وجود دارد و من می خواستم که اسکریپت Dynamic انعطاف پذیر باشد ، به طوری که آستانه رنگ بالا و پایین به راحتی قابل تنظیم است. من نمی خواستم دکمه های اضافی به دستگاه اضافه کنم و مسیر را پیچیده کنم ، بنابراین ترجیح دادم از کشویی در داشبورد Adafruit.io استفاده کنم.

من قبلاً بخش عمده ای از کد Adafruit را در اسکریپت Preset داشتم ، بنابراین فقط باید چند خط اضافی اضافه کنم ، به طوری که مقادیر نوار لغزنده فعلی از داشبورد هنگام راه اندازی بازیابی شده و به عنوان پیش فرض نمایش تنظیم شود.

کدی که من استفاده کردم همه در GitHub موجود است ، برای استفاده مجدد از آن فقط کافی است پوشه FeverChill را در پوشه / pi / در Pi خود بارگیری کرده و اعتبارات Adafruit.io و نام خوراک خود را در اسکریپت ها وارد کنید. سنسور تنظیم شده است

با عملکرد خوب فیلمنامه ها ، وقت آن رسیده بود که به سراغ چیزهای ناخوشایند برویم!

مرحله 8: اتمام تاچ آپ ها

اتمام تاچ آپ ها
اتمام تاچ آپ ها
اتمام تاچ آپ ها
اتمام تاچ آپ ها
اتمام تاچ آپ ها
اتمام تاچ آپ ها

در ابتدا این پروژه قصد داشت یک حواس پرتی سریع از استفاده از سنسور حرارتی برای موارد دیگر باشد ، اما با وقایع کنونی متوجه شدم که به طور فزاینده ای به آن توجه می کنم و جزئیات اضافی ریز که آن را گسترش می دهد و آن را به یک چالش تبدیل می کند.

کار با قاب Apollo Monitor بسیار زیبا بود ، برش دادن و خرد کردن آن آسان بود ، اما برای خاتمه دادن به آن ، می خواستم برخی از تخته های مدار قابل مشاهده را در پشت "ماسک" های رنگ شده قرار دهم. این کارها طول کشید و آنها را از روی تکه های پلاستیک زباله با دست بیرون کشیدند ، اما کار رضایت بخشی بود. ابتدا یک صفحه کوچک درست کردم که صفحه نمایش را می پوشاند اما میکروسوئیچ ها قابل مشاهده است. در مرحله بعد ، من یک سنسور حرارتی تهیه کردم ، بنابراین اگر به "پایان کار" نگاه کنید ، لوازم برقی برهنه نخواهید دید.

من چند روز قبل از تعطیلی انگلستان در مورد طرح رنگ تصمیم گرفتم و خوش شانس بودم که رنگهای موردنظر خود را در فروشگاه سخت افزار نزدیک پیدا کردم. هنگامی که قاب به زیبایی به دو قسمت تقسیم شد ، یک طرح رنگی دو رنگ پیشنهاد شد ، و من آن را به "مخروط بینی" و پوشش سنسور گسترش دادم. نقاشی سرگرم کننده ای بود ، اولین روز گرم سال ، اگرچه این به معنی نقاشی بود در حالی که زنبورهای سوله در حال تکان خوردن و آسیاب کردن بودند. من قبلاً از نوار ماسک با رنگ اسپری استفاده نکرده ام ، اما از نحوه بیرون آمدن قطعات دو رنگ حاصل از آن بسیار خوشحالم.

با آموختن درس های قبلی ، قطعات رنگ آمیزی شده را برای یک هفته خوب قبل از مونتاژ رها کردم و در همین حین شروع به جمع آوری ویدیو کردم.

مرحله 9: مونتاژ

مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ

هر زمان که روی پروژه ای کار می کنم ، دوست دارم به مرحله ای برسم که همه چیز برای مونتاژ آماده شده است ، مانند یک کیت مدل خود ساخته. هیچ تضمینی وجود ندارد که همه آنها با هم هماهنگ شوند و دستورالعمل ها فقط در ذهن من وجود دارد ، اما این قسمت مورد علاقه من در هر ساختاری است.

این بار آن زمان بسیار روان پیش رفت - بیشتر به این دلیل که وقت اضافی برای صرف جزئیات کوچک داشتم و مطمئن شدم که همه چیز درست است. من ابتدا صفحه را به صورت دائمی به کیس چسباندم ، سپس دکمه "ضبط" را اضافه کردم - اینها تنها قطعاتی بودند که به بالای کیس متصل شده بودند ، بنابراین شروع آسان خوبی بود.

در مرحله بعد ، بسته باتری را به آرامی چسباندم و Pi را با براکت خود در قاب قرار دادم. پس از آن سنسور دوربین با دقت به مخروط بینی چسبانده شد ، کلید تغذیه به روی باتری پیچ خورده و همه چیز متصل شد.

من برای همه اتصالات از کابل های بلوز استفاده کردم ، اما برای احتیاط بیشتر در صورت وجود هرگونه حرکتی در هنگام جمع شدن دو نیمه ، اینها را در جای خود گرم کردم. این فقط در واقع کمی پیچ خوردگی بود ، اما هیچ صدایی ترک نمی خورد ، بنابراین هنگامی که دو نیمه به هم چسبیده بودند ، مخروط بینی را فشار دادم و پیچ را از طریق دسته محکم کردم - تنها دو مورد که کل مجموعه را با هم نگه داشت به

اولین بار کار نمی کرد ، من در اولین اسکوی شاتون موفق به قطع صفحه شدم ، اما با چند پیچ کابل استراتژیک همه چیز برای دومین بار خوشبختانه به پایان رسید. وقت آن است که به موضوعات اشاره کنیم!

مرحله 10: زمانهای آزمایش دما

زمان تست دما
زمان تست دما
زمان تست دما
زمان تست دما
زمان تست دما
زمان تست دما
زمان تست دما
زمان تست دما

داشتن وقت اضافی در خانه واقعاً به من کمک کرد تا بیش از حد معمول روی جزئیات کوچک این پروژه تمرکز کنم (وسواس دارم؟) و این قطعاً باعث تمیزتر و شگفتی کمتر در زمان مونتاژ شد - و همچنین به حفظ سلامت روانی من کمک کرد مستقیم و باریک طرح اولیه برای سنسور چیزی کاملاً متفاوت بود ، بنابراین از نتیجه نهایی بسیار خوشحالم ، ساختاری با سرعت پایین و رضایت بخش.

Apollo Pi در قفسه پروژه نیز عالی به نظر می رسد و قطعاً یک ابزار سرگرم کننده و مفید برای داشتن در اطراف است ، ما نمی توانیم از اشاره به چیزها دست برداریم! در دنیای ایده آل وضوح کمی بالاتر است ، و من باید راهی برای "ورق زدن" صفحه نمایش در حال حاضر در آینه پیدا کنم ، اما اینها خراش های کوچکی هستند.

با تشکر از شما برای خواندن و ایمن باشید همه.

سایر پروژه های قدیمی من Tech، New Spec همه در دستورالعمل ها در https://www.instructables.com/member/MisterM/instructables/ هستند

جزئیات بیشتر در وب سایت به آدرس https://bit.ly/OldTechNewSpec موجود است. و من در توییترOldTechNewSpec هستم.

توصیه شده: