Turinys:

ISS sekimo lempa: 5 žingsniai (su nuotraukomis)
ISS sekimo lempa: 5 žingsniai (su nuotraukomis)

Video: ISS sekimo lempa: 5 žingsniai (su nuotraukomis)

Video: ISS sekimo lempa: 5 žingsniai (su nuotraukomis)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Lapkritis
Anonim
ISS sekimo lempa
ISS sekimo lempa
ISS sekimo lempa
ISS sekimo lempa

Dažniausiai man įdomu, kur ISS žiūri į dangų. Norėdami atsakyti į šį klausimą, padariau fizinį objektą, kad galėčiau tiksliai žinoti, kur yra ISS realiu laiku.

ISS sekimo lempa yra prie interneto prijungta lempa, kuri nuolat seka ISS ir rodo jos vietą Žemės paviršiuje (atspausdinta 3D formatu).

Premija: lempa taip pat rodo saulėtąją Žemės pusę su neopikseliais! ??

Taigi, šioje instrukcijoje matysime skirtingus žingsnius, kaip sukurti šią lempą, pagrįstą „WEMOS D1 Mini“, žingsniniu varikliu, servo varikliu, lazeriu ir 3D dalimis.

Aš viską kuriu pati, išskyrus 3D spausdintą Žemę, kuri buvo įsigyta „Aliexpress“.

Programinė įranga:

  • „Arduino“pagrįstas kodas
  • API ISS vieta: Atidaryti pranešimą - dabartinė ISS vieta (pateikė Nathanas Bergey)
  • Analizuojami duomenys: „ArduinoJson“biblioteka (Benoit Blanchon)

CAD ir dalys:

  • 3D spausdinta žemė, 18 cm skersmens (įsigyta „Aliexpress“: čia)
  • 3D spausdintos variklio atramos - sukurtos naudojant „Fusion 360“ir atspausdintos naudojant „Prusa i3 MK2S“
  • Vario vamzdis
  • Betoninė bazė, pagaminta iš prancūzų vikingų

Techninė įranga:

  • Mikrovaldiklis: „Wemos D1 Mini“(integruota „Wi -Fi“antena)
  • Servo EMAX ES3352 MG
  • Žingsninis variklis 28byj-48 (su ULN2003 vairuotojo lenta)
  • 10 „NeoPixels“šviesos diodų
  • 405 nm bangos ilgio lazeris
  • Ribinis jungiklis
  • 5V 3A maitinimo šaltinis

1 žingsnis: dalių modeliavimas „Fusion 360“ir spausdinimas

„Fusion 360“ir spausdinimo dalių modeliavimas
„Fusion 360“ir spausdinimo dalių modeliavimas
„Fusion 360“ir spausdinimo dalių modeliavimas
„Fusion 360“ir spausdinimo dalių modeliavimas
„Fusion 360“ir spausdinimo dalių modeliavimas
„Fusion 360“ir spausdinimo dalių modeliavimas

Norėdami sumontuoti visą aparatūrą, mes sukursime pagrindinę surinkimo bazę ant 3D dalių. „Thingiverse“dalis rasite čia.

Yra 3 dalys:

1) Paramos žingsnio ilguma

Ši dalis skirta žingsniniam varikliui, WEMOS, neopikselių juostai ir variniam vamzdžiui montuoti

2) Palaikymo jungiklis

Ši dalis skirta galiniam jungikliui montuoti (naudokite žingsniukui nurodyti -0 °/-180 ° platumą). Jis prisukamas ant žingsnelio viršaus

3) „Servo Latitude“palaikymas

Ši dalis skirta servo varikliui montuoti. „Support Servo“yra sumontuotas ant žingsninio variklio

Visos dalys buvo atspausdintos ant „Prusa I3 MK2S“su juodu PETG siūlu

2 žingsnis: laidų prijungimas ir surinkimas

Elektros instaliacija ir surinkimas
Elektros instaliacija ir surinkimas
Elektros instaliacija ir surinkimas
Elektros instaliacija ir surinkimas

Ši grandinė turės 5V 3A maitinimo įvestį (kad būtų galima naudoti tą patį maitinimo šaltinį žingsniniam valdikliui, lazeriui, neopikseliams ir WEMOS)

Pagal šį eskizą turime lygiagrečiai lituoti maitinimo šaltinį tiesiai prie aukščiau esančių elementų:

  • Stepper vairuotojas
  • Lazeris
  • Neopikselių juostelė (NB: realybėje yra 10 neopikselių, o ne 8, kaip parodyta eskize)
  • WEMOS

Toliau turime prijungti skirtingus elementus prie WEMOS:

1) Stepper vairuotojas seka šį sąrašą:

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

2) Servo variklis:

Duomenų servo kaištis -> D1

3) Neopikselių juostelės:

Duomenų neopikselių kaištis -> D2

4) Ribinis jungiklis:

Du jungiklio kaiščiai prie GND ir D3

Prijunkite ribinį jungiklį taip, kad grandinė atsidarytų/nutrūktų, kai paspaudžiame jungiklį (taigi grandinė uždaryta, kai niekas jo nespaudžia). Taip išvengiama neteisingos paskaitos dėl įtampos piko.

3 žingsnis: „Arduino“kodas - ISS pozicijos gavimas realiuoju laiku

Kad varytume du variklius, kad pasiektume ISS padėtį, turime gauti ISS padėtį realiuoju laiku:

  • Pirmiausia mes naudosime „Open Notify Here“API
  • Tada turime išanalizuoti duomenis, kad gautume paprastą ISS vietos vertę, naudodami analizavimo duomenis: ArduinoJson biblioteka (Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi parametrai const char* ssid = "XXXXX"; const char* password = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (1000); Serial.println („Prisijungiama …“); }}

Ši programa prijungia „NodeMCU“prie „WiFi“, tada prisijungia prie API, gauna duomenis ir spausdina juos serijiniu būdu.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Tikrinti WiFi būseną {HTTPClient http; // HTTPClient klasės objektas http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Patikrinkite grįžtamąjį kodą, jei (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 ()); // Parametrai const char* message = root ["message"]; const char* lon = šaknis ["iss_position"] ["ilguma"]; const char* lat = šaknis ["iss_position"] ["platuma"]; // Išėjimas į serijinį monitorių Serial.print ("Message:"); Serial.println (pranešimas); Serial.print („Ilguma:“); Serial.println (lon); Serial.print („Platuma:“); Serial.println (lat); } http.end (); // Uždaryti ryšį} uždelsimas (50000); }

4 žingsnis: galutinis „Arduino“kodas

Šis „Arduino“kodas nustato ISS vietą, kad lazeris būtų perkeltas į reikiamą vietą Žemės paviršiuje, ir saulės padėtis, leidžianti apšviesti atitinkamus neopikselius, kad apšviestų saulės prisilietimą.

1 premija: įjungus lempą, iniciacijos fazės metu lazeris nurodys lempos padėtį (id: vieta, kurioje yra maršrutizatorius)

2 premija: kai ISS yra šalia lempos vietos (+/- 2 ° ilgio ir +/- 2 ° platumos), visi neopikseliai švelniai mirksės

5 veiksmas: mėgaukitės savo ISS stebėjimo priemone

Jūs sukūrėte ISS sekimo lempą, mėgaukitės!

Pirmasis autoriaus konkursas
Pirmasis autoriaus konkursas
Pirmasis autoriaus konkursas
Pirmasis autoriaus konkursas

Pirmasis prizas pirmojo autoriaus konkurse

Rekomenduojamas: