Inhoudsopgave:
- Stap 1: Onderdelen modelleren in Fusion 360 en afdrukken
- Stap 2: Bedrading en montage
- Stap 3: Arduino-code - De ISS-positie in realtime verkrijgen
- Stap 4: Laatste Arduino-code
- Stap 5: Geniet van uw ISS-tracker
Video: ISS-volglamp - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Meestal vraag ik me af waar het ISS naar de hemel kijkt. Om deze vraag te beantwoorden, heb ik een fysiek object gemaakt om precies te weten waar het ISS in realtime is.
De ISS Tracking Lamp is een met internet verbonden lamp die het ISS constant volgt en de locatie op het aardoppervlak weergeeft (gedrukt in 3D).
Bonus: de lamp laat ook de zonnige kant van de aarde zien met Neopixels!??
Dus in deze Instructables gaan we de verschillende stappen zien om deze lamp te bouwen op basis van WEMOS D1 Mini, stappenmotor, servomotor, laser en 3D-onderdelen.
Ik bouw helemaal alleen, behalve de 3D-geprinte aarde, die op Aliexpress is gekocht.
Software:
- Arduino-gebaseerde code
- API ISS-locatie: Open Notify - Huidige locatie van het ISS (door Nathan Bergey)
- Gegevens parseren: ArduinoJson-bibliotheek (door Benoit Blanchon)
CAD & Onderdelen:
- 3D-geprinte aarde met een diameter van 18 cm (gekocht op Aliexpress: hier)
- 3D-geprinte motorsteunen - ontworpen met Fusion 360 en geprint met Prusa i3 MK2S
- Koperen buis
- Betonnen voet, gemaakt met The French Vikings
Hardware:
- Microcontroller: Wemos D1 Mini (wifi-antenne geïntegreerd)
- Servo EMAX ES3352 MG
- Stappenmotor 28byj-48 (met de ULN2003 driver board)
- 10 NeoPixels-LED
- Laser met een golflengte van 405 nm
- Eindschakelaar:
- 5V 3A voeding
Stap 1: Onderdelen modelleren in Fusion 360 en afdrukken
Om alle hardware te monteren, gaan we de kernassemblagebasis op 3D-onderdelen maken. De onderdelen zijn hier beschikbaar op Thingiverse.
Er zijn 3 delen:
1) De ondersteuningsstapper-lengtegraad:
Dit onderdeel is gemaakt voor het monteren van de stappenmotor, de WEMOS, de Neopixels strip en de koperen buis
2) De ondersteuningsschakelaar
Dit onderdeel is gemaakt voor het monteren van de eindschakelaar (gebruik om aan de stepper de breedtegraad -0°/-180° aan te geven). Het is op de bovenkant van de stepper geschroefd
3) De ondersteuningsservo Latitude
Dit onderdeel is gemaakt voor het monteren van de servomotor. De Support Servo is gemonteerd op de stappenmotor
Alle onderdelen zijn geprint op Prusa I3 MK2S, met zwart PETG-filament
Stap 2: Bedrading en montage
Dit circuit heeft een 5V 3A-voedingsingang (om dezelfde voeding te gebruiken voor de stepper-driver, de laser, de Neopixels en de WEMOS)
Door de volgende schets moeten we de voeding rechtstreeks parallel aan de bovenstaande elementen solderen:
- Stepper-stuurprogramma
- Laser
- Neopixels strip (NB: er zijn 10 Neopixels in werkelijkheid, niet 8 zoals de schets laat zien)
- WEMOS
Vervolgens moeten we de verschillende elementen verbinden met de WEMOS:
1) De stepper-driver volgens deze lijst:
- IN1->D5
- IN2->D6
- IN3->D7
- IN4->D8
2) De servomotor die volgt:
Gegevensservopin -> D1
3) De Neopixels-strip volgt:
Gegevens Neopixels-pin -> D2
4) De eindschakelaar volgende:
De twee pinnen van de schakelaar naar de GND en D3
Sluit de eindschakelaar zo aan dat het circuit wordt geopend/verbroken als we op de schakelaar drukken (dus het circuit is gesloten als er niets op wordt gedrukt). Dit om een verkeerde lezing door een spanningspiek te voorkomen.
Stap 3: Arduino-code - De ISS-positie in realtime verkrijgen
Om de twee motoren aan te drijven om de positie van het ISS te bereiken, moeten we de positie van het ISS in realtime verkrijgen:
- Daarvoor gebruiken we eerst de API van Open Notify Here
- Vervolgens moeten we de gegevens ontleden om een eenvoudige waarde van de ISS-locatie te krijgen met behulp van gegevens parseren: ArduinoJson Library (door Benoit Blanchon)
#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi-parameters const char* ssid = "XXXXX"; const char* wachtwoord = "XXXXX"; void setup() { Serial.begin(115200); WiFi.begin(ssid, wachtwoord); while (WiFi.status()!= WL_CONNECTED) { delay(1000); Serial.println("Verbinding maken…"); } }
Dit programma verbindt de NodeMCU met de WiFi, maakt vervolgens verbinding met de API, haalt de gegevens op en drukt deze serieel af.
lege lus() {
if (WiFi.status() == WL_CONNECTED) // Controleer wifi-status {HTTPClient http; //Object van klasse HTTPClient http.begin("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET(); // Controleer de terugkerende code if (httpCode >0) {// Parsing const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (buffergrootte); JsonObject& root = jsonBuffer.parseObject(http.getString()); // Parameters const char* message = root ["bericht"]; const char* lon = root["iss_position"]["lengtegraad"]; const char* lat = root["iss_position"]["latitude"]; // Uitvoer naar seriële monitor Serial.print ("Bericht:"); Serial.println(bericht); Serial.print("Lengte: "); Serial.println(lon); Serial.print("Breedte: "); Serial.println(lat); } http.end(); // Sluit verbinding} vertraging (50000); }
Stap 4: Laatste Arduino-code
De volgende Arduino-code krijgt de ISS-locatie om de laser naar de juiste plaats op het aardoppervlak te verplaatsen, en het verkrijgen van de positie van de zon om de betreffende Neopixels te verlichten om het oppervlak van de aarde te verlichten dat door de zon wordt aangeraakt.
Bonus 1: Wanneer de lamp aan staat, zal de laser tijdens de initialisatiefase de positie van de lamp aanwijzen (id: de positie waar de router zich bevindt)
Bonus 2: Wanneer het ISS zich naast de lamplocatie bevindt (+/- 2° lang en +/-2° lat.), zullen alle Neopixels zachtjes knipogen
Stap 5: Geniet van uw ISS-tracker
Je hebt een ISS Tracking Lamp gemaakt, geniet ervan!
Eerste prijs in de First Time Author-wedstrijd
Aanbevolen:
E-Ink: Maan / ISS / Mensen in de ruimte : 6 stappen
E-Ink: Moon / ISS / People in Space…: ik had een Raspberry en een e-Paper HAT en ik wilde deze gebruiken om informatie te tonen zoals waar het ISS is of hoeveel mensen er nu in de ruimte zijn. .Ik zei dat ik moest kijken of er API's op internet zijn om die gegevens te krijgen, en ik heb ze gevonden. OK, gotcha !!!!Wacht
Bouw een Easy ISS Notifier: 5 stappen
Bouw een eenvoudige ISS-melding: door TokyLabs | Benodigde tijd: 1-3 uur | Moeilijkheidsgraad: Gemakkelijk | Prijs: $ 60- $ 70 U kunt eenvoudig een hardware-melding maken die een papieren astronaut OMHOOG tilt om u te waarschuwen telkens wanneer het internationale ruimtestation uw locatie passeert. Veel leuker dan
Venster op de aarde: LIVE VANUIT HET ISS: 3 stappen
Venster op de aarde: LIVE VANUIT HET ISS: Oh, ik vind het geweldig dat er camera's op het internationale ruimtestation zijn, en er is een 24/7 live-feed en je kunt het naar je lokale computer streamen, maar mijn favoriet is het gebruik van de feed als screensaver, wanneer de computer stand-by staat. Ik heb
Eenvoudig ISS-meldingssysteem: 6 stappen (met afbeeldingen)
Eenvoudig ISS-meldingssysteem: wat is het internationale ruimtestation en waarom wil je voorspellen waar het is? Om de eerste vraag te beantwoorden, kunnen we op de NASA-website kijken voor een antwoord. Wat in het kort is: het internationale ruimtestation is een groot ruimtevaartuig. Het draait rond