Innehållsförteckning:

ISS -spårningslampa: 5 steg (med bilder)
ISS -spårningslampa: 5 steg (med bilder)

Video: ISS -spårningslampa: 5 steg (med bilder)

Video: ISS -spårningslampa: 5 steg (med bilder)
Video: Positionera ditt varumärke i 5 steg 2024, Juli
Anonim
ISS spårningslampa
ISS spårningslampa
ISS spårningslampa
ISS spårningslampa

För det mesta undrar jag var ISS tittar upp mot himlen. För att svara på den här frågan har jag gjort ett fysiskt objekt för att veta exakt var ISS är i realtid.

ISS -spårningslampan är en internetansluten lampa som ständigt spårar ISS och visar platsen på jordens yta (tryckt i 3D).

Bonus: lampan visar också solens sida med Neopixels! ??

Så i denna instruktion kommer vi att se de olika stegen för att bygga denna lampa baserad på WEMOS D1 Mini, stegmotor, servomotor, laser och 3D -delar.

Jag bygger helt själv, förutom den 3D -tryckta jorden, som köptes på Aliexpress.

Programvara:

  • Arduino -baserad kod
  • API ISS -plats: Öppna meddelande - Nuvarande plats för ISS (av Nathan Bergey)
  • Parsningsdata: ArduinoJson Library (av Benoit Blanchon)

CAD & delar:

  • 3D -tryckt jord med 18 cm diameter (köpt på Aliexpress: här)
  • 3D -tryckta motorstöd - designad med Fusion 360 och tryckt med Prusa i3 MK2S
  • Kopparrör
  • Betongbas, gjord med The French Vikings

Hårdvara:

  • Mikrokontroller: Wemos D1 Mini (integrerad wifi -antenn)
  • Servo EMAX ES3352 MG
  • Stegmotor 28byj-48 (med ULN2003-drivrutinen)
  • 10 NeoPixels LED
  • Laser med en våglängd på 405 nm
  • Gränslägesbrytare
  • 5V 3A strömförsörjning

Steg 1: Modellering av delar i Fusion 360 och utskrift

Modellering av delar i Fusion 360 och utskrift
Modellering av delar i Fusion 360 och utskrift
Modellering av delar i Fusion 360 och utskrift
Modellering av delar i Fusion 360 och utskrift
Modellering av delar i Fusion 360 och utskrift
Modellering av delar i Fusion 360 och utskrift

För att montera all hårdvara kommer vi att skapa kärnmonteringsbasen på 3D -delar. Delarna finns tillgängliga på Thingiverse här.

Det finns 3 delar:

1) Support Stepper Longitude

Denna del är gjord för montering av stegmotorn, WEMOS, Neopixels -remsan och kopparröret

2) Supportbrytaren

Denna del är gjord för montering av gränslägesbrytaren (använd för att ange steget latitud -0 °/-180 °). Det är skruvat på toppen av steget

3) Support Servo Latitude

Denna del är gjord för montering av servomotorn. Support Servo är monterad på stegmotorn

Alla delar trycktes på Prusa I3 MK2S, med svart PETG -filament

Steg 2: Kabeldragning och montering

Kabeldragning och montering
Kabeldragning och montering
Kabeldragning och montering
Kabeldragning och montering

Denna krets kommer att ha en 5V 3A effektingång (för att kunna använda samma matning för stegdrivrutinen, lasern, neopixlarna och WEMOS)

Med följande skiss måste vi löda strömförsörjningen direkt till elementen ovan parallellt:

  • Stepper Driver
  • Laser
  • Neopixelsremsa (OBS: det finns 10 Neopixels i verkligheten, inte 8 som skissen visar)
  • WEMOS

Därefter måste vi ansluta de olika elementen till WEMOS:

1) Stepper -drivrutinen enligt denna lista:

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

2) Servomotorn följer:

Dataservostift -> D1

3) Neopixels -remsan följer:

Data Neopixels Pin -> D2

4) Gränslägesbrytaren följer:

Brytarens två stift till GND och D3

Anslut gränslägesbrytaren så att kretsen öppnas/går sönder när vi trycker på omkopplaren (så kretsen stängs när inget trycker på den). Detta för att undvika fel föreläsning på grund av en spänningstopp.

Steg 3: Arduino -kod - Få ISS -positionen i realtid

För att köra de två motorerna för att nå positionen för ISS måste vi få positionen för ISS i realtid:

  • För det första kommer vi att använda API: et från Open Notify Here
  • Sedan måste vi analysera data för att få ett enkelt värde för ISS -platsen med hjälp 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"; void setup () {Serial.begin (115200); WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (1000); Serial.println ("Ansluter …"); }}

Detta program ansluter NodeMCU till WiFi, ansluter sedan till API: et, hämtar data och skriver ut det seriellt.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Kontrollera WiFi -status {HTTPClient http; // Objekt i klassen HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Kontrollera returkoden om (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 ()); // Parametrar const char* meddelande = root ["meddelande"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["latitude"]; // Utmatning till seriell bildskärm Serial.print ("Meddelande:"); Serial.println (meddelande); Serial.print ("Longitud:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // Stäng anslutning} fördröjning (50000); }

Steg 4: Slutlig Arduino -kod

Följande Arduino -kod får ISS -platsen att flytta lasern till rätt plats på jordens yta och få solens position att lysa upp de berörda neopixlarna för att lysa upp ytan på jorden som berörs av solen.

Bonus 1: När lampan är påslagen, under initialiseringsfasen, kommer lasern att rikta lampans position (id: positionen där routern är)

Bonus 2: När ISS ligger bredvid lampans plats (+/- 2 ° lång. Och +/- 2 ° lat.) Blinkar alla Neopixels försiktigt

Steg 5: Njut av din ISS -spårare

Du har gjort en ISS -spårningslampa, njut!

Författartävling för första gången
Författartävling för första gången
Författartävling för första gången
Författartävling för första gången

Första pris i författartävlingen för första gången

Rekommenderad: