Als je geïnteresseerd bent waar precies op het moment dat het ISS (International Space Station) zich bevindt, dan is dit project iets voor jou.
In het apparaat zitten twee stappenmotoren die de positie van de laser regelen. De verlichting van dat deel van de aarde waarop de zonnestralen vallen, wordt ook geïmplementeerd.
Gereedschap en materialen:
-3D-geprinte aarde met een diameter van 18 cm;
-3D-printer;
-Koperen buis;
-Concrete tegel;
-Wemos D1 Mini-module met Wi-Fi;
- Servo-aandrijving EMAX ES3352 MG;
-Stapmotor 28BYJ-48 met bestuurdersbord ULN2003;
-10 LED's NeoPixels;
-Laser met een golflengte van 405 nm;
- Eindschakelaar;
- Voeding 5V 3A;
Stap één: 3D-printen
Om alle apparatuur te monteren, moet u de details van het frame afdrukken. U kunt bestanden downloaden om af te drukken hier.
Het frame bestaat uit drie delen:
-basis - voor montage van een stappenmotor, WEMOS, Neopixels-tape en koperen buis.
- het middelste gedeelte voor het installeren van de eindschakelaar;
- Het bovenste deel is voor montage van een servomotor.
Stap twee: verbinden en bouwen
Voor stroom wordt een spanning van 5V 3A geleverd. De voeding wordt geleverd vanaf de connector naar de step driver, laser, LED's en de Wemos-module.
Vervolgens moet u verbinding maken met Wemos:
1) Stapstuurprogramma
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Data Servo Pin -> D1
3) LED's
Neopixels-pin -> D2
4) Eindschakelaar
Twee schakelpinnen op GND en D3
Stap drie: Code
Om twee motoren synchroon met het ISS te laten bewegen, moet u de positie van het ISS in realtime verkrijgen:
Hiervoor gebruiken we eerst de API van Open hier melden
Vervolgens moet u de gegevens analyseren om de ISS-locatiewaarde te krijgen met behulp van gegevensanalyse: ArduinoJson Bibliotheek
#include 0) {// Parseren
const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100;
DynamicJsonBuffer jsonBuffer (bufferSize);
JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parameters
const char * message = root ["message"];
const char * lon = root ["iss_position"] ["longitude"];
const char * lat = root ["iss_position"] ["latitude"]; // Uitvoer naar seriële monitor
Serial.print ("Bericht:");
Serial.println (bericht);
Serial.print ("Longitude:");
Serial.println (lon);
Serial.print ("Latitude:");
Serial.println (lat);
}
http.end (); // Nauwe verbinding
}
vertraging (50000);
}
Volgende code Arduino stelt u in staat om de locatie van het ISS te bepalen om de laser naar de gewenste locatie op het aardoppervlak te verplaatsen en om de positie van de zon te verkrijgen om de overeenkomstige LED's op het aardoppervlak te verlichten, verlicht door de zon.
ISS_Tracker_Final.ino
Alles is klaar.