Wenn Sie genau wissen möchten, wo sich die ISS (Internationale Raumstation) derzeit befindet, dann ist dieses Projekt genau das Richtige für Sie.
Im Inneren des Geräts befinden sich zwei Schrittmotoren, die die Position des Lasers steuern. Die Beleuchtung des Teils der Erde, auf den die Sonnenstrahlen fallen, wird ebenfalls implementiert.
Werkzeuge und Materialien:
-3D-gedruckte Erde mit einem Durchmesser von 18 cm;
-3D Drucker;
-Kupferrohr;
-Betonfliese;
-Wemos D1 Mini-Modul mit Wi-Fi;
- Servoantrieb EMAX ES3352 MG;
-Schrittmotor 28BYJ-48 mit Treiberplatine ULN2003;
-10 LEDs NeoPixel;
-Laser mit einer Wellenlänge von 405 nm;
- Endschalter;
- Stromversorgung 5V 3A;
Erster Schritt: 3D-Druck
Um alle Geräte zusammenzubauen, müssen Sie die Details des Rahmens drucken. Sie können Dateien zum Drucken herunterladen hier.
Der Rahmen besteht aus drei Teilen:
-Basis - zur Montage eines Schrittmotors, eines WEMOS, eines Neopixel-Bandes und eines Kupferrohrs.
- der Mittelteil zur Installation des Endschalters;
- Der obere Teil dient zur Montage eines Servomotors.
Schritt zwei: Verbinden und erstellen
Für die Stromversorgung wird eine Spannung von 5V 3A geliefert. Der Steuertreiber, der Laser, die LEDs und das Wemos-Modul werden über den Anschluss mit Strom versorgt.
Als nächstes müssen Sie eine Verbindung zu Wemos herstellen:
1) Schrittfahrer
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Datenservostift -> D1
3) LEDs
Neopixel Pin -> D2
4) Endschalter
Zwei Schaltstifte an GND und D3
Schritt drei: Code
Damit sich zwei Motoren synchron mit der ISS bewegen können, müssen Sie die Position der ISS in Echtzeit ermitteln:
Dazu verwenden wir zunächst die API von Öffnen Sie hier benachrichtigen
Anschließend müssen Sie die Daten analysieren, um den ISS-Standortwert mithilfe der Datenanalyse zu erhalten: ArduinoJson Bibliothek
#include 0) {// Parsing
const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100;
DynamicJsonBuffer jsonBuffer (bufferSize);
JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parameter
const char * message = root ["message"];
const char * lon = root ["iss_position"] ["longitude"];
const char * lat = root ["iss_position"] ["Latitude"]; // Ausgabe an seriellen Monitor
Serial.print ("Nachricht:");
Serial.println (Nachricht);
Serial.print ("Longitude:");
Serial.println (lon);
Serial.print ("Latitude:");
Serial.println (lat);
}}
http.end (); // Verbindung schließen
}}
Verzögerung (50000);
}}
Folgender Code Arduino Mit dieser Option können Sie den Standort der ISS ermitteln, um den Laser an den gewünschten Ort auf der Erdoberfläche zu bewegen, und den Standort der Sonne ermitteln, um die entsprechenden LEDs auf der Erdoberfläche zu beleuchten, die von der Sonne beleuchtet werden.
ISS_Tracker_Final.ino
Alles ist fertig.