Inhoudsopgave:

ISS-volglamp - Ajarnpa
ISS-volglamp - Ajarnpa

Video: ISS-volglamp - Ajarnpa

Video: ISS-volglamp - Ajarnpa
Video: Unit 2: Clothes : What is he/she wearing? 2024, November
Anonim
ISS-volglamp
ISS-volglamp
ISS-volglamp
ISS-volglamp

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

Onderdelen modelleren in Fusion 360 en afdrukken
Onderdelen modelleren in Fusion 360 en afdrukken
Onderdelen modelleren in Fusion 360 en afdrukken
Onderdelen modelleren in Fusion 360 en afdrukken
Onderdelen modelleren in Fusion 360 en afdrukken
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

Bedrading en montage
Bedrading en montage
Bedrading en montage
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 keer auteurswedstrijd
Eerste keer auteurswedstrijd
Eerste keer auteurswedstrijd
Eerste keer auteurswedstrijd

Eerste prijs in de First Time Author-wedstrijd

Aanbevolen: