Innholdsfortegnelse:

ISS -sporingslampe: 5 trinn (med bilder)
ISS -sporingslampe: 5 trinn (med bilder)

Video: ISS -sporingslampe: 5 trinn (med bilder)

Video: ISS -sporingslampe: 5 trinn (med bilder)
Video: The Little Geranium Marbella, Restaurant 2024, November
Anonim
ISS sporingslampe
ISS sporingslampe
ISS sporingslampe
ISS sporingslampe

Mesteparten av tiden lurer jeg på hvor ISS ser opp på himmelen. For å svare på dette spørsmålet har jeg laget et fysisk objekt for å vite nøyaktig hvor ISS er i sanntid.

ISS Tracking Lamp er en Internett -tilkoblet lampe som konstant sporer ISS og viser posisjonen på jordens overflate (trykt i 3D).

Bonus: lampen viser også solsiden av jorden med Neopixels! ??

Så i denne instruksen skal vi se de forskjellige trinnene for å bygge denne lampen basert på WEMOS D1 Mini, trinnmotor, servomotor, laser og 3D -deler.

Jeg bygger helt selv, bortsett fra 3D -trykte jorden, som ble kjøpt på Aliexpress.

Programvare:

  • Arduino -basert kode
  • API ISS Location: Open Notify - Nåværende plassering av ISS (av Nathan Bergey)
  • Parsedata: ArduinoJson Library (av Benoit Blanchon)

CAD og deler:

  • 3D -trykt jord med en diameter på 18 cm (kjøpt på Aliexpress: her)
  • 3D -trykte motorstøtter - designet med Fusion 360 og trykt med Prusa i3 MK2S
  • Kobberrør
  • Betongbunn, laget med The French Vikings

Maskinvare:

  • Mikrokontroller: Wemos D1 Mini (integrert wifi -antenne)
  • Servo EMAX ES3352 MG
  • Stepper Motor 28byj-48 (med ULN2003 driverkort)
  • 10 NeoPixels LED
  • Laser på 405 nm bølgelengde
  • Grensebryter
  • 5V 3A strømforsyning

Trinn 1: Modellering av deler i Fusion 360 og utskrift

Modellering av deler i Fusion 360 og utskrift
Modellering av deler i Fusion 360 og utskrift
Modellering av deler i Fusion 360 og utskrift
Modellering av deler i Fusion 360 og utskrift
Modellering av deler i Fusion 360 og utskrift
Modellering av deler i Fusion 360 og utskrift

For å montere all maskinvaren skal vi lage kjernemontasjebasen på 3D -deler. Delene er tilgjengelige på Thingiverse her.

Det er 3 deler:

1) Støtte Stepper Longitude

Denne delen er laget for montering av trinnmotoren, WEMOS, Neopixels -stripen og kobberrøret

2) Støttebryteren

Denne delen er laget for montering av grensebryteren (bruk for å angi trinnet breddegraden -0 °/-180 °). Det er skrudd på toppen av stepper

3) Support Servo Latitude

Denne delen er laget for montering av servomotoren. Support Servo er montert på trinnmotoren

Alle delene ble trykt på Prusa I3 MK2S, med svart PETG -filament

Trinn 2: Kabling og montering

Kabling og montering
Kabling og montering
Kabling og montering
Kabling og montering

Denne kretsen vil ha en 5V 3A strøminngang (for å bruke samme forsyning for stepper -driveren, laseren, Neopixels og WEMOS)

Ved følgende skisse må vi lodde strømforsyningen direkte til elementene ovenfor parallelt:

  • Stepper Driver
  • Laser
  • Neopixels stripe (NB: det er 10 Neopixels i virkeligheten, ikke 8 som skissen viser)
  • WEMOS

Deretter må vi koble de forskjellige elementene til WEMOS:

1) Stepper driveren etter denne listen:

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

2) Servomotoren følger:

Data Servo Pin -> D1

3) Neopixels -stripen følger:

Data Neopixels Pin -> D2

4) Grensebryteren følger:

De to pinnene på bryteren til GND og D3

Koble grensebryteren på en måte at kretsen åpnes/brytes når vi trykker på bryteren (slik at kretsen er lukket når ingenting presser på den). Dette er for å unngå feil foredrag på grunn av en spenningstopp.

Trinn 3: Arduino -kode - Få ISS -posisjonen i sanntid

For å drive de to motorene for å nå posisjonen til ISS, må vi få posisjonen til ISS i sanntid:

  • For det første vil vi bruke API -en fra Open Notify Here
  • Deretter må vi analysere dataene for å få enkel verdi av ISS -plasseringen ved hjelp av Parsing -data: ArduinoJson Library (av Benoit Blanchon)

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

Dette programmet kobler NodeMCU til WiFi, og kobler deretter til API, henter dataene og skriver det ut til serielt.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Sjekk WiFi -status {HTTPClient http; // Object of class HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Kontroller returkoden 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 ()); // Parametere const char* melding = root ["melding"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["breddegrad"]; // Utgang til seriell skjerm Serial.print ("Melding:"); Serial.println (melding); Serial.print ("Lengdegrad:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // Lukk tilkobling} forsinkelse (50000); }

Trinn 4: Endelig Arduino -kode

Følgende Arduino -kode får ISS -stedet til å flytte laseren til riktig sted på jordens overflate, og få solens posisjon til å lyse opp de berørte neopiklene for å lyse opp overflaten av jorden som berøres av solen.

Bonus 1: Når lampen slås på, under initialiseringsfasen, vil laseren peke lampens posisjon (id: posisjonen der ruteren er)

Bonus 2: Når ISS er ved siden av lampens plassering (+/- 2 ° lang. Og +/- 2 ° lat.), Vil alle Neopixel blinke forsiktig

Trinn 5: Nyt ISS Tracker

Du har laget en ISS -sporingslampe, kos deg!

Første gang forfatterkonkurranse
Første gang forfatterkonkurranse
Første gang forfatterkonkurranse
Første gang forfatterkonkurranse

Førstepremie i forfatterkonkurransen for første gang

Anbefalt: