Pokud vás zajímá, kde přesně se nachází ISS (Mezinárodní kosmická stanice), pak je tento projekt pro vás.
Uvnitř zařízení jsou dva krokové motory, které řídí polohu laseru. Je také realizováno osvětlení té části Země, na kterou dopadají sluneční paprsky.
Nářadí a materiály:
-3D-potištěná Země o průměru 18 cm;
-3D tiskárna;
-Trhací trubice;
- betonová deska;
-Wemos D1 Mini modul s Wi-Fi;
- Servopohon EMAX ES3352 MG;
-Step engine 28BYJ-48 s deskou řidiče ULN2003;
-10 LED NeoPixels;
-Laser s vlnovou délkou 405 nm;
- koncový spínač;
- napájení 5V 3A;
Krok 1: 3D tisk
Chcete-li sestavit veškeré zařízení, musíte vytisknout podrobnosti o rámu. Můžete si stáhnout soubory pro tisk zde.
Rám má tři části:
-base - pro montáž krokového motoru, WEMOS, pásky Neopixels a měděné trubice.
- střední část pro instalaci koncového spínače;
- Horní část slouží k montáži servomotoru.
Krok 2: Připojte se a sestavte
Pro napájení bude dodáno napětí 5V 3A. Napájení je zajištěno z konektoru do krokového ovladače, laseru, LED a modulu Wemos.
Dále se musíte připojit k Wemosu:
1) Krokový ovladač
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Datový servo pin -> D1
3) LED diody
Neopixels Pin -> D2
4) Koncový spínač
Dva spínací kolíky na GND a D3
Krok 3: Kód
Aby se dva motory pohybovaly synchronně s ISS, musíte získat pozici ISS v reálném čase:
Nejprve použijeme API z Otevřít oznámení zde
Pak je třeba analyzovat data, abyste získali hodnotu umístění ISS pomocí analýzy dat: Knihovna ArduinoJson
#include 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"] ["longitude"];
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 („Délka:“);
Serial.println (lon);
Serial.print („Latitude:“);
Serial.println (lat);
}
http.end (); // Zavřít spojení
}
zpoždění (50000);
}
Následující kód Arduino umožňuje získat polohu ISS pro přesun laseru na požadované místo na zemském povrchu a získat polohu Slunce pro rozsvícení odpovídajících LED na zemském povrchu, osvětlených Sluncem.
ISS_Tracker_Final.ino
Všechno je připraveno.