Mündəricat:

ISS İzləmə Lambası: 5 Adım (Şəkillərlə birlikdə)
ISS İzləmə Lambası: 5 Adım (Şəkillərlə birlikdə)

Video: ISS İzləmə Lambası: 5 Adım (Şəkillərlə birlikdə)

Video: ISS İzləmə Lambası: 5 Adım (Şəkillərlə birlikdə)
Video: MS Excel -də cədvəllərlə iş 2024, Noyabr
Anonim
ISS İzləmə Lampası
ISS İzləmə Lampası
ISS İzləmə Lampası
ISS İzləmə Lampası

Çox vaxt ISS -in göyə baxdığını harada olduğunu düşünürəm. Bu suala cavab vermək üçün, ISS -in real vaxtda tam olaraq harada olduğunu bilmək üçün fiziki bir obyekt hazırladım.

ISS İzləmə Lambası, ISS -i daim izləyən və Yerin səthində yerini göstərən (3D formatında) İnternetə qoşulmuş bir lampadır.

Bonus: lampa, Neopixels ilə Yerin günəşli tərəfini də göstərir! ??

Beləliklə, bu Təlimatlarda, WEMOS D1 Mini, step motor, servo motor, lazer və 3D hissələrinə əsaslanan bu lampanın qurulması üçün fərqli addımları görəcəyik.

Aliexpress -də satın alınan 3D çaplı Yer istisna olmaqla, hamısını özüm qururam.

Proqram təminatı:

  • Arduino əsaslı kod
  • API ISS Məkanı: Açıq Bildiriş - ISS -in Cari Məkanı (Nathan Bergey tərəfindən)
  • Məlumatların təhlili: ArduinoJson Kitabxanası (Benoit Blanchon tərəfindən)

CAD və hissələri:

  • 18 sm diametrli 3D Çaplı Yer (Aliexpress -də satın alın: burada)
  • 3D çaplı motor dəstəyi - Fusion 360 ilə hazırlanmış və Prusa i3 MK2S ilə çap olunmuşdur
  • Mis boru
  • Fransız vikinqləri ilə hazırlanmış beton bazası

Avadanlıq:

  • Mikro nəzarətçi: Wemos D1 Mini (wifi antenası inteqrasiya olunmuş)
  • Servo EMAX ES3352 MG
  • Step Motor 28byj-48 (ULN2003 sürücü kartı ilə)
  • 10 NeoPixels LED
  • 405 nm dalğa uzunluğunda lazer
  • Limit açarı
  • 5V 3A enerji təchizatı

Addım 1: Fusion 360 və Çapda Parçaların Modelləşdirilməsi

Fusion 360 və Çapda hissələrin modelləşdirilməsi
Fusion 360 və Çapda hissələrin modelləşdirilməsi
Fusion 360 və Çapda hissələrin modelləşdirilməsi
Fusion 360 və Çapda hissələrin modelləşdirilməsi
Fusion 360 və Çapda hissələrin modelləşdirilməsi
Fusion 360 və Çapda hissələrin modelləşdirilməsi

Bütün avadanlıqları quraşdırmaq üçün, 3D hissələrində əsas montaj bazası yaradacağıq. Parçalar Thingiverse -də burada mövcuddur.

3 hissədən ibarətdir:

1) Dəstək Stepper Boylamı

Bu hissə, step motoru, WEMOS, Neopixels şeridi və mis borunu montaj etmək üçün hazırlanmışdır

2) Dəstək açarı

Bu hissə limit keçidinin quraşdırılması üçün hazırlanmışdır (pilləyə eni -0 °/-180 ° göstərmək üçün istifadə edin). Bu, pillənin üstünə vidalanmışdır

3) Dəstək Servo Enlemi

Bu hissə servo motorun montajı üçün hazırlanmışdır. Dəstək Servo, step motoruna quraşdırılmışdır

Bütün hissələr qara PETG filamentlə Prusa I3 MK2S üzərində çap edilmişdir

Addım 2: Kablolama və montaj

Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj

Bu dövrədə 5V 3A güc girişi olacaq (step sürücüsü, lazer, Neopixels və WEMOS üçün eyni təchizatı istifadə etmək üçün)

Aşağıdakı Sketch ilə, enerji təchizatını yuxarıdakı elementlərə paralel olaraq birbaşa lehimləməliyik:

  • Step sürücü
  • Lazer
  • Neopixels zolağı (NB: eskizdə göstərildiyi kimi 8 deyil, əslində 10 Neopiksel var)
  • WEMOS

Sonra, fərqli elementləri WEMOS -a bağlamalıyıq:

1) Bu siyahıya uyğun olaraq stepper sürücüsü:

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

2) Servo motor aşağıdakılardır:

Məlumat Servo Pin -> D1

3) Neopixels aşağıdakıları çıxarır:

Məlumat Neopiksel Pimi -> D2

4) Aşağıdakı limit açarı:

GND və D3 -ə keçidin iki sancağı

Limit açarını düyməni basdığımız zaman dövrə açılacaq/qırılacaq şəkildə bağlayın (belə ki, heç bir şey itmədikdə dövrə bağlanır). Bu, bir gərginlik pik səbəbiylə hər hansı bir səhv mühazirədən qaçmaq üçündür.

Addım 3: Arduino Kodu - ISS mövqeyini real vaxtda əldə edin

ISS mövqeyinə çatmaq üçün iki mühərriki idarə etmək üçün ISS -in mövqeyini real vaxtda əldə etməliyik:

  • Bunun üçün əvvəlcə Burada Açıq Bildirişdən API istifadə edəcəyik
  • Ardından, ArduinoJson Kitabxanası (Benoit Blanchon tərəfindən), ISS yerinin sadə dəyərini əldə etmək üçün məlumatları təhlil etməliyik.

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parametrləri const char* ssid = "XXXXX"; const char* parol = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (1000); Serial.println ("Bağlanır…"); }}

Bu proqram NodeMCU -nu WiFi -yə bağlayır, sonra API -yə qoşulur, məlumatları əldə edir və seriya ilə çap edir.

boşluq döngəsi () {

if (WiFi.status () == WL_CONNECTED) // WiFi Statusunu yoxlayın {HTTPClient http; // HTTPClient sinifinin obyekti http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Geri qaytaran kodu yoxlayın, əgər (httpCode> 0) {// Parsing const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametrlər const char* mesaj = kök ["mesaj"]; const char* lon = kök ["iss_position"] ["uzunluq"]; const char* lat = kök ["iss_position"] ["enlik"]; // Serial.print ("Mesaj:") seriyalı monitora çıxış; Serial.println (mesaj); Serial.print ("Boylam:"); Serial.println (uzun); Serial.print ("Enlem:"); Serial.println (lat); } http.end (); // Bağlantını bağla} gecikmə (50000); }

Addım 4: Final Arduino Kodu

Aşağıdakı Arduino kodu, ISS -in yerini lazerin Yer səthində doğru yerə köçürməsini təmin edir və Günəşin mövqeyini almaqla əlaqədar Neopixelləri işıqlandırmaq üçün Yerin səthinə günəşlə toxunur.

Bonus 1: Lampa işə salındıqda, başlanğıc mərhələsində lazer lampanın mövqeyini göstərəcək (id: routerin olduğu yer)

Bonus 2: ISS lampanın yerləşdiyi yerin yanında olduqda (+/- 2 ° uzunluqda və +/- 2 ° lat.) Bütün Neopiksellər yumşaq bir şəkildə göz qırpacaq.

Addım 5: ISS Tracker -dən zövq alın

Bir ISS İzləmə Lampası etdiniz, zövq alın!

İlk dəfə Müəllif Müsabiqəsi
İlk dəfə Müəllif Müsabiqəsi
İlk dəfə Müəllif Müsabiqəsi
İlk dəfə Müəllif Müsabiqəsi

İlk dəfə müəllif müsabiqəsində birinci mükafat

Tövsiyə: