Spisu treści:
- Krok 1: Modelowanie części w Fusion 360 i drukowanie
- Krok 2: Okablowanie i montaż
- Krok 3: Kod Arduino - uzyskanie pozycji ISS w czasie rzeczywistym
- Krok 4: Ostateczny kod Arduino
- Krok 5: Ciesz się swoim trackerem ISS
Wideo: Lampa śledząca ISS: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Przez większość czasu zastanawiam się, gdzie ISS patrzy w niebo. Aby odpowiedzieć na to pytanie, stworzyłem obiekt fizyczny, aby dokładnie wiedzieć, gdzie jest ISS w czasie rzeczywistym.
Lampa śledząca ISS to lampa podłączona do Internetu, która stale śledzi ISS i wyświetla jej lokalizację na powierzchni Ziemi (drukowana w 3D).
Bonus: lampa wyświetla również słoneczną stronę Ziemi za pomocą Neopikseli!??
Tak więc w tej instrukcji zobaczymy różne kroki, aby zbudować tę lampę w oparciu o WEMOS D1 Mini, silnik krokowy, silnik serwo, laser i części 3D.
Buduję sam, z wyjątkiem Ziemi wydrukowanej w 3D, która została zakupiona na Aliexpress.
Oprogramowanie:
- Kod oparty na Arduino
- Lokalizacja ISS API: Otwórz powiadomienie - Aktualna lokalizacja ISS (autor: Nathan Bergey)
- Analiza danych: Biblioteka ArduinoJson (by Benoit Blanchon)
CAD i części:
- Ziemia Drukowana 3D o średnicy 18cm (kupiona na Aliexpress: tutaj)
- Drukowane w 3D wsporniki silnika - zaprojektowane w Fusion 360 i wydrukowane w Prusa i3 MK2S
- Miedziana rura
- Podstawa betonowa, wykonana we francuskich wikingach
Sprzęt:
- Mikrokontroler: Wemos D1 Mini (zintegrowana antena wifi)
- Serwo EMAX ES3352 MG
- Silnik krokowy 28byj-48 (z płytą sterownika ULN2003)
- 10 Neopikseli LED
- Laser o długości fali 405 nm
- Wyłącznik krańcowy
- Zasilanie 5V 3A
Krok 1: Modelowanie części w Fusion 360 i drukowanie
Aby zamontować cały sprzęt, stworzymy bazę montażową rdzenia na częściach 3D. Części są dostępne na Thingiverse tutaj.
Składa się z 3 części:
1) długość geograficzna krokowa wsparcia
Ta część jest przeznaczona do montażu silnika krokowego, WEMOS, paska Neopixels i miedzianej rurki
2) Przełącznik wsparcia
Ta część jest przeznaczona do montażu wyłącznika krańcowego (służy do wskazania stepperowi szerokości geograficznej -0°/-180°). Jest przykręcony na górze steppera
3) Szerokość geograficzna serwomechanizmu wsparcia
Ta część jest przeznaczona do montażu serwomotoru. Serwo pomocnicze jest zamontowane na silniku krokowym
Wszystkie części zostały wydrukowane na Prusa I3 MK2S, z czarnym filamentem PETG
Krok 2: Okablowanie i montaż
Ten obwód będzie miał wejście zasilania 5V 3A (aby użyć tego samego zasilania dla sterownika krokowego, lasera, Neopikseli i WEMOS)
Poniższym szkicem musimy przylutować zasilacz bezpośrednio do powyższych elementów równolegle:
- Sterownik krokowy
- Laser
- Pasek Neopikseli (Uwaga: w rzeczywistości jest 10 Neopikseli, a nie 8, jak pokazuje szkic)
- WEMOS
Następnie musimy połączyć różne elementy z WEMOS:
1) Sterownik krokowy po tej liście:
- IN1->D5
- IN2->D6
- IN3->D7
- IN4->D8
2) serwosilnik następujący:
Pin serwomechanizmu danych -> D1
3) Pasek Neopixels następujący:
Pin Neopiksela danych -> D2
4) wyłącznik krańcowy następujący:
Dwa piny przełącznika do GND i D3
Podłącz wyłącznik krańcowy w taki sposób, aby obwód był otwarty/uszkodzony po naciśnięciu wyłącznika (aby obwód był zamknięty, gdy nic na niego nie naciska). Ma to na celu uniknięcie błędnego wykładu z powodu szczytu napięcia.
Krok 3: Kod Arduino - uzyskanie pozycji ISS w czasie rzeczywistym
Aby sterować dwoma silnikami, aby osiągnąć pozycję ISS, musimy uzyskać pozycję ISS w czasie rzeczywistym:
- W tym celu najpierw użyjemy API z Open Notify Here
- Następnie musimy przeanalizować dane, aby uzyskać prostą wartość lokalizacji ISS za pomocą Parsing data: ArduinoJson Library (by Benoit Blanchon)
#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Parametry WiFi const char* ssid = "XXXXX"; const char* hasło = "XXXXX"; void setup() { Serial.begin(115200); WiFi.begin(SSid, hasło); while (WiFi.status()!= WL_CONNECTED) { delay(1000); Serial.println("Łączę…"); } }
Ten program łączy NodeMCU z Wi-Fi, a następnie łączy się z API, pobiera dane i drukuje je przez port szeregowy.
pusta pętla () {
if (WiFi.status() == WL_CONNECTED) // Sprawdź stan Wi-Fi {HTTPClient http; //Obiekt klasy HTTPClient http.begin("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET(); //Sprawdź kod zwracany if (httpCode >0) { // Parsowanie const size_t bufferSize = JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(3) + 100; DynamicJsonBuffer jsonBuffer(rozmiarbufora); JsonObject& root = jsonBuffer.parseObject(http.getString()); // Parametry const char* wiadomość = root["wiadomość"]; const char* lon = root["iss_position"]["długość geograficzna"]; const char* lat = root["iss_position"]["szerokość geograficzna"]; // Wyjście do monitora szeregowego Serial.print("Komunikat:"); Serial.println(wiadomość); Serial.print("Długość: "); Serial.println(lon); Serial.print("Szerokość geograficzna: "); Serial.println(lat); } http.end(); //Zamknij połączenie } delay(50000); }
Krok 4: Ostateczny kod Arduino
Poniższy kod Arduino określa lokalizację ISS, aby przesunąć laser we właściwe miejsce na powierzchni Ziemi, a także ustala pozycję słońca, aby oświetlić odpowiednie Neopiksele, aby oświetlić powierzchnię Ziemi dotkniętą przez słońce.
Bonus 1: Gdy lampa jest włączona, podczas fazy inicjalizacji, laser wskaże pozycję lampy (id: pozycja, w której znajduje się router)
Bonus 2: Gdy ISS znajduje się obok lokalizacji lampy (+/- 2° długości i +/- 2° szerokości), wszystkie Neopiksele delikatnie mrugną
Krok 5: Ciesz się swoim trackerem ISS
Zrobiłeś lampę śledzącą ISS, ciesz się!
I nagroda w Konkursie Autorskim Pierwszy raz
Zalecana:
Lampa mumia - inteligentna lampa sterowana przez Wi-Fi: 5 kroków (ze zdjęciami)
Lampa Mumia - Inteligentna Lampa Sterowana WiFi: Około 230 tysięcy lat temu człowiek nauczył się kontrolować ogień, co prowadzi do poważnej zmiany w jego stylu życia, ponieważ zaczął pracować w nocy również przy użyciu światła z ognia. Można powiedzieć, że to początek Oświetlenia Wewnętrznego. Teraz ja
Laserowa wieża śledząca: 5 kroków
Laser Tracking Turret: OŚWIADCZENIE: To nie jest całkowicie ukończony projekt, działa, ale ma wady w kodzie, które sprawiają, że jest to bardzo powolny ruch śledzenia i tylko w kierunku x.Przegląd: Ogólną ideą naszego projektu było przebijanie balonów włączanie maszyny
Lampa spiralna (znana również jako lampa biurkowa Loxodrome): 12 kroków (ze zdjęciami)
Lampa spiralna (znana również jako Loxodrome Desk Lamp): Lampa spiralna (znana również jako Loxodrome Desk Lamp) to projekt, który rozpocząłem w 2015 roku. Zainspirował go Loxodrome Sconce Paula Nylandera. Moim pierwotnym pomysłem była lampa biurkowa z napędem, która rzucałaby na ścianę płynące wiry światła. Zaprojektowałem i
Kamera śledząca kulki 180 °: 5 kroków (ze zdjęciami)
Ball Tracking 180° Camera: Witam w moim pierwszym projekcie! Cieszę się, że mogę podzielić się tym, co zrobiłem i pokazać, jak zbudować własną kamerę śledzącą. Ten projekt był możliwy dzięki bibliotece OpenCV w połączeniu z Pythonem
LAMPA BALONOWA!!!NIESAMOWITE!!! (prosta lampa Awsome Ballon)!!: 6 kroków (ze zdjęciami)
LAMPA BALONOWA!!!NIESAMOWITE!!! (prosta Awsome Ballon Lamp)!!: Prosta lampa balonowa jest wykonana z balonów i taśmy led 12 V ze sterownikiem led