Kazalo:

ISS sledilna svetilka: 5 korakov (s slikami)
ISS sledilna svetilka: 5 korakov (s slikami)

Video: ISS sledilna svetilka: 5 korakov (s slikami)

Video: ISS sledilna svetilka: 5 korakov (s slikami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
ISS sledilna svetilka
ISS sledilna svetilka
ISS sledilna svetilka
ISS sledilna svetilka

Večino časa se sprašujem, kje ISS gleda v nebo. Za odgovor na to vprašanje sem naredil fizični predmet, ki je v realnem času natančno vedel, kje je ISS.

ISS sledilna svetilka je internetno povezana svetilka, ki stalno spremlja ISS in prikazuje njeno lokacijo na zemeljski površini (natisnjena v 3D).

Bonus: svetilka prikazuje tudi sončno stran Zemlje z neopiksli! ??

Torej, v tem navodilu bomo videli različne korake za izdelavo te svetilke na osnovi WEMOS D1 Mini, koračnega motorja, servo motorja, laserja in 3D delov.

Gradim sam, razen 3D -tiskane Zemlje, ki je bila kupljena na Aliexpressu.

Programska oprema:

  • Koda, ki temelji na Arduinu
  • API lokacija ISS: Open Notify - trenutna lokacija ISS (avtor Nathan Bergey)
  • Razčlenjevanje podatkov: Knjižnica ArduinoJson (avtor Benoit Blanchon)

CAD in deli:

  • 3D natisnjena Zemlja s premerom 18 cm (kupljeno na Aliexpress: tukaj)
  • 3D -tiskani nosilci motorjev - zasnovani s Fusion 360 in natisnjeni s Prusa i3 MK2S
  • Bakrena cev
  • Betonska podlaga iz francoskih Vikingov

Strojna oprema:

  • Mikrokrmilnik: Wemos D1 Mini (integrirana wifi antena)
  • Servo EMAX ES3352 MG
  • Koračni motor 28byj-48 (z vozniško ploščo ULN2003)
  • 10 LED diod NeoPixels
  • Laser z valovno dolžino 405 nm
  • Mejno stikalo
  • Napajanje 5V 3A

1. korak: Modeliranje delov v Fusion 360 in tiskanje

Modeliranje delov v Fusion 360 in tiskanje
Modeliranje delov v Fusion 360 in tiskanje
Modeliranje delov v Fusion 360 in tiskanje
Modeliranje delov v Fusion 360 in tiskanje
Modeliranje delov v Fusion 360 in tiskanje
Modeliranje delov v Fusion 360 in tiskanje

Za namestitev vse strojne opreme bomo ustvarili osnovo za montažo jedra na 3D -delih. Deli so na voljo na Thingiverse tukaj.

Obstajajo 3 deli:

1) Dolžina podpornega koraka

Ta del je izdelan za montažo koračnega motorja, WEMOS -a, traku Neopixel in bakrene cevi

2) Stikalo za podporo

Ta del je izdelan za namestitev končnega stikala (uporabite za označevanje koraka zemljepisne širine -0 °/-180 °). Privit je na vrh koraka

3) Support Servo Latitude

Ta del je izdelan za montažo servo motorja. Podporni servo je nameščen na koračnem motorju

Vsi deli so bili natisnjeni na Prusa I3 MK2S, s črno PETG nitko

2. korak: Ožičenje in sestavljanje

Ožičenje in montaža
Ožičenje in montaža
Ožičenje in montaža
Ožičenje in montaža

To vezje bo imelo vhodno moč 5 V 3A (za isto uporabo za koračni gonilnik, laser, neopiksle in WEMOS)

Na naslednji skici moramo vzporedno spajkati napajalnik neposredno na zgornje elemente:

  • Stepper Driver
  • Laser
  • Trak neopikslov (Opomba: v resnici je 10 neopikslov, ne 8, kot prikazuje skica)
  • WEMOS

Nato moramo na WEMOS povezati različne elemente:

1) Gonilnik koraka po tem seznamu:

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

2) Servo motor:

Podatkovni servo pin -> D1

3) Neopixel trak je naslednji:

Podatki Neopixel Pin -> D2

4) Mejno stikalo je naslednje:

Dva zatiča stikala na GND in D3

Končno stikalo priključite tako, da se vezje odpre/prekine, ko pritisnemo stikalo (tako da se vezje zapre, ko nanj nič ne pritisne). S tem se izognemo napačnemu predavanju zaradi vrha napetosti.

3. korak: Arduino koda - pridobivanje položaja ISS v realnem času

Če želimo dva motorja doseči položaj ISS, moramo v realnem času dobiti položaj ISS:

  • Za to bomo najprej uporabili API iz Open Notify Here
  • Nato moramo podatke razčleniti, da dobimo preprosto vrednost lokacije ISS s pomočjo razčlenjevanja podatkov: Knjižnica ArduinoJson (avtor Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametri WiFi const char* ssid = "XXXXX"; const char* geslo = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, geslo); while (WiFi.status ()! = WL_CONNECTED) {zakasnitev (1000); Serial.println ("Povezovanje …"); }}

Ta program poveže NodeMCU z WiFi, nato se poveže z API -jem, pridobi podatke in jih natisne serijsko.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Preveri stanje WiFi {HTTPClient http; // Objekt razreda HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Preverite vrnjeno kodo if (httpCode> 0) {// Razčlenitev const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametri const char* sporočilo = root ["sporočilo"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["zemljepisna širina"]; // Izhod na serijski monitor Serial.print ("Sporočilo:"); Serial.println (sporočilo); Serial.print ("Dolžina:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // prekinitev povezave} zakasnitev (50000); }

4. korak: Končna Arduino koda

Naslednja koda Arduino določi lokacijo ISS za premik laserja na pravo mesto na zemeljski površini in pridobivanje položaja sonca, da prižge zadevne neopiksele, da osvetli površino Zemlje, ki se dotika sonca.

Bonus 1: Ko je svetilka vklopljena, bo v fazi inicializacije laser kazal položaj svetilke (id: položaj, kjer je usmerjevalnik)

Bonus 2: Ko je ISS poleg mesta svetilke (+/- 2 ° dolg. In +/- 2 ° lat.), Bodo vse neopiksalke nežno pomežikle

5. korak: Uživajte v svojem ISS Trackerju

Naredili ste sledilno svetilko ISS, uživajte!

Prvič natečaj avtorjev
Prvič natečaj avtorjev
Prvič natečaj avtorjev
Prvič natečaj avtorjev

Prva nagrada na prvič natečaju avtorjev

Priporočena: