Inhaltsverzeichnis:

ISS-Tracking-Lampe - Gunook
ISS-Tracking-Lampe - Gunook

Video: ISS-Tracking-Lampe - Gunook

Video: ISS-Tracking-Lampe - Gunook
Video: Dr. Nathan Furey- Migratory fishes: a primer 2024, November
Anonim
ISS-Tracking-Lampe
ISS-Tracking-Lampe
ISS-Tracking-Lampe
ISS-Tracking-Lampe

Die meiste Zeit frage ich mich, wo die ISS in den Himmel schaut. Um diese Frage zu beantworten, habe ich ein physisches Objekt erstellt, um in Echtzeit genau zu wissen, wo sich die ISS befindet.

Die ISS Tracking Lamp ist eine mit dem Internet verbundene Lampe, die die ISS ständig verfolgt und ihren Standort auf der Erdoberfläche anzeigt (in 3D gedruckt).

Bonus: Die Lampe zeigt auch die Sonnenseite der Erde mit Neopixeln!??

Also, in diesem Instructables werden wir die verschiedenen Schritte sehen, um diese Lampe basierend auf WEMOS D1 Mini, Schrittmotor, Servomotor, Laser und 3D-Teilen zu bauen.

Ich baue alles selbst, bis auf die 3D-gedruckte Erde, die bei Aliexpress gekauft wurde.

Software:

  • Arduino-basierter Code
  • API ISS Location: Open Notify - Aktueller Standort der ISS (von Nathan Bergey)
  • Parsing-Daten: ArduinoJson Library (von Benoit Blanchon)

CAD & Teile:

  • 3D gedruckte Erde von 18cm Durchmesser (gekauft bei Aliexpress: hier)
  • 3D-gedruckte Motorstützen – entworfen mit Fusion 360 und gedruckt mit Prusa i3 MK2S
  • Kupferrohr
  • Betonsockel, hergestellt mit den französischen Wikingern

Hardware:

  • Mikrocontroller: Wemos D1 Mini (WLAN-Antenne integriert)
  • Servo EMAX ES3352 MG
  • Schrittmotor 28byj-48 (mit der ULN2003-Treiberplatine)
  • 10 NeoPixel-LED
  • Laser mit 405 nm Wellenlänge
  • Endschalter
  • 5V 3A Netzteil

Schritt 1: Modellieren von Teilen in Fusion 360 und Drucken

Modellieren von Teilen in Fusion 360 und Drucken
Modellieren von Teilen in Fusion 360 und Drucken
Modellieren von Teilen in Fusion 360 und Drucken
Modellieren von Teilen in Fusion 360 und Drucken
Modellieren von Teilen in Fusion 360 und Drucken
Modellieren von Teilen in Fusion 360 und Drucken

Um die gesamte Hardware zu montieren, erstellen wir die Basis der Kernbaugruppe auf 3D-Teilen. Die Teile sind hier bei Thingiverse erhältlich.

Es gibt 3 Teile:

1) Der Längengrad des Support Steppers

Dieses Teil dient zur Montage des Schrittmotors, des WEMOS, des Neopixels-Streifens und des Kupferrohrs

2) Der Support-Schalter

Dieses Teil ist für die Montage des Endschalters vorgesehen (mit dem Stepper den Breitengrad -0°/-180° anzeigen). Es ist oben auf den Stepper geschraubt

3) Der Breitengrad des Unterstützungsservos

Dieses Teil dient zur Montage des Servomotors. Der Support Servo ist am Schrittmotor montiert

Alle Teile wurden auf Prusa I3 MK2S gedruckt, mit schwarzem PETG-Filament

Schritt 2: Verdrahtung und Montage

Verdrahtung und Montage
Verdrahtung und Montage
Verdrahtung und Montage
Verdrahtung und Montage

Diese Schaltung hat einen 5V 3A Stromeingang (um die gleiche Versorgung für den Schritttreiber, den Laser, die Neopixels und den WEMOS zu verwenden)

Bei der folgenden Skizze müssen wir das Netzteil direkt an die obigen Elemente parallel anlöten:

  • Schrittmotortreiber
  • Laser
  • Neopixel-Streifen (NB: in Wirklichkeit sind es 10 Neopixel, nicht 8, wie die Skizze zeigt)
  • WEMOS

Als nächstes müssen wir die verschiedenen Elemente mit dem WEMOS verbinden:

1) Der Schrittmotortreiber, der dieser Liste folgt:

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

2) Der Servomotor folgende:

Datenservo-Pin -> D1

3) Der Neopixels-Streifen folgt:

Daten Neopixel Pin -> D2

4) Der folgende Endschalter:

Die beiden Pins des Schalters auf GND und D3

Schließen Sie den Endschalter so an, dass der Stromkreis geöffnet / unterbrochen wird, wenn wir auf den Schalter drücken (so dass der Stromkreis geschlossen ist, wenn nichts darauf gedrückt wird). Dies dient dazu, eine falsche Vorlesung aufgrund einer Spannungsspitze zu vermeiden.

Schritt 3: Arduino-Code - Abrufen der ISS-Position in Echtzeit

Um die beiden Motoren anzutreiben, um die Position der ISS zu erreichen, müssen wir die Position der ISS in Echtzeit ermitteln:

  • Dafür verwenden wir zuerst die API von Open Notify Here
  • Dann müssen wir die Daten parsen, um mit Hilfe von Parsing-Daten einen einfachen Wert des ISS-Standorts zu erhalten: ArduinoJson Library (von Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WLAN-Parameter const char* ssid = "XXXXX"; const char* Passwort = "XXXXX"; Void setup () { Serial.begin (115200); WiFi.begin(ssid, Passwort); Während (WiFi.status ()! = WL_CONNECTED) { Verzögerung (1000); Serial.println("Verbindung wird hergestellt…"); } }

Dieses Programm verbindet die NodeMCU mit dem WiFi, verbindet sich dann mit der API, ruft die Daten ab und druckt sie seriell aus.

Leere Schleife () {

if (WiFi.status() == WL_CONNECTED) // WLAN-Status prüfen {HTTPClient http; //Objekt der Klasse HTTPClient http.begin("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET(); //Überprüfe den Rückgabecode if (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()); // Parameter const char* message = root["message"]; const char* lon = root["iss_position"]["longitude"]; const char* lat = root["iss_position"]["latitude"]; // Ausgabe auf seriellen Monitor Serial.print ("Nachricht:"); Serial.println (Nachricht); Serial.print ("Längengrad: "); Serial.println (lon); Serial.print ("Breite: "); Serial.println (lat); } http.ende(); //Verbindung schließen} Verzögerung (50000); }

Schritt 4: Endgültiger Arduino-Code

Der folgende Arduino-Code erhält die ISS-Position, um den Laser an die richtige Stelle auf der Erdoberfläche zu bewegen, und die Position der Sonne, um die betroffenen Neopixel zum Leuchten zu bringen, um die Oberfläche der Erdoberfläche von der Sonne zu beleuchten.

Bonus 1: Wenn die Lampe eingeschaltet ist, zeigt der Laser während der Initialisierungsphase die Position der Lampe (id: die Position, an der sich der Router befindet)

Bonus 2: Wenn sich die ISS neben der Lampenposition befindet (+/- 2° lang und +/-2° lat.), werden alle Neopixel sanft blinzeln

Schritt 5: Genießen Sie Ihren ISS-Tracker

Sie haben eine ISS-Tracking-Lampe hergestellt, viel Spaß!

Erstautoren-Wettbewerb
Erstautoren-Wettbewerb
Erstautoren-Wettbewerb
Erstautoren-Wettbewerb

Erster Preis beim Erstautorenwettbewerb