Cuprins:
- Pasul 1: Modelarea pieselor în Fusion 360 și imprimare
- Pasul 2: Cablare și asamblare
- Pasul 3: Cod Arduino - Obținerea poziției ISS în timp real
- Pasul 4: Codul Arduino final
- Pasul 5: Bucurați-vă de ISS Tracker
Video: Lampă de urmărire ISS: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
De cele mai multe ori, mă întreb unde este ISS-ul care privește cerul. Pentru a răspunde la această întrebare, am făcut un obiect fizic pentru a ști exact unde este ISS în timp real.
Lampa de urmărire ISS este o lampă conectată la internet care urmărește în mod constant ISS și o afișează pe suprafața Pământului (tipărită în 3D).
Bonus: lampa afișează și partea însorită a Pământului cu Neopixeli! ??
Deci, în acest Instructables, vom vedea pașii diferiți pentru a construi această lampă pe baza WEMOS D1 Mini, motor pas cu pas, servomotor, laser și piese 3D.
Construiesc singur, cu excepția Pământului tipărit 3D, care a fost achiziționat de pe Aliexpress.
Software:
- Cod bazat pe Arduino
- Locația ISS API: Notificare deschisă - Locația curentă a ISS (de Nathan Bergey)
- Analizarea datelor: ArduinoJson Library (de Benoit Blanchon)
CAD și piese:
- Pământ tipărit 3D cu diametrul de 18 cm (achiziționat pe Aliexpress: aici)
- Suporturi pentru motoare tipărite 3D - proiectate cu Fusion 360 și tipărite cu Prusa i3 MK2S
- Tub de cupru
- Baza de beton, realizată cu Vikingii francezi
Hardware:
- Microcontroler: Wemos D1 Mini (antenă wifi integrată)
- Servo EMAX ES3352 MG
- Motor pas cu pas 28byj-48 (cu placa driverului ULN2003)
- 10 LED-uri NeoPixels
- Laser cu o lungime de undă de 405 nm
- Comutator de limitare
- Sursa de alimentare 5V 3A
Pasul 1: Modelarea pieselor în Fusion 360 și imprimare
Pentru a monta tot hardware-ul, vom crea baza de asamblare de bază pe piese 3D. Piesele sunt disponibile pe Thingiverse aici.
Există 3 părți:
1) Longitudinea pas cu pas a suportului
Această piesă este realizată pentru montarea motorului pas cu pas, WEMOS, banda Neopixels și tubul de cupru
2) Comutatorul de asistență
Această parte este făcută pentru montarea întrerupătorului de limită (utilizați pentru a indica pasului cu latitudine -0 ° / -180 °). Este înșurubat în partea superioară a treptei
3) Servo Latitude de asistență
Această piesă este realizată pentru montarea servomotorului. Servomotorul de asistență este montat pe motorul pas cu pas
Toate piesele au fost tipărite pe Prusa I3 MK2S, cu filament negru PETG
Pasul 2: Cablare și asamblare
Acest circuit va avea o intrare de alimentare de 5V 3A (pentru a utiliza aceeași sursă pentru driverul pas cu pas, laserul, Neopixels și WEMOS)
Prin următoarea schiță, trebuie să lipim sursa de alimentare direct în elementele de mai sus în paralel:
- Driver pas cu pas
- Laser
- Banda de Neopixeli (NB: există 10 Neopixeli în realitate, nu 8 așa cum arată schița)
- WEMOS
Apoi, trebuie să conectăm diferitele elemente la WEMOS:
1) Driverul pas cu pas care urmează această listă:
- IN1-> D5
- IN2-> D6
- IN3-> D7
- IN4-> D8
2) Servomotorul următor:
Servo Pin de date -> D1
3) Banda Neopixels urmează:
Pin Neopixeli de date -> D2
4) Întrerupătorul de limită care urmează:
Cei doi pini ai comutatorului la GND și D3
Conectați întrerupătorul de limită într-un mod în care circuitul este deschis / rupt când apăsăm comutatorul (astfel circuitul este închis când nimic nu îl împinge). Aceasta este pentru a evita orice prelegere greșită din cauza unui vârf de tensiune.
Pasul 3: Cod Arduino - Obținerea poziției ISS în timp real
Pentru a conduce cele două motoare pentru a ajunge la poziția ISS, trebuie să obținem poziția ISS în timp real:
- Pentru prima dată vom folosi API-ul Open Notify Here
- Apoi, trebuie să analizăm datele pentru a obține o valoare simplă a locației ISS cu ajutorul analizelor de date: ArduinoJson Library (de Benoit Blanchon)
#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametri WiFi const char * ssid = "XXXXX"; const char * password = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, parolă); while (WiFi.status ()! = WL_CONNECTED) {întârziere (1000); Serial.println ("Conectarea …"); }}
Acest program conectează NodeMCU la WiFi, apoi se conectează la API, obține datele și le imprimă prin serial.
bucla nulă () {
if (WiFi.status () == WL_CONNECTED) // Verificați starea WiFi {HTTPClient http; // Obiectul clasei HTTPClient http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Verificați codul returnat dacă (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 ()); // Parametrii const char * message = root ["message"]; const char * lon = root ["iss_position"] ["longitude"]; const char * lat = root ["iss_position"] ["latitude"]; // Ieșire pe monitorul serial Serial.print ("Mesaj:"); Serial.println (mesaj); Serial.print ("Longitudine:"); Serial.println (lon); Serial.print ("Latitudine:"); Serial.println (lat); } http.end (); // Închidere conexiune} întârziere (50000); }
Pasul 4: Codul Arduino final
Următorul cod Arduino obține locația ISS pentru a muta laserul la locul potrivit de pe suprafața Pământului și obținerea poziției soarelui pentru a aprinde Neopixelii în cauză pentru a lumina suprafața Pământului atingută de soare.
Bonus 1: Când lampa este aprinsă, în timpul fazei de inițializare, laserul va indica poziția lămpii (id: poziția în care este routerul)
Bonus 2: Când ISS este lângă locația lămpii (+/- 2 ° lungime și +/- 2 ° lat.), Toți Neopixelii vor clipi ușor
Pasul 5: Bucurați-vă de ISS Tracker
Ați făcut o lampă de urmărire ISS, bucurați-vă!
Premiul I la primul concurs de autor
Recomandat:
Osciloscop cu urmărire dublă: 11 pași (cu imagini)
Osciloscop cu urmărire dublă: Când mi-am construit mini-osciloscopul anterior, am vrut să văd cât de bine aș putea face ca cel mai mic microcontroler ARM al meu să fie performant STM32F030 (F030) și a făcut o treabă frumoasă. Într-unul dintre comentarii s-a sugerat că o „Blue Pill” cu un STM32F103
Cum să construiești PHIL - un robot de urmărire ușoară: 6 pași (cu imagini)
Cum să construiți PHIL - un robot de urmărire ușoară: În acest instructable vă voi arăta cum am realizat acest robot de urmărire a luminii cu două axe folosind un Arduino Uno. Toate CAD-urile și codul vor fi incluse, astfel încât să le puteți construi singur fără a avea nevoie de abilități de programare sau proiectare. Tot ce vei avea nevoie
ATtiny85 Urmărire și programare urmărire activități vibrante purtabile ATtiny85 cu Arduino Uno: 4 pași (cu imagini)
ATtiny85 Ceas și programare de urmărire a activității vibrante purtabile ATtiny85 Cu Arduino Uno: Cum să faci ceasul de urmărire a activității purtabil? Acesta este un gadget portabil conceput pentru a vibra atunci când detectează stagnarea. Îți petreci cea mai mare parte a timpului pe computer ca mine? Stai ore în șir fără să-ți dai seama? Atunci acest dispozitiv este f
Urmărire și urmărire pentru magazine mici: 9 pași (cu imagini)
Urmărire și urmărire pentru magazine mici: Acesta este un sistem creat pentru magazinele mici care se presupune că se montează pe biciclete electrice sau scutere electronice pentru livrări la distanță scurtă, de exemplu o brutărie care dorește să livreze produse de patiserie. Ce înseamnă urmărirea și urmărirea? Urmărirea și urmărirea este un sistem utilizat de ca
Glob de urmărire ISS: 6 pași (cu imagini)
Globul de urmărire ISS: Stația Spațială Internațională este una dintre culmile tehnologiei umane și cui nu i-ar plăcea să-și cunoască locația în fiecare minut? Desigur, nimeni. Deci, în acest Instructables vă vom arăta cum să construiți un tracker de locație folosind leduri, un