Sisällysluettelo:

ISS -seurantalamppu: 5 vaihetta (kuvilla)
ISS -seurantalamppu: 5 vaihetta (kuvilla)

Video: ISS -seurantalamppu: 5 vaihetta (kuvilla)

Video: ISS -seurantalamppu: 5 vaihetta (kuvilla)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Marraskuu
Anonim
ISS -seurantalamppu
ISS -seurantalamppu
ISS -seurantalamppu
ISS -seurantalamppu

Useimmiten ihmettelen, missä ISS katsoo taivaalle. Vastatakseni tähän kysymykseen olen tehnyt fyysisen esineen tietääkseni tarkalleen missä ISS on reaaliajassa.

ISS -seurantalamppu on Internetiin yhdistetty lamppu, joka seuraa jatkuvasti ISS: ää ja näyttää sen sijainnin maan pinnalla (tulostettu 3D -muodossa).

Bonus: lamppu näyttää myös maan aurinkoisen puolen Neopikseleillä! ??

Joten tässä oppaassa näemme eri vaiheet tämän lampun rakentamiseksi WEMOS D1 Miniin, askelmoottoriin, servomoottoriin, laseriin ja 3D -osiin.

Rakennan kaiken itse, paitsi 3D -painettu Earth, joka ostettiin Aliexpressistä.

Ohjelmisto:

  • Arduino -pohjainen koodi
  • API ISS Sijainti: Avaa ilmoitus - ISS: n nykyinen sijainti (kirjoittanut Nathan Bergey)
  • Jäsennysdata: ArduinoJson -kirjasto (kirjoittanut Benoit Blanchon)

CAD & Osat:

  • 3D -painettu maa, halkaisijaltaan 18 cm (ostettu Aliexpressistä: täältä)
  • 3D -tulostetut moottorituet - suunniteltu Fusion 360: llä ja painettu Prusa i3 MK2S: llä
  • Kupariputki
  • Betonipohja, valmistettu ranskalaisista viikingistä

Laitteisto:

  • Mikro -ohjain: Wemos D1 Mini (integroitu wifi -antenni)
  • Servo EMAX ES3352 MG
  • Askelmoottori 28byj-48 (ULN2003-ohjainkortilla)
  • 10 NeoPixels -LEDiä
  • Laser, jonka aallonpituus on 405 nm
  • Rajakytkin
  • 5V 3A virtalähde

Vaihe 1: Osien mallintaminen Fusion 360: ssä ja tulostus

Osien mallinnus Fusion 360: ssä ja tulostuksessa
Osien mallinnus Fusion 360: ssä ja tulostuksessa
Osien mallinnus Fusion 360: ssä ja tulostuksessa
Osien mallinnus Fusion 360: ssä ja tulostuksessa
Osien mallinnus Fusion 360: ssä ja tulostuksessa
Osien mallinnus Fusion 360: ssä ja tulostuksessa

Jotta voimme asentaa kaikki laitteistot, luomme ydinkokoonpanopohjan 3D -osiin. Osat löytyvät Thingiversestä täältä.

Siinä on 3 osaa:

1) Tuki askelpituusaste

Tämä osa on tarkoitettu askelmoottorin, WEMOSin, Neopixels -nauhan ja kupariputken asentamiseen

2) Tukikytkin

Tämä osa on tarkoitettu rajakytkimen asentamiseen (osoita askelmalle leveysaste -0 °/-180 °). Se on ruuvattu askelman päälle

3) Support Servo Latitude

Tämä osa on tarkoitettu servomoottorin asentamiseen. Tukiservo on asennettu askelmoottoriin

Kaikki osat painettiin Prusa I3 MK2S: lle mustalla PETG -filamentilla

Vaihe 2: Johdotus ja kokoonpano

Johdotus ja kokoonpano
Johdotus ja kokoonpano
Johdotus ja kokoonpano
Johdotus ja kokoonpano

Tässä piirissä on 5 V: n 3 A: n virtatulo (jotta voidaan käyttää samaa syöttöä askelmoottorille, laserille, neopikseleille ja WEMOSille)

Seuraavassa luonnoksessa meidän on juotettava virtalähde suoraan yllä oleviin elementteihin rinnakkain:

  • Askelohjain
  • Laser
  • Neopikseliliuska (HUOM: todellisuudessa on 10 neopikseliä, ei 8 kuten luonnos osoittaa)
  • WEMOS

Seuraavaksi meidän on yhdistettävä eri elementit WEMOSiin:

1) Askelohjain seuraa tätä luetteloa:

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

2) Servomoottori seuraava:

Data Servo Pin -> D1

3) Neopikselit nauhat seuraavat:

Data Neopikselit Pin -> D2

4) Rajakytkin seuraava:

Kytkimen kaksi nastaa GND ja D3

Liitä rajakytkin siten, että piiri avautuu/katkeaa, kun painamme kytkintä (joten piiri sulkeutuu, kun mikään ei paina sitä). Näin vältetään väärät luennot jännitepiikin vuoksi.

Vaihe 3: Arduino -koodi - ISS -aseman saaminen reaaliajassa

Jotta kaksi moottoria saataisiin ISS -asemaan, meidän on saatava ISS: n sijainti reaaliajassa:

  • Käytämme ensin Open Notify Here -sovellusliittymää
  • Sitten meidän on jäsenneltävä tiedot, jotta saamme ISS -sijainnin yksinkertaisen arvon jäsentämistietojen avulla: ArduinoJson -kirjasto (kirjoittanut Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi -parametrit const char* ssid = "XXXXX"; const char* password = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, salasana); while (WiFi.status ()! = WL_CONNECTED) {delay (1000); Serial.println ("Yhdistetään …"); }}

Tämä ohjelma yhdistää NodeMCU: n WiFi -verkkoon, muodostaa sitten yhteyden sovellusliittymään, hakee tiedot ja tulostaa ne sarjamuotoisesti.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Tarkista WiFi -tila {HTTPClient http; // Luokan HTTPClient objekti http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Tarkista palautuskoodi, jos (httpCode> 0) {// Jäsentäminen const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (bufferSize); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametrit const char* message = root ["message"]; const char* lon = juuri ["iss_position"] ["pituusaste"]; const char* lat = juuri ["iss_position"] ["leveysaste"]; // Lähtö sarjamonitoriin Serial.print ("Message:"); Serial.println (viesti); Serial.print ("Pituusaste:"); Sarja.println (lon); Serial.print ("Leveysaste:"); Sarja.println (lat); } http.end (); // Sulje yhteys} viive (50000); }

Vaihe 4: Lopullinen Arduino -koodi

Seuraavat Arduino -koodit saavat ISS -sijainnin, jotta laser voidaan siirtää oikeaan paikkaan maan pinnalla, ja auringon aseman saaminen valaisemaan kyseiset neopikselit valaisemaan auringon kosketuksen maan pinnalle.

Bonus 1: Kun lamppu kytketään päälle, laser osoittaa alustusvaiheen aikana lampun asennon (id: sijainti, jossa reititin on)

Bonus 2: Kun ISS on lampun sijainnin vieressä (+/- 2 ° pitkä ja +/- 2 ° leveä), kaikki neopikselit vilkkuvat varovasti

Vaihe 5: Nauti ISS -seurannasta

Olet tehnyt ISS -seurantalampun, nauti!

Ensimmäinen kirjailijakilpailu
Ensimmäinen kirjailijakilpailu
Ensimmäinen kirjailijakilpailu
Ensimmäinen kirjailijakilpailu

Ensimmäinen palkinto ensimmäisen kerran kirjailijakilpailussa

Suositeltava: