Om du är intresserad av var ISS (International Space Station) befinner sig just nu är detta projekt för dig.
Inuti enheten finns två stegmotorer som styr laserns läge. Belysningen av den del av jorden som solstrålarna faller på genomförs också.
Verktyg och material:
-3D-tryckt jord med en diameter på 18 cm;
-3D-skrivare;
-Kopparrör;
-Betongplattor;
-Wemos D1 Mini-modul med Wi-Fi;
- Servomotor EMAX ES3352 MG;
-Stegmotor 28BYJ-48 med drivkort ULN2003;
-10 lysdioder NeoPixels;
-Laser med en våglängd 405 nm;
- Gränslägesbrytare;
- Strömförsörjning 5V 3A;
Steg ett: 3D-utskrift
För att montera all utrustning måste du skriva ut ramens detaljer. Du kan ladda ner filer för utskrift här.
Ramen har tre delar:
-bas - för montering av en stegmotor, WEMOS, Neopixels tejp och kopparrör.
- den mellersta delen för installation av gränslägesbrytaren;
- Den övre delen är för montering av servomotor.
Steg två: Anslut och bygg
För ström kommer en spänning på 5V 3A att levereras. Ström matas från anslutningen till stegdrivrutinen, laser, lysdioder och Wemos-modulen.
Nästa måste du ansluta till Wemos:
1) Stegdrivrutin
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Dataservo Pin -> D1
3) lysdioder
Neopixels Pin -> D2
4) Gränslägesbrytare
Två växelstift på GND och D3
Steg tre: kod
För att två motorer ska röra sig synkront med ISS måste du få ISS-positionen i realtid:
För att göra detta kommer vi först att använda API: n från Öppna meddelandet här
Sedan måste du analysera data för att få ISS-platsvärdet med hjälp av dataanalys: ArduinoJson Library
#include 0) {// Parsing
const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100;
DynamicJsonBuffer jsonBuffer (buffertstorlek);
JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametrar
const char * meddelande = root ["meddelande"];
const char * lon = root ["utf_position"] ["longitude"];
const char * lat = root ["iss_position"] ["latitude"]; // Utgång 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 anslutningen
}
fördröjning (50000);
}
Följande kod Arduino låter dig få platsen för ISS för att flytta lasern till önskad plats på jordens yta och få solens position för att belysa motsvarande lysdioder på jordens yta, upplyst av solen.
ISS_Tracker_Final.ino
Allt är klart.