Sadržaj:

ISS Lampa za praćenje: 5 koraka (sa slikama)
ISS Lampa za praćenje: 5 koraka (sa slikama)

Video: ISS Lampa za praćenje: 5 koraka (sa slikama)

Video: ISS Lampa za praćenje: 5 koraka (sa slikama)
Video: Аутомобилски алтернатор до самопобуђеног генератора помоћу ДИОДЕ 2024, Studeni
Anonim
ISS Lampa za praćenje
ISS Lampa za praćenje
ISS Lampa za praćenje
ISS Lampa za praćenje

Većinu vremena pitam se gdje ISS gleda u nebo. Da bih odgovorio na ovo pitanje, napravio sam fizički objekt koji će točno znati gdje se nalazi ISS u stvarnom vremenu.

Lampica za praćenje ISS -a je svjetiljka povezana s internetom koja neprestano prati ISS i prikazuje njegovu lokaciju na površini Zemlje (ispisana u 3D).

Bonus: svjetiljka prikazuje i sunčanu stranu Zemlje s neopikselima! ??

Dakle, u ovom Instructables -u ćemo vidjeti različite korake za izgradnju ove svjetiljke na temelju WEMOS D1 Mini, koračnog motora, servo motora, lasera i 3D dijelova.

Gradim sam, osim 3D tiskane Zemlje koja je kupljena na Aliexpressu.

Softver:

  • Kod zasnovan na Arduinu
  • API ISS lokacija: Open Notify - trenutna lokacija ISS -a (autor Nathan Bergey)
  • Raščlanjivanje podataka: ArduinoJson knjižnica (autor Benoit Blanchon)

CAD i dijelovi:

  • 3D ispisana Zemlja promjera 18 cm (kupljeno na Aliexpressu: ovdje)
  • Nosači motora s 3D printom - dizajnirani s Fusion 360 i ispisani s Prusa i3 MK2S
  • Bakrena cijev
  • Betonska podloga izrađena od francuskih Vikinga

Hardver:

  • Mikrokontroler: Wemos D1 Mini (integrirana wifi antena)
  • Servo EMAX ES3352 MG
  • Koračni motor 28byj-48 (s upravljačkom pločom ULN2003)
  • 10 LED dioda NeoPixels
  • Laser valne duljine 405 nm
  • Ograničeni prekidač
  • Napajanje 5V 3A

Korak 1: Modeliranje dijelova u Fusion 360 i ispis

Modeliranje dijelova u Fusion 360 i ispis
Modeliranje dijelova u Fusion 360 i ispis
Modeliranje dijelova u Fusion 360 i ispis
Modeliranje dijelova u Fusion 360 i ispis
Modeliranje dijelova u Fusion 360 i ispis
Modeliranje dijelova u Fusion 360 i ispis

Kako bismo montirali sav hardver, stvorit ćemo osnovu za sastavljanje jezgre na 3D dijelovima. Dijelovi su dostupni na Thingiverse ovdje.

Postoje 3 dijela:

1) Dužina koraka za podršku

Ovaj dio je napravljen za montažu koračnog motora, WEMOS -a, trake od Neopiksela i bakrene cijevi

2) Prekidač za podršku

Ovaj je dio izrađen za montažu krajnjeg prekidača (upotrijebite za označavanje koraka zemljopisne širine -0 °/-180 °). Zašrafljen je na vrh stepera

3) Servo Latitude za podršku

Ovaj dio je napravljen za montažu servo motora. Servo za podršku montiran je na koračni motor

Svi su dijelovi tiskani na Prusa I3 MK2S, s crnom PETG nitom

Korak 2: Ožičenje i sastavljanje

Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje

Ovaj krug će imati ulaz 5V 3A (kako bi se koristilo isto napajanje za upravljač koraka, laser, neopiksele i WEMOS)

Na sljedećoj skici moramo paralelno lemiti napajanje izravno na gornje elemente:

  • Stepper Driver
  • Laser
  • Traka od neopiksela (napomena: u stvarnosti postoji 10 neopiksela, a ne 8 kako prikazuje skica)
  • WEMOS

Zatim moramo povezati različite elemente s WEMOS -om:

1) Upravljački program koračnika koji slijedi ovaj popis:

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

2) Servo motor slijedi:

Servo pin podataka -> D1

3) Neopikselna traka slijedi:

Podaci Neopikseli Pin -> D2

4) Krajnji prekidač slijedi:

Dva pina prekidača na GND i D3

Spojite krajnji prekidač na način da se krug otvori/prekine kada pritisnemo prekidač (tako da se krug zatvori kada ništa ne pritisne na njega). Time se izbjegava pogrešno predavanje zbog vrha napona.

Korak 3: Arduino kod - Dobivanje položaja ISS -a u stvarnom vremenu

Da bismo doveli dva motora do položaja ISS -a, moramo dobiti položaj ISS -a u stvarnom vremenu:

  • Za to ćemo prvo koristiti API iz Open Notify Here
  • Zatim moramo raščlaniti podatke da bismo dobili jednostavnu vrijednost lokacije ISS -a uz pomoć raščlanjivanja podataka: ArduinoJson Library (autor Benoit Blanchon)

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

Ovaj program povezuje NodeMCU s WiFi mrežom, zatim se povezuje s API -jem, preuzima podatke i ispisuje ih serijski.

void loop () {{100} {101}

if (WiFi.status () == WL_CONNECTED) // Provjeri WiFi status {HTTPClient http; // Objekt klase HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Provjeravamo povratni kôd if (httpCode> 0) {// Raščlanjivanje const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100; DynamicJsonBuffer jsonBuffer (veličina međuspremnika); JsonObject & root = jsonBuffer.parseObject (http.getString ()); // Parametri const char* poruka = root ["poruka"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["zemljopisna širina"]; // Izlaz na serijski monitor Serial.print ("Poruka:"); Serial.println (poruka); Serial.print ("Dužina:"); Serial.println (lon); Serial.print ("Latitude:"); Serijski.println (lat); } http.end (); // Prekid veze} kašnjenje (50000); }

Korak 4: Završni Arduino kod

Sljedeći Arduino kôd određuje lokaciju ISS -a za pomicanje lasera na pravo mjesto na Zemljinoj površini i dobivanje položaja Sunca kako bi osvijetlio dotične neopiksele kako bi osvijetlio površinu Zemlje dodirnutu suncem.

Bonus 1: Kad je lampa uključena, tijekom faze inicijalizacije, laser će usmjeriti položaj svjetiljke (id: položaj gdje se nalazi usmjerivač)

Bonus 2: Kada je ISS pored mjesta lampe (+/- 2 ° duljine i +/- 2 ° lat.), Svi neopikseli će lagano namignuti

Korak 5: Uživajte u svom ISS Tracker -u

Napravili ste ISS lampu za praćenje, uživajte!

Prvi put autorski natječaj
Prvi put autorski natječaj
Prvi put autorski natječaj
Prvi put autorski natječaj

Prva nagrada na Prvom natječaju za autore

Preporučeni: