Sommario:

Lampada di localizzazione ISS: 5 passaggi (con immagini)
Lampada di localizzazione ISS: 5 passaggi (con immagini)

Video: Lampada di localizzazione ISS: 5 passaggi (con immagini)

Video: Lampada di localizzazione ISS: 5 passaggi (con immagini)
Video: E SE UN ASTEROIDE COLPISSE ROMA? 2024, Luglio
Anonim
Lampada di localizzazione ISS
Lampada di localizzazione ISS
Lampada di localizzazione ISS
Lampada di localizzazione ISS

La maggior parte delle volte, mi chiedo dove sia la ISS che guarda in alto nel cielo. Per rispondere a questa domanda, ho creato un oggetto fisico per sapere esattamente dove si trova la ISS in tempo reale.

La ISS Tracking Lamp è una lampada connessa a Internet che traccia costantemente la ISS e ne visualizza la posizione sulla superficie terrestre (stampata in 3D).

Bonus: la lampada mostra anche il lato soleggiato della Terra con Neopixel!??

Quindi, in questo Instructables, vedremo i diversi passaggi per costruire questa lampada basata su WEMOS D1 Mini, motore passo-passo, servomotore, laser e parti 3D.

Costruisco tutto da solo, tranne la Terra stampata in 3D, che è stata acquistata su Aliexpress.

Software:

  • Codice basato su Arduino
  • Posizione API ISS: Open Notify - Posizione attuale della ISS (di Nathan Bergey)
  • Analisi dei dati: libreria ArduinoJson (di Benoit Blanchon)

CAD e parti:

  • Terra stampata in 3D di 18 cm di diametro (acquistata su Aliexpress: qui)
  • Supporti motore stampati in 3D - progettati con Fusion 360 e stampati con Prusa i3 MK2S
  • Tubo di rame
  • Base in cemento, realizzata con The French Vikings

Hardware:

  • Microcontrollore: Wemos D1 Mini (antenna wifi integrata)
  • Servo EMAX ES3352 MG
  • Motore passo-passo 28byj-48 (con la scheda driver ULN2003)
  • 10 NeoPixel LED
  • Laser con lunghezza d'onda di 405 nm
  • Finecorsa
  • Alimentatore 5V 3A

Passaggio 1: modellazione delle parti in Fusion 360 e stampa

Modellazione di parti in Fusion 360 e stampa
Modellazione di parti in Fusion 360 e stampa
Modellazione di parti in Fusion 360 e stampa
Modellazione di parti in Fusion 360 e stampa
Modellazione di parti in Fusion 360 e stampa
Modellazione di parti in Fusion 360 e stampa

Per montare tutto l'hardware, creeremo la base di assemblaggio principale su parti 3D. Le parti sono disponibili su Thingiverse qui.

Ci sono 3 parti:

1) La longitudine dello stepper di supporto

Questa parte è realizzata per montare il motore passo-passo, il WEMOS, la striscia Neopixels e il tubo di rame

2) L'interruttore di supporto

Questa parte è realizzata per il montaggio del finecorsa (utilizzare per indicare allo stepper la latitudine -0°/-180°). È avvitato sulla parte superiore dello stepper

3) Il supporto servo latitudine

Questa parte è realizzata per il montaggio del servomotore. Il Support Servo è montato sul motore passo-passo

Tutte le parti sono state stampate su Prusa I3 MK2S, con filamento PETG nero

Passaggio 2: cablaggio e assemblaggio

Cablaggio e assemblaggio
Cablaggio e assemblaggio
Cablaggio e assemblaggio
Cablaggio e assemblaggio

Questo circuito avrà un ingresso di alimentazione 5V 3A (in modo da utilizzare la stessa alimentazione per lo stepper driver, il laser, i Neopixel e il WEMOS)

Con il seguente schizzo, dobbiamo saldare l'alimentatore direttamente agli elementi sopra in parallelo:

  • Driver passo-passo
  • Laser
  • Striscia di Neopixel (NB: ci sono 10 Neopixel in realtà, non 8 come mostra lo schizzo)
  • WEMOS

Successivamente, dobbiamo collegare i diversi elementi al WEMOS:

1) Il driver stepper che segue questo elenco:

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

2) Il servomotore che segue:

Pin servo dati -> D1

3) La striscia di Neopixel che segue:

Dati Neopixel Pin -> D2

4) Il finecorsa seguente:

I due pin dell'interruttore a GND e D3

Collegare il finecorsa in modo che il circuito sia aperto/interrotto quando si preme l'interruttore (quindi il circuito è chiuso quando non viene premuto nulla). Questo per evitare qualsiasi lezione errata a causa di un picco di tensione.

Passaggio 3: codice Arduino: ottenere la posizione della ISS in tempo reale

Per guidare i due motori per raggiungere la posizione della ISS, abbiamo bisogno di ottenere la posizione della ISS in tempo reale:

  • Per prima cosa utilizzeremo l'API di Open Notify Here
  • Quindi, dobbiamo analizzare i dati per ottenere un valore semplice della posizione della ISS con l'aiuto di Parsing data: ArduinoJson Library (di Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametri WiFi const char* ssid = "XXXXX"; const char* password = "XXXXX"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status()!= WL_CONNECTED) { ritardo(1000); Serial.println("Connessione in corso…"); } }

Questo programma collega il NodeMCU al WiFi, quindi si connette all'API, ottiene i dati e li stampa via seriale.

ciclo vuoto() {

if (WiFi.status() == WL_CONNECTED) // Controlla lo stato WiFi {HTTPClient http; //Oggetto della classe HTTPClient http.begin("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET(); //Controlla il codice restituito 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()); // Parametri const char* messaggio = root["messaggio"]; const char* lon = root["iss_position"]["longitudine"]; const char* lat = root["iss_position"]["latitude"]; // Uscita sul monitor seriale Serial.print("Message:"); Serial.println(messaggio); Serial.print("Longitudine: "); Serial.println(lon); Serial.print("Latitudine: "); Serial.println(lat); } http.end(); //Chiudi connessione } delay(50000); }

Passaggio 4: codice Arduino finale

Il seguente codice Arduino ottiene la posizione della ISS per spostare il laser nel punto giusto sulla superficie terrestre e ottenere la posizione del sole per illuminare i Neopixel interessati per illuminare la superficie della Terra toccata dal sole.

Bonus 1: All'accensione della lampada, durante la fase di inizializzazione, il laser indicherà la posizione della lampada (id: la posizione in cui si trova il router)

Bonus 2: quando l'ISS è vicino alla posizione della lampada (+/- 2° long. e +/-2° lat.), tutti i Neopixel ammiccheranno dolcemente

Passaggio 5: goditi il tuo tracker ISS

Hai realizzato una lampada di localizzazione ISS, divertiti!

Concorso per autori per la prima volta
Concorso per autori per la prima volta
Concorso per autori per la prima volta
Concorso per autori per la prima volta

Primo premio al concorso per autori per la prima volta

Consigliato: