Hvis du er interesseret i nøjagtigt, hvor ISS (International Space Station) i øjeblikket ligger, så er dette projekt noget for dig.
Inde i enheden er der to trinmotorer, der styrer laserpositionen. Belysningen af den del af Jorden, som solens stråler falder på, implementeres også.
Værktøjer og materialer:
-3D-trykt jord med en diameter på 18 cm;
-3D printer;
-Kobberrør;
-Beton fliser;
-Wemos D1 Mini-modul med Wi-Fi;
- Servodrev EMAX ES3352 MG;
-Stegmotor 28BYJ-48 med driverkort ULN2003;
-10 LEDs NeoPixels;
-Laser med en bølgelængde på 405 nm;
- Limit switch;
- Strømforsyning 5V 3A;
Trin 1: 3D-udskrivning
For at samle alt udstyr skal du udskrive detaljerne i rammen. Du kan downloade filer til udskrivning her.
Rammen har tre dele:
-base - til montering af en stepmotor, WEMOS, Neopixels tape og kobberrør.
- den midterste del til installation af grænsekontakten;
- Den øverste del er til montering af en servomotor.
Trin to: Forbind og opbyg
For strøm leveres en spænding på 5V 3A. Der leveres strøm fra stikket til trin driveren, laser, LED'er og Wemos modulet.
Næste skal du oprette forbindelse til Wemos:
1) Trin driver
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Dataservo-pin -> D1
3) LED'er
Neopixels Pin -> D2
4) Begrænsningskontakt
To switch pins på GND og D3
Trin tre: Kode
For at to motorer kan bevæge sig synkront med ISS, skal du få ISS 'position i realtid:
For at gøre dette vil vi først bruge API fra Åben anmeldelse her
Derefter skal du analysere dataene for at få ISS-placeringsværdien ved hjælp af dataanalyse: ArduinoJson Bibliotek
#include 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 ["message"];
const char * lon = root ["iss_position"] ["longitude"];
const char * lat = root ["iss_position"] ["latitude"]; // Output til seriel skærm
Serial.print ("Meddelelse:");
Serial.println (besked);
Serial.print ("Længdegrad:");
Serial.println (lon);
Serial.print ("Latitude:");
Serial.println (lat);
}
http.end (); // Luk forbindelse
}
forsinkelse (50000);
}
Følgende kode Arduino giver dig mulighed for at få placeringen af ISS for at flytte laseren til det ønskede sted på jordoverfladen og få solens position til at belyse de tilsvarende lysdioder på jordoverfladen, oplyst af solen.
ISS_Tracker_Final.ino
Alt er klar.