فهرست مطالب:

لامپ رهگیری ISS: 5 مرحله (همراه با تصاویر)
لامپ رهگیری ISS: 5 مرحله (همراه با تصاویر)

تصویری: لامپ رهگیری ISS: 5 مرحله (همراه با تصاویر)

تصویری: لامپ رهگیری ISS: 5 مرحله (همراه با تصاویر)
تصویری: چگونه triac را بررسی کنیم 2024, جولای
Anonim
لامپ رهگیری ISS
لامپ رهگیری ISS
لامپ رهگیری ISS
لامپ رهگیری ISS

بیشتر اوقات ، من این سوال را دارم که ISS کجا را به آسمان نگاه می کند. برای پاسخ به این س iال ، من یک شی فیزیکی ایجاد کرده ام تا دقیقاً بدانم ISS در کجاست.

لامپ رهگیری ISS یک لامپ متصل به اینترنت است که دائما ISS را ردیابی می کند و محل آن را روی سطح زمین (چاپ شده به صورت سه بعدی) نمایش می دهد.

پاداش: لامپ همچنین قسمت آفتابی زمین را با نئوپیکسل نشان می دهد! ؟؟

بنابراین ، در این دستورالعمل ، ما مراحل مختلف ساخت این لامپ را بر اساس WEMOS D1 Mini ، موتور پله ای ، سروو موتور ، لیزر و قطعات سه بعدی می بینیم.

من همه را به تنهایی می سازم ، به جز زمین چاپ سه بعدی ، که در Aliexpress خریداری شده است.

نرم افزار:

  • کد مبتنی بر آردوینو
  • API ISS Location: باز کردن اعلان - مکان فعلی ISS (توسط ناتان برگی)
  • تجزیه و تحلیل داده ها: کتابخانه ArduinoJson (توسط Benoit Blanchon)

CAD و قطعات:

  • چاپ زمین سه بعدی با قطر 18 سانتی متر (خریداری شده در Aliexpress: اینجا)
  • پشتیبانی موتورهای چاپ سه بعدی - طراحی شده با Fusion 360 و چاپ شده با Prusa i3 MK2S
  • لوله مسی
  • پایه بتنی ، ساخته شده با وایکینگ های فرانسوی

سخت افزار:

  • میکروکنترلر: Wemos D1 Mini (آنتن وای فای یکپارچه)
  • سرو EMAX ES3352 MG
  • استپر موتور 28byj-48 (با برد راننده ULN2003)
  • 10 LED NeoPixels
  • لیزر با طول موج 405 نانومتر
  • Limit Switch
  • منبع تغذیه 5 ولت 3 آمپر

مرحله 1: مدل سازی قطعات در فیوژن 360 و چاپ

مدل سازی قطعات در فیوژن 360 و چاپ
مدل سازی قطعات در فیوژن 360 و چاپ
مدل سازی قطعات در فیوژن 360 و چاپ
مدل سازی قطعات در فیوژن 360 و چاپ
مدل سازی قطعات در فیوژن 360 و چاپ
مدل سازی قطعات در فیوژن 360 و چاپ

برای نصب همه سخت افزارها ، ما قصد داریم پایه مونتاژ اصلی را روی قطعات سه بعدی ایجاد کنیم. قطعات در Thingiverse در اینجا موجود است.

3 قسمت وجود دارد:

1) طول پله پشتیبانی

این قسمت برای نصب موتور پله ای ، WEMOS ، نوار Neopixels و لوله مسی ساخته شده است

2) سوئیچ پشتیبانی

این قسمت برای نصب سوئیچ محدود (برای نشان دادن عرض جغرافیایی -0 °/-180 °) استفاده می شود. در بالای استپر پیچ خورده است

3) پشتیبانی Servo Latitude

این قسمت برای نصب سروو موتور ساخته شده است. Servo Support روی موتور پله ای نصب شده است

تمام قطعات بر روی Prusa I3 MK2S ، با رشته سیاه PETG چاپ شدند

مرحله 2: سیم کشی و مونتاژ

سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ

این مدار دارای ورودی برق 5V 3A است (به منظور استفاده از منبع مشابه برای راننده استپر ، لیزر ، Neopixels و WEMOS)

با طرح زیر ، ما باید منبع تغذیه را مستقیماً به طور همزمان به عناصر بالا بچسبانیم:

  • راننده استپر
  • لیزر
  • نوار نئوپیکسلی (NB: در واقع 10 نئوپیکسل وجود دارد ، نه 8 همانطور که طرح نشان می دهد)
  • WEMOS

در مرحله بعد ، ما باید عناصر مختلف را به WEMOS متصل کنیم:

1) راننده stepper که این لیست را دنبال می کند:

  • IN1-> D5
  • IN2-> D6
  • IN3-> D7
  • IN4-> D8

2) سروو موتور زیر:

Data Servo Pin -> D1

3) نوارهای Neopixels به شرح زیر است:

پین نئوپیکسل داده -> D2

4) سوئیچ محدودیت زیر:

دو پایه سوئیچ به GND و D3

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

مرحله 3: کد آردوینو - دریافت موقعیت ISS در زمان واقعی

برای حرکت دو موتور برای رسیدن به موقعیت ISS ، باید موقعیت ISS را در زمان واقعی بدست آوریم:

  • برای این کار ابتدا از API Open Notify Here استفاده می کنیم
  • سپس ، ما باید داده ها را تجزیه کنیم تا مقدار ساده مکان ISS را با کمک تجزیه و تحلیل داده ها بدست آوریم: کتابخانه ArduinoJson (توسط Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parameters const char* ssid = "XXXXX"؛ const char* رمز عبور = "XXXXX"؛ void setup () {Serial.begin (115200)؛ WiFi.begin (ssid ، رمز عبور) ؛ while (WiFi.status ()! = WL_CONNECTED) {تأخیر (1000) ؛ Serial.println ("اتصال …") ؛ }}

این برنامه NodeMCU را به WiFi متصل می کند ، سپس به API متصل می شود ، داده ها را دریافت کرده و به صورت سریال چاپ می کند.

حلقه خالی () {

if (WiFi.status () == WL_CONNECTED) // وضعیت WiFi را بررسی کنید {HTTPClient http؛ // هدف کلاس HTTPClient http.begin ("https://api.open-notify.org/iss-now.json") ؛ int httpCode = http. GET ()؛ // کد بازگشتی را بررسی کنید اگر (httpCode> 0) {// تجزیه const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100 ؛ DynamicJsonBuffer jsonBuffer (bufferSize) ؛ JsonObject & root = jsonBuffer.parseObject (http.getString ()) ؛ // پارامترها const char* message = root ["message"]؛ const char* lon = ریشه ["iss_position"] ["طول جغرافیایی"]؛ const char* lat = ریشه ["iss_position"] ["عرض جغرافیایی"]؛ // خروجی به مانیتور سریال Serial.print ("پیام:") ؛ Serial.println (پیام) ؛ Serial.print ("طول جغرافیایی:")؛ Serial.println (lon)؛ Serial.print ("عرض جغرافیایی:") ؛ Serial.println (lat) ؛ } http.end ()؛ // بستن اتصال} تأخیر (50000) ؛ }

مرحله 4: کد نهایی آردوینو

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

پاداش 1: هنگامی که لامپ روشن می شود ، در مرحله راه اندازی اولیه ، لیزر موقعیت لامپ را نشان می دهد (شناسه: موقعیتی که روتر در آن قرار دارد)

پاداش 2: هنگامی که ISS در کنار محل لامپ (+/- 2 درجه طول و +/- 2 درجه پهنا) قرار دارد ، همه نئوپیکسل ها به آرامی چشمک می زنند

مرحله 5: از ردیاب ISS خود لذت ببرید

شما یک لامپ ردیابی ISS ساخته اید ، لذت ببرید!

اولین مسابقه نویسنده
اولین مسابقه نویسنده
اولین مسابقه نویسنده
اولین مسابقه نویسنده

جایزه اول در مسابقه نویسنده اولین بار

توصیه شده: