Satura rādītājs:

ISS izsekošanas lampa: 5 soļi (ar attēliem)
ISS izsekošanas lampa: 5 soļi (ar attēliem)

Video: ISS izsekošanas lampa: 5 soļi (ar attēliem)

Video: ISS izsekošanas lampa: 5 soļi (ar attēliem)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Novembris
Anonim
ISS izsekošanas lampa
ISS izsekošanas lampa
ISS izsekošanas lampa
ISS izsekošanas lampa

Lielāko daļu laika es domāju, kur ISS skatās debesīs. Lai atbildētu uz šo jautājumu, esmu izveidojis fizisku objektu, lai reālā laikā precīzi zinātu, kur atrodas ISS.

ISS izsekošanas lampa ir ar internetu savienota lampa, kas pastāvīgi izseko ISS un parāda tās atrašanās vietu uz Zemes virsmas (izdrukāta 3D formātā).

Bonuss: lampa parāda arī Zemes saulaino pusi ar neopikseļiem! ??

Tātad, šajā instrukcijā mēs redzēsim dažādus soļus, lai izveidotu šo lampu, pamatojoties uz WEMOS D1 Mini, pakāpju motoru, servomotoru, lāzeru un 3D detaļām.

Es visu būvēju pats, izņemot 3D drukāto Zemi, kas tika iegādāta vietnē Aliexpress.

Programmatūra:

  • Kods, kura pamatā ir Arduino
  • API ISS atrašanās vieta: Atvērt paziņojumu - pašreizējā ISS atrašanās vieta (autors Nathan Bergey)
  • Parsēšanas dati: ArduinoJson bibliotēka (Benoit Blanchon)

CAD un detaļas:

  • 3D iespiesta zeme ar 18 cm diametru (iegādāta vietnē Aliexpress: šeit)
  • 3D drukāti motora balsti - izstrādāti ar Fusion 360 un drukāti ar Prusa i3 MK2S
  • Vara caurule
  • Betona pamatne, izgatavota no franču vikingi

Aparatūra:

  • Mikrokontrolleris: Wemos D1 Mini (integrēta wifi antena)
  • Servo EMAX ES3352 MG
  • Stepper Motor 28byj-48 (ar ULN2003 draivera paneli)
  • 10 NeoPixels LED
  • Lāzers ar viļņu garumu 405 nm
  • Limit slēdzis
  • 5V 3A barošanas avots

1. darbība: detaļu modelēšana programmā Fusion 360 un drukāšana

Daļu modelēšana programmā Fusion 360 un drukāšana
Daļu modelēšana programmā Fusion 360 un drukāšana
Daļu modelēšana programmā Fusion 360 un drukāšana
Daļu modelēšana programmā Fusion 360 un drukāšana
Daļu modelēšana programmā Fusion 360 un drukāšana
Daļu modelēšana programmā Fusion 360 un drukāšana

Lai uzstādītu visu aparatūru, mēs izveidosim galveno montāžas bāzi uz 3D detaļām. Daļas ir pieejamas vietnē Thingiverse šeit.

Ir 3 daļas:

1) Atbalsta pakāpiena garums

Šī daļa ir paredzēta soļu motora, WEMOS, Neopixels sloksnes un vara caurules montāžai

2) atbalsta slēdzis

Šī daļa ir paredzēta gala slēdža uzstādīšanai (izmantojiet, lai norādītu stepperim platumu -0 °/-180 °). Tas ir pieskrūvēts pakāpiena augšpusē

3) Atbalsta servo Latitude

Šī daļa ir paredzēta servodzinēja uzstādīšanai. Atbalsta servo ir uzstādīts uz pakāpju motora

Visas detaļas tika drukātas uz Prusa I3 MK2S ar melnu PETG kvēldiegu

2. darbība: elektroinstalācija un montāža

Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana

Šai shēmai būs 5V 3A barošanas ieeja (lai izmantotu to pašu barošanas avotu stepper vadītājam, lāzeram, neopikseliem un WEMOS)

Izmantojot šo skici, mums paralēli jāpielodē barošanas avots tieši iepriekš minētajiem elementiem:

  • Stepper vadītājs
  • Lāzers
  • Neopikseļu sloksne (NB: patiesībā ir 10 neopikseļi, nevis 8, kā redzams skicē)
  • WEMOS

Tālāk mums ir jāpievieno dažādi elementi WEMOS:

1) Stepper vadītājs seko šim sarakstam:

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

2) Servo motors:

Datu servo tapa -> D1

3) Neopikseļu sloksne:

Datu neopikseli Pin -> D2

4) Ierobežojuma slēdzis ir šāds:

Abas slēdža tapas uz GND un D3

Pievienojiet ierobežojošo slēdzi tā, lai ķēde tiktu atvērta/pārtraukta, kad mēs nospiežam slēdzi (tātad ķēde ir slēgta, kad nekas to nespiež). Tas ir, lai izvairītos no nepareizas lekcijas sprieguma maksimuma dēļ.

3. darbība: Arduino kods - ISS pozīcijas iegūšana reālā laikā

Lai vadītu abus motorus, lai sasniegtu ISS stāvokli, mums ir jāapgūst ISS stāvoklis reālā laikā:

  • Vispirms mēs izmantosim API no Open Notify Here
  • Pēc tam mums jāanalizē dati, lai iegūtu vienkāršu ISS atrašanās vietas vērtību, izmantojot Parsing data: ArduinoJson Library (Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parametri const char* ssid = "XXXXX"; const char* parole = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, parole); while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (1000); Serial.println ("Notiek savienošana …"); }}

Šī programma savieno NodeMCU ar WiFi, pēc tam izveido savienojumu ar API, iegūst datus un izdrukā tos sērijveidā.

void loop () {

if (WiFi.status () == WL_CONNECTED) // Pārbaudīt WiFi statusu {HTTPClient http; // HTTPClient klases objekts http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Pārbaudiet atgriešanas kodu, ja (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 ()); // Parametri const char* message = root ["message"]; const char* lon = sakne ["iss_position"] ["garums"]; const char* lat = sakne ["iss_position"] ["platums"]; // Izeja uz seriālo monitoru Serial.print ("Ziņojums:"); Serial.println (ziņojums); Serial.print ("Garums:"); Serial.println (lon); Serial.print ("Latitude:"); Sērijas.println (lat); } http.end (); // Aizvērt savienojumu} kavēšanās (50000); }

4. solis: galīgais Arduino kods

Šis Arduino kods nosaka ISS atrašanās vietu, lai pārvietotu lāzeru pareizajā vietā uz Zemes virsmas, un saules stāvokli, lai apgaismotu attiecīgos neopikseļus, lai apgaismotu Zemes virsmu, ko skar saule.

1. bonuss: kad lampa ir ieslēgta, inicializācijas fāzē lāzers norādīs uz luktura pozīciju (id: vieta, kur atrodas maršrutētājs)

2. bonuss: kad ISS atrodas blakus lampas atrašanās vietai (+/- 2 ° garš un +/- 2 ° platums), visi neopikseli maigi mirkšķinās

5. darbība. Izbaudiet ISS izsekotāju

Jūs esat izveidojis ISS izsekošanas lampu, baudiet!

Pirmo reizi autoru konkurss
Pirmo reizi autoru konkurss
Pirmo reizi autoru konkurss
Pirmo reizi autoru konkurss

Pirmā balva pirmo reizi autoru konkursā

Ieteicams: