Talaan ng mga Nilalaman:

ISS Tracking Lamp: 5 Hakbang (na may Mga Larawan)
ISS Tracking Lamp: 5 Hakbang (na may Mga Larawan)

Video: ISS Tracking Lamp: 5 Hakbang (na may Mga Larawan)

Video: ISS Tracking Lamp: 5 Hakbang (na may Mga Larawan)
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Nobyembre
Anonim
Ilaw ng Pagsubaybay sa ISS
Ilaw ng Pagsubaybay sa ISS
Ilaw ng Pagsubaybay sa ISS
Ilaw ng Pagsubaybay sa ISS

Karamihan sa mga oras, iniisip ko kung nasaan ang mga ISS na tumitingin sa langit. Upang sagutin ang katanungang ito, gumawa ako ng isang pisikal na bagay upang malaman nang eksakto kung nasaan ang ISS sa real time.

Ang ISS Tracking Lamp ay isang lamp na konektado sa Internet na patuloy na sinusubaybayan ang ISS at ipinapakita ang lokasyon sa ibabaw ng Earth (nakalimbag sa 3D).

Bonus: ipinapakita rin ng lampara ang maaraw na bahagi ng Earth na may Neopixels! ??

Kaya, sa Mga Instructionable na ito, makikita natin ang magkakaibang mga hakbang upang maitayo ang lampara na ito batay sa WEMOS D1 Mini, stepper motor, servo motor, laser at mga bahagi ng 3D.

Binubuo ko nang mag-isa, maliban sa naka-print na 3D na Lupa, na binili sa Aliexpress.

Software:

  • Batay sa code ng Arduino
  • Lokasyon ng API ISS: Buksan ang Abisuhan - Kasalukuyang Lokasyon ng ISS (ni Nathan Bergey)
  • Data ng pag-parse: ArduinoJson Library (ni Benoit Blanchon)

CAD at Mga Bahagi:

  • 3D Printed Earth na 18cm diameter (binili sa Aliexpress: dito)
  • Mga 3D na suportang motor na naka-print - dinisenyo gamit ang Fusion 360 at naka-print sa Prusa i3 MK2S
  • Copper Tube
  • Base sa kongkreto, na gawa sa The French Vikings

Hardware:

  • Microcontroller: Wemos D1 Mini (isinama ang wifi antena)
  • Servo EMAX ES3352 MG
  • Stepper Motor 28byj-48 (kasama ang driver board ng ULN2003)
  • 10 NeoPixels LED
  • Laser ng 405 nm haba ng daluyong
  • Limitahan ang Lumipat
  • 5V 3A Power Supply

Hakbang 1: Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print

Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print
Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print
Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print
Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print
Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print
Mga Bahagi ng Pagmomodelo sa Fusion 360 at Pagpi-print

Upang mai-mount ang lahat ng hardware, lilikha kami ng pangunahing base ng pagpupulong sa mga bahagi ng 3D. Magagamit ang mga bahagi sa Thingiverse dito.

Mayroong 3 bahagi:

1) Ang Suporta ng Stepper Longitude

Ang bahaging ito ay ginawa para sa pag-mount ng stepper motor, ang WEMOS, ang Neopixels strip at ang tube ng tanso

2) Ang Lumipat ng Suporta

Ang bahaging ito ay ginawa para sa pag-mount ng switch ng limit (gamitin upang ipahiwatig sa stepper ang latitude -0 ° / -180 °). Ito ay naka-screw sa tuktok ng stepper

3) Ang Suporta ng Latitude ng Servo

Ang bahaging ito ay ginawa para sa pag-mount ng motor ng servo. Ang Suporta Servo ay naka-mount sa stepper motor

Ang lahat ng mga bahagi ay naka-print sa Prusa I3 MK2S, na may itim na filament ng PETG

Hakbang 2: Mga Kable at Assembling

Mga Kable at Assembling
Mga Kable at Assembling
Mga Kable at Assembling
Mga Kable at Assembling

Ang circuit na ito ay magkakaroon ng 5V 3A power input (upang magamit ang parehong supply para sa stepper driver, laser, Neopixels at WEMOS)

Sa pamamagitan ng sumusunod na Sketch, kailangan naming maghinang ang supply ng kuryente nang direkta sa mga elemento sa itaas nang kahanay:

  • Stepper Driver
  • Laser
  • Neopixels strip (NB: mayroong 10 Neopixels sa katotohanan, hindi 8 tulad ng ipinapakita ng sketch)
  • WEMOS

Susunod, kailangan naming ikonekta ang iba't ibang mga elemento sa WEMOS:

1) Ang stepper driver na sumusunod sa listahang ito:

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

2) Ang sumusunod na servo motor:

Data Servo Pin -> D1

3) Ang Neopixels strip na sumusunod:

Data Neopixels Pin -> D2

4) Ang sumusunod na switch sa limitasyon:

Ang dalawang pin ng switch sa GND at D3

Ikonekta ang switch ng limit sa isang paraan na ang circuit ay binuksan / nasira kapag pinindot namin ang switch (kaya ang circuit ay sarado kapag walang itulak dito). Ito ay upang maiwasan ang anumang maling panayam dahil sa isang rurok ng boltahe.

Hakbang 3: Arduino Code - Pagkuha ng Posisyon ng ISS sa Real Time

Upang himukin ang dalawang motor upang maabot ang posisyon ng ISS, kailangan nating makuha ang posisyon ng ISS sa real time:

  • Para doon muna gagamitin namin ang API mula sa Buksan ang Abiso Dito
  • Pagkatapos, kailangan nating i-parse ang data upang makakuha ng simpleng halaga ng lokasyon ng ISS sa tulong ng data ng Parsing: ArduinoJson Library (ni Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parameter const char * ssid = "XXXXX"; const char * password = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, password); habang (WiFi.status ()! = WL_CONNected) {pagkaantala (1000); Serial.println ("Kumokonekta …"); }}

Ang program na ito ay kumokonekta sa NodeMCU sa WiFi, pagkatapos ay kumokonekta sa API, makuha ang data at mai-print ito sa pamamagitan ng serial.

void loop () {

kung (WiFi.status () == WL_CONNected) // Suriin ang Katayuan ng WiFi {HTTPClient http; // Object of class HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Suriin ang nagbabalik na code kung (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 ()); // Parameter const char * message = root ["message"]; const char * lon = root ["iss_position"] ["longitude"]; const char * lat = root ["iss_position"] ["latitude"]; // Output sa serial monitor Serial.print ("Mensahe:"); Serial.println (mensahe); Serial.print ("Longitude:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // Close koneksyon} pagkaantala (50000); }

Hakbang 4: Pangwakas na Arduino Code

Ang sumusunod na Arduino code ay nakukuha ang lokasyon ng ISS upang ilipat ang laser sa tamang lugar sa ibabaw ng Earth, at ang pagkuha ng posisyon ng araw upang magaan ang mga nag-aalala na Neopixels upang magaan ang ibabaw ng Earth touch ng araw.

Bonus 1: Kapag ang lampara ay nakabukas, sa panahon ng yugto ng pagsisimula, ituturo ng laser ang posisyon ng lampara (id: ang posisyon kung saan ang router ay)

Bonus 2: Kapag ang ISS ay nasa tabi ng lokasyon ng lampara (+/- 2 ° ang haba. At +/- 2 ° lat.), Lahat ng mga Neopixel ay dahan-dahang kikindat

Hakbang 5: Masiyahan sa Iyong ISS Tracker

Gumawa ka ng isang ISS Tracking Lamp, mag-enjoy!

First Time May-akda Contest
First Time May-akda Contest
First Time May-akda Contest
First Time May-akda Contest

Unang Gantimpala sa First Time na Paligsahan ng May-akda

Inirerekumendang: