Obsah:

Sledovací lampa ISS: 5 kroků (s obrázky)
Sledovací lampa ISS: 5 kroků (s obrázky)

Video: Sledovací lampa ISS: 5 kroků (s obrázky)

Video: Sledovací lampa ISS: 5 kroků (s obrázky)
Video: Elektrický pohon pro brány z obyčejného potrubí !!! 2024, Červenec
Anonim
Sledovací lampa ISS
Sledovací lampa ISS
Sledovací lampa ISS
Sledovací lampa ISS

Většinu času přemýšlím, kde ISS hledí na oblohu. Abych odpověděl na tuto otázku, vytvořil jsem fyzický objekt, abych přesně věděl, kde je ISS v reálném čase.

Sledovací lampa ISS je lampa připojená k internetu, která neustále sleduje ISS a zobrazuje její polohu na zemském povrchu (vytištěno ve 3D).

Bonus: lampa také zobrazuje slunečnou stranu Země s Neopixely! ??

V tomto návodu se tedy budeme zabývat různými kroky při stavbě této lampy na základě WEMOS D1 Mini, krokového motoru, servomotoru, laseru a 3D dílů.

Stavím úplně sám, kromě 3D tištěné Země, která byla zakoupena na Aliexpressu.

Software:

  • Kód založený na Arduinu
  • Umístění API ISS: Otevřít oznámení - aktuální poloha ISS (Nathan Bergey)
  • Analýza dat: ArduinoJson Library (od Benoit Blanchon)

CAD a díly:

  • 3D vytištěná Země o průměru 18 cm (zakoupeno na Aliexpress: zde)
  • Podporuje 3D tištěný motor - navržený s Fusion 360 a tištěný s Prusa i3 MK2S
  • Měděná trubka
  • Betonový základ, vyrobený s francouzskými Vikingy

Hardware:

  • Mikrokontrolér: Wemos D1 Mini (integrovaná wifi anténa)
  • Servo EMAX ES3352 MG
  • Krokový motor 28byj-48 (s deskou ovladače ULN2003)
  • 10 LED diod NeoPixels
  • Laser o vlnové délce 405 nm
  • Koncový spínač
  • Napájení 5V 3A

Krok 1: Modelování dílů ve Fusion 360 a tisk

Modelování dílů ve Fusion 360 a tisk
Modelování dílů ve Fusion 360 a tisk
Modelování dílů ve Fusion 360 a tisk
Modelování dílů ve Fusion 360 a tisk
Modelování dílů ve Fusion 360 a tisk
Modelování dílů ve Fusion 360 a tisk

Pro připojení veškerého hardwaru vytvoříme základnu sestavy jádra na 3D dílech. Díly jsou k dispozici na Thingiverse zde.

K dispozici jsou 3 části:

1) Zeměpisná délka stepperu

Tato část je vyrobena pro montáž krokového motoru, WEMOS, pásu Neopixels a měděné trubky

2) Přepínač podpory

Tato část je vyrobena pro montáž koncového spínače (použijte k označení stepperu zeměpisné šířky -0 °/-180 °). Je našroubovaný na horní části stepperu

3) Servo Latitude podpory

Tato část je určena pro montáž servomotoru. Servo podpory je namontováno na krokovém motoru

Všechny díly byly vytištěny na Prusa I3 MK2S, s černým PETG filamentem

Krok 2: Zapojení a montáž

Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž

Tento obvod bude mít 5V 3A napájení (aby bylo možné použít stejné napájení pro krokový ovladač, laser, Neopixely a WEMOS)

Podle následujícího náčrtu musíme paralelně připájet napájecí zdroj přímo k výše uvedeným prvkům:

  • Krokový ovladač
  • Laser
  • Pruh Neopixelů (Pozn.: ve skutečnosti je 10 Neopixelů, ne 8, jak ukazuje skica)
  • WEMOS

Dále musíme připojit různé prvky k WEMOS:

1) Krokový ovladač podle tohoto seznamu:

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

2) Servomotor následující:

Datový servo pin -> D1

3) Následující pruh Neopixelů:

Pin datových neopixelů -> D2

4) Koncový spínač následující:

Dva piny přepínače na GND a D3

Připojte koncový spínač tak, aby se obvod při stisknutí spínače rozpojil/přerušil (obvod se tedy uzavře, když na něj nic netlačíte). To má zabránit jakékoli špatné přednášce kvůli špičce napětí.

Krok 3: Arduino kód - získání pozice ISS v reálném čase

Abychom poháněli dva motory, abychom dosáhli polohy ISS, potřebujeme zjistit polohu ISS v reálném čase:

  • Nejprve použijeme API z Open Notify Here
  • Poté musíme data analyzovat, abychom získali jednoduchou hodnotu umístění ISS pomocí analýzy dat: Knihovna ArduinoJson (od Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametry WiFi const char* ssid = "XXXXX"; const char* heslo = "XXXXX"; neplatné nastavení () {Serial.begin (115200); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (1000); Serial.println ("Připojování …"); }}

Tento program připojí NodeMCU k WiFi, poté se připojí k API, získá data a vytiskne je sériově.

prázdná smyčka () {

if (WiFi.status () == WL_CONNECTED) // Kontrola stavu WiFi {HTTPClient http; // Objekt třídy HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Zkontrolujte vracející se kód, pokud (httpCode> 0) {// Parsování const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametry const char* message = root ["message"]; const char* lon = root ["iss_position"] ["zeměpisná délka"]; const char* lat = root ["iss_position"] ["zeměpisná šířka"]; // Výstup na sériový monitor Serial.print ("Zpráva:"); Serial.println (zpráva); Serial.print ("Zeměpisná délka:"); Serial.println (dlouho); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // zavření připojení} zpoždění (50 000); }

Krok 4: Konečný kód Arduino

Následující kód Arduino získá umístění ISS pro přesun laseru na správné místo na zemském povrchu a získání polohy slunce pro rozsvícení příslušných Neopixelů pro rozsvícení povrchu Země dotykem slunce.

Bonus 1: Když je lampa zapnutá, během fáze inicializace bude laser ukazovat polohu lampy (id: poloha, kde je router)

Bonus 2: Když je ISS vedle umístění lampy (+/- 2 ° dlouhé a +/- 2 ° lat.), Všechny Neopixely jemně mrknou

Krok 5: Užijte si svůj ISS Tracker

Vyrobili jste sledovací lampu ISS, užijte si to!

První autorská soutěž
První autorská soutěž
První autorská soutěž
První autorská soutěž

První cena v soutěži autorů poprvé

Doporučuje: