Obsah:

Sledovacia lampa ISS: 5 krokov (s obrázkami)
Sledovacia lampa ISS: 5 krokov (s obrázkami)

Video: Sledovacia lampa ISS: 5 krokov (s obrázkami)

Video: Sledovacia lampa ISS: 5 krokov (s obrázkami)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, Júl
Anonim
Sledovacia lampa ISS
Sledovacia lampa ISS
Sledovacia lampa ISS
Sledovacia lampa ISS

Väčšinu času sa čudujem, kde sa ISS díva na oblohu. Aby som odpovedal na túto otázku, vyrobil som fyzický objekt, aby som presne vedel, kde je ISS v reálnom čase.

Sledovacia lampa ISS je lampa pripojená k internetu, ktorá neustále sleduje ISS a zobrazuje jej polohu na povrchu Zeme (vytlačené v 3D).

Bonus: lampa tiež zobrazuje slnečnú stranu Zeme s neopixelmi! ??

V tomto návode sa teda pozrieme na rôzne kroky pri stavbe tejto žiarovky na základe WEMOS D1 Mini, krokového motora, servomotora, laseru a 3D dielov.

Staviam úplne sám, okrem 3D vytlačenej Zeme, ktorá bola zakúpená na Aliexpress.

Softvér:

  • Kód založený na Arduine
  • API ISS Location: Open Notify - Aktuálna poloha ISS (Nathan Bergey)
  • Analýza údajov: Knižnica ArduinoJson (od Benoita Blanchona)

CAD a diely:

  • 3D tlačená Zem s priemerom 18 cm (kúpená na Aliexpress: tu)
  • Podporuje 3D tlačený motor - navrhnutý s Fusion 360 a vytlačený s Prusa i3 MK2S
  • Medená trubica
  • Betónový základ vyrobený z francúzskych Vikingov

Hardvér:

  • Mikrokontrolér: Wemos D1 Mini (integrovaná wifi anténa)
  • Servo EMAX ES3352 MG
  • Krokový motor 28byj-48 (s doskou ovládača ULN2003)
  • 10 LED diód NeoPixels
  • Laser s vlnovou dĺžkou 405 nm
  • Časový spínač
  • Napájanie 5V 3A

Krok 1: Modelovanie dielov vo Fusion 360 a tlač

Modelovanie dielov vo Fusion 360 a tlač
Modelovanie dielov vo Fusion 360 a tlač
Modelovanie dielov vo Fusion 360 a tlač
Modelovanie dielov vo Fusion 360 a tlač
Modelovanie dielov vo Fusion 360 a tlač
Modelovanie dielov vo Fusion 360 a tlač

Aby sme namontovali všetok hardvér, vytvoríme základnú zostavu jadra na 3D častiach. Diely sú k dispozícii na Thingiverse tu.

Existujú 3 časti:

1) Dĺžka stepperu podpory

Táto časť je určená na montáž krokového motora, WEMOS, lišty Neopixels a medenej trubice

2) Prepínač podpory

Táto časť je určená na montáž koncového spínača (pomocou ktorého sa stepperu označuje zemepisná šírka -0 °/-180 °). Je naskrutkovaný na vrchu stepperu

3) Servo Latitude podpory

Táto časť je určená na montáž servomotora. Servo podpory je namontované na krokovom motore

Všetky diely boli vytlačené na Prusa I3 MK2S, čiernym PETG vláknom

Krok 2: Zapojenie a montáž

Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž

Tento obvod bude mať vstup 5V 3A (aby bolo možné použiť rovnaké napájanie pre krokový ovládač, laser, Neopixely a WEMOS)

Podľa nasledujúceho náčrtu musíme súbežne spájkovať napájací zdroj priamo k vyššie uvedeným prvkom:

  • Krokový ovládač
  • Laser
  • Pruh neopixelov (Poznámka: v skutočnosti existuje 10 neopixelov, nie 8, ako ukazuje náčrt)
  • WEMOS

Ďalej musíme pripojiť rôzne prvky k systému WEMOS:

1) Krokový ovládač podľa tohto zoznamu:

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

2) Servomotor nasledujúci:

Dátový servo pin -> D1

3) Nasleduje pás Neopixelov:

Pin neopixelov dát -> D2

4) Nasleduje koncový spínač:

Dva kolíky prepínača na GND a D3

Pripojte koncový spínač tak, aby sa obvod pri stlačení spínača otvoril/zlomil (aby sa obvod zatvoril, keď naň nič netlačí). Toto má zabrániť akejkoľvek zlej prednáške kvôli špičke napätia.

Krok 3: Arduino kód - získanie pozície ISS v reálnom čase

Na pohon dvoch motorov, aby sa dostali na pozíciu ISS, musíme dostať polohu ISS v reálnom čase:

  • Na to najskôr použijeme API z programu Open Notify Here
  • Potom musíme analyzovať údaje, aby sme získali jednoduchú hodnotu umiestnenia ISS pomocou analýzy údajov: Knižnica ArduinoJson (od Benoita Blanchona)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametre WiFi const char* ssid = "XXXXX"; const char* heslo = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {oneskorenie (1000); Serial.println („Pripojenie …“); }}

Tento program pripojí NodeMCU k WiFi, potom sa pripojí k API, získa údaje a vytlačí ich sériovo.

prázdna slučka () {

if (WiFi.status () == WL_CONNECTED) // Kontrola stavu WiFi {HTTPClient http; // Objekt triedy HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Skontrolujte vracajúci sa kód, ak (httpCode> 0) {// Parsovanie const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametre const char* message = root ["message"]; const char* lon = root ["iss_position"] ["zemepisná dĺžka"]; const char* lat = root ["iss_position"] ["zemepisná šírka"]; // Výstup na sériový monitor Serial.print ("Správa:"); Serial.println (správa); Serial.print ("Zemepisná dĺžka:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // oneskorenie pripojenia} oneskorenie (50 000); }

Krok 4: Finálny kód Arduino

Nasledujúci kód Arduino zisťuje polohu ISS na presunutie lasera na správne miesto na zemskom povrchu a zisťovanie polohy slnka na rozsvietenie príslušných neopixelov na rozsvietenie dotyku slnka na povrchu Zeme.

Bonus 1: Keď je lampa zapnutá, počas fázy inicializácie laser nasmeruje polohu žiarovky (id: poloha, kde je smerovač)

Bonus 2: Keď je ISS vedľa umiestnenia žiarovky (+/- 2 ° dlhé a +/- 2 ° lat.), Všetky Neopixely jemne žmurknú

Krok 5: Užite si svoj ISS Tracker

Vyrobili ste sledovaciu lampu ISS, užívajte si!

Súťaž prvého autora
Súťaž prvého autora
Súťaž prvého autora
Súťaž prvého autora

Prvá cena v Prvej autorskej súťaži

Odporúča: