Indholdsfortegnelse:

ISS Tracking Lampe: 5 trin (med billeder)
ISS Tracking Lampe: 5 trin (med billeder)

Video: ISS Tracking Lampe: 5 trin (med billeder)

Video: ISS Tracking Lampe: 5 trin (med billeder)
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, November
Anonim
ISS sporingslampe
ISS sporingslampe
ISS sporingslampe
ISS sporingslampe

Det meste af tiden undrer jeg mig over, hvor ISS kigger op i himlen. For at besvare dette spørgsmål har jeg lavet et fysisk objekt til at vide præcis, hvor ISS er i realtid.

ISS -sporingslampen er en internetforbundet lampe, der konstant sporer ISS og viser placeringen på jordens overflade (trykt i 3D).

Bonus: lampen viser også solens side med Neopixels! ??

Så i denne instruktion vil vi se de forskellige trin til at bygge denne lampe baseret på WEMOS D1 Mini, trinmotor, servomotor, laser og 3D -dele.

Jeg bygger helt selv, bortset fra den 3D -printede jord, som blev købt på Aliexpress.

Software:

  • Arduino -baseret kode
  • API ISS Location: Open Notify - Nuværende placering af ISS (af Nathan Bergey)
  • Parsedata: ArduinoJson Library (af Benoit Blanchon)

CAD & Dele:

  • 3D -trykt jord med en diameter på 18 cm (købt på Aliexpress: her)
  • 3D -printede motorstøtter - designet med Fusion 360 og trykt med Prusa i3 MK2S
  • Kobberrør
  • Betonbase, lavet med de franske vikinger

Hardware:

  • Mikrocontroller: Wemos D1 Mini (integreret wifi -antenne)
  • Servo EMAX ES3352 MG
  • Stepper Motor 28byj-48 (med ULN2003 driverkort)
  • 10 NeoPixels LED
  • Laser med en bølgelængde på 405 nm
  • Grænsekontakt
  • 5V 3A strømforsyning

Trin 1: Modellering af dele i Fusion 360 og udskrivning

Modellering af dele i Fusion 360 og udskrivning
Modellering af dele i Fusion 360 og udskrivning
Modellering af dele i Fusion 360 og udskrivning
Modellering af dele i Fusion 360 og udskrivning
Modellering af dele i Fusion 360 og udskrivning
Modellering af dele i Fusion 360 og udskrivning

For at montere al hardwaren skal vi oprette kernemontagebasen på 3D -dele. Delene er tilgængelige på Thingiverse her.

Der er 3 dele:

1) Support Stepper Longitude

Denne del er lavet til montering af trinmotoren, WEMOS, Neopixels -båndet og kobberrøret

2) Supportkontakten

Denne del er beregnet til montering af grænsekontakten (brug til at angive stepper bredden -0 °/-180 °). Det er skruet på toppen af stepper

3) Support Servo Latitude

Denne del er lavet til montering af servomotoren. Support Servo er monteret på trinmotoren

Alle delene blev trykt på Prusa I3 MK2S, med sort PETG -filament

Trin 2: Ledningsføring og samling

Ledninger og samling
Ledninger og samling
Ledninger og samling
Ledninger og samling

Dette kredsløb vil have en 5V 3A strømindgang (for at bruge den samme forsyning til stepper driveren, laseren, Neopixels og WEMOS)

Ved følgende skitse skal vi lodde strømforsyningen direkte til elementerne ovenfor parallelt:

  • Stepper Driver
  • Laser
  • Neopixels strip (NB: der er 10 Neopixels i virkeligheden, ikke 8 som skitsen viser)
  • WEMOS

Dernæst skal vi forbinde de forskellige elementer med WEMOS:

1) Stepper driveren efter denne liste:

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

2) Servomotoren følgende:

Data Servo Pin -> D1

3) Neopixels strimler efter:

Data Neopixels Pin -> D2

4) Grænsekontakten følger:

Omskifterens to ben til GND og D3

Tilslut grænsekontakten på en måde, så kredsløbet åbnes/går i stykker, når vi trykker på kontakten (så kredsløbet lukkes, når intet skubber på det). Dette er for at undgå enhver forkert forelæsning på grund af en spændingstop.

Trin 3: Arduino -kode - Få ISS -positionen i realtid

For at drive de to motorer til at nå positionen for ISS skal vi få ISS's position i realtid:

  • Til det første vil vi bruge API'en fra Open Notify Here
  • Derefter skal vi analysere dataene for at få en enkel værdi af ISS -placeringen ved hjælp af Parsing -data: ArduinoJson Library (af Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parameters const char* ssid = "XXXXX"; const char* password = "XXXXX"; ugyldig opsætning () {Serial.begin (115200); WiFi.begin (ssid, adgangskode); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (1000); Serial.println ("Tilslutter …"); }}

Dette program forbinder NodeMCU til WiFi, derefter opretter forbindelse til API'en, henter dataene og udskriver det til serielt.

void loop () {

hvis (WiFi.status () == WL_CONNECTED) // Kontroller WiFi -status {HTTPClient http; // Objekt i klassen HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Kontroller den returnerende kode, hvis (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 ()); // Parametre const char* message = root ["meddelelse"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["breddegrad"]; // Output til seriel skærm Serial.print ("Besked:"); Serial.println (besked); Serial.print ("Længdegrad:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // Luk forbindelse} forsinkelse (50000); }

Trin 4: Endelig Arduino -kode

Den følgende Arduino -kode får ISS -placeringen til at flytte laseren til det rigtige sted på jordens overflade, og få solens position til at tænde de pågældende neopixler for at lyse op på overfladen af jorden, der rører ved solen.

Bonus 1: Når lampen er tændt, under initialiseringsfasen, vil laseren pege lampens position (id: den position, hvor routeren er)

Bonus 2: Når ISS er ved siden af lampens placering (+/- 2 ° lang. Og +/- 2 ° lat.), Vil alle Neopixels blinke blidt

Trin 5: Nyd din ISS Tracker

Du har lavet en ISS Tracking Lamp, nyd det!

Første gang forfatterkonkurrence
Første gang forfatterkonkurrence
Første gang forfatterkonkurrence
Første gang forfatterkonkurrence

Førstepræmie i første gang forfatterkonkurrence

Anbefalede: