Sisukord:

ISS jälglamp: 5 sammu (piltidega)
ISS jälglamp: 5 sammu (piltidega)

Video: ISS jälglamp: 5 sammu (piltidega)

Video: ISS jälglamp: 5 sammu (piltidega)
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Juuli
Anonim
ISS jälgimislamp
ISS jälgimislamp
ISS jälgimislamp
ISS jälgimislamp

Enamasti mõtlen, kust ISS taevast vaatab. Sellele küsimusele vastamiseks olen teinud füüsilise objekti, et täpselt teada, kus ISS reaalajas asub.

ISS -i jälgimislamp on Internetiga ühendatud lamp, mis jälgib pidevalt ISS -i ja kuvab selle asukoha Maa pinnal (trükitud 3D -vormingus).

Boonus: lamp kuvab ka Maa päikesepoolset külge koos neopikslitega! ??

Niisiis, selles juhendis näeme WEMOS D1 Mini, samm -mootori, servomootori, laser- ja 3D -osade põhjal selle lambi ehitamiseks erinevaid samme.

Ma ehitan kõik ise, välja arvatud 3D -trükitud Maa, mis osteti Aliexpressist.

Tarkvara:

  • Arduino põhine kood
  • API ISS -i asukoht: avatud teavitamine - ISS -i praegune asukoht (autor Nathan Bergey)
  • Andmete analüüsimine: ArduinoJsoni raamatukogu (autor Benoit Blanchon)

CAD ja osad:

  • 3D trükitud Maa läbimõõduga 18 cm (ostetud Aliexpressist: siit)
  • 3D -trükitud mootoritoed - disainitud Fusion 360 -ga ja trükitud seadmega Prusa i3 MK2S
  • Vasktoru
  • Betoonist alus, valmistatud Prantsuse viikingitega

Riistvara:

  • Mikrokontroller: Wemos D1 Mini (integreeritud WiFi -antenn)
  • Servo EMAX ES3352 MG
  • Sammumootor 28byj-48 (koos juhtplaadiga ULN2003)
  • 10 NeoPixeli LED -i
  • Laser lainepikkusega 405 nm
  • Piirlüliti
  • 5V 3A toiteallikas

Samm: osade modelleerimine Fusion 360 -s ja printimine

Osade modelleerimine rakenduses Fusion 360 ja printimine
Osade modelleerimine rakenduses Fusion 360 ja printimine
Osade modelleerimine rakenduses Fusion 360 ja printimine
Osade modelleerimine rakenduses Fusion 360 ja printimine
Osade modelleerimine rakenduses Fusion 360 ja printimine
Osade modelleerimine rakenduses Fusion 360 ja printimine

Kogu riistvara paigaldamiseks loome põhiosa 3D -osadele. Osad on Thingiverse'is saadaval siin.

Seal on 3 osa:

1) Toetussammu pikkuskraad

See osa on ette nähtud samm -mootori, WEMOS -i, Neopixels -riba ja vasktoru paigaldamiseks

2) toelüliti

See osa on ette nähtud piirlüliti paigaldamiseks (kasutage stepperile laiuskraadi näitamiseks -0 °/-180 °). See on kruvitud stepperi ülaosale

3) Support Servo Latitude

See osa on ette nähtud servomootori paigaldamiseks. Tugiservo on paigaldatud samm -mootorile

Kõik osad trükiti Prusa I3 MK2S -le musta PETG -hõõgniidiga

Samm: juhtmestik ja kokkupanek

Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek

Sellel vooluahelal on 5V 3A sisend (et kasutada samu toiteallikaid samm -draiveri, laseri, neopikslite ja WEMOS -i jaoks)

Järgmise visandi abil peame toiteallika paralleelselt jootma otse ülaltoodud elementidele:

  • Astmeline juht
  • Laser
  • Neopikseliriba (NB: tegelikkuses on 10 neopikslit, mitte 8, nagu visand näitab)
  • WEMOS

Järgmisena peame ühendama erinevad elemendid WEMOS -iga:

1) Stepper juht järgib seda loendit:

  • IN1-> D5
  • IN2-> D6
  • IN3-> D7
  • IN4-> D8

2) Servomootor on järgmine:

Andmeservo pin -> D1

3) Neopikselite riba järgmine:

Andmete neopikslite tihvt -> D2

4) Piirlüliti on järgmine:

Lüliti kaks tihvti GND ja D3 külge

Ühendage piirlüliti viisil, mis lülitit vajutades avaneb/katkeb (nii et vooluahel suletakse, kui sellele midagi ei lükka). See on vajalik selleks, et vältida pinge tipust tingitud valesid loenguid.

Samm: Arduino kood - ISS -i positsiooni saamine reaalajas

Kahe mootori juhtimiseks ISS -i kohale jõudmiseks peame reaalajas saama ISS -i asukoha:

  • Selleks kasutame kõigepealt Open Notify Here API -d
  • Seejärel peame andmeid analüüsima, et saada ISS -i asukoha lihtne väärtus, kasutades parsimisandmeid: ArduinoJsoni raamatukogu (autor Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi parameetrid const char* ssid = "XXXXX"; const char* parool = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, parool); while (WiFi.status ()! = WL_CONNECTED) {delay (1000); Serial.println ("Ühendamine …"); }}

See programm ühendab NodeMCU WiFi -ga, seejärel ühendub API -ga, hankib andmed ja prindib need jada kaudu.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Kontrolli WiFi olekut {HTTPClient http; // HTTPClienti klassi objekt http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Kontrollige tagastatavat koodi, kui (httpCode> 0) {// Parsing const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parameetrid const char* message = root ["message"]; const char* lon = juur ["iss_position"] ["pikkuskraad"]; const char* lat = juur ["iss_position"] ["laiuskraad"]; // Väljund seeriamonitorile Serial.print ("Sõnum:"); Serial.println (sõnum); Serial.print ("Pikkuskraad:"); Serial.println (lon); Serial.print ("Laiuskraadid:"); Seeria.println (lat); } http.end (); // Ühenduse sulgemine} viivitus (50000); }

Samm: viimane Arduino kood

Järgmine Arduino kood annab ISS -i asukoha, et viia laser Maa pinnal õigesse kohta, ja päikese asukoha valimine asjaomaste neopikslite valgustamiseks, et valgustada Maa pinda päikese käes.

Boonus 1: kui lamp on sisse lülitatud, näitab laser initsialiseerimise faasis lambi asukohta (id: ruuteri asukoht)

Boonus 2: Kui ISS on lambi asukoha kõrval (+/- 2 ° pikk ja +/- 2 ° laius), vilguvad kõik neopikslid õrnalt

Samm: nautige oma ISS -i jälgijat

Olete teinud ISS -i jälgimislambi, nautige!

Esmakordne autorivõistlus
Esmakordne autorivõistlus
Esmakordne autorivõistlus
Esmakordne autorivõistlus

Esimene auhind esmakordsel autorivõistlusel

Soovitan: