İçindekiler:
- Adım 1: Parçaları Fusion 360'ta Modelleme ve Yazdırma
- Adım 2: Kablolama ve Montaj
- Adım 3: Arduino Kodu - ISS Konumunu Gerçek Zamanlı Olarak Alma
- Adım 4: Son Arduino Kodu
- Adım 5: ISS Tracker'ınızın Keyfini Çıkarın
Video: ISS Takip Lambası: 5 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Çoğu zaman, ISS'nin gökyüzüne nereye baktığını merak ediyorum. Bu soruyu cevaplamak için, ISS'nin gerçek zamanlı olarak tam olarak nerede olduğunu bilmek için fiziksel bir nesne yaptım.
ISS İzleme Lambası, ISS'yi sürekli izleyen ve Dünya yüzeyinde konumunu gösteren (3D olarak basılmış) İnternet bağlantılı bir lambadır.
Bonus: Lamba ayrıca Neopiksellerle Dünyanın güneşli tarafını da gösteriyor!??
Bu nedenle, bu Talimatlarda, bu lambayı WEMOS D1 Mini, step motor, servo motor, lazer ve 3D parçalara dayalı olarak oluşturmak için farklı adımları göreceğiz.
Aliexpress'ten satın alınan 3D baskılı Dünya dışında her şeyi kendim yapıyorum.
Yazılım:
- Arduino tabanlı kod
- API ISS Konumu: Açık Bildirim - ISS'nin Mevcut Konumu (Nathan Bergey tarafından)
- Ayrıştırma verileri: ArduinoJson Kütüphanesi (Benoit Blanchon tarafından)
CAD ve Parçaları:
- 18cm çapında 3D Baskılı Toprak (Aliexpress'ten satın alındı: burada)
- 3D baskılı motor destekleri - Fusion 360 ile tasarlandı ve Prusa i3 MK2S ile basıldı
- Bakır boru
- Fransız Vikingleri ile yapılan beton taban
Donanım:
- Mikrodenetleyici: Wemos D1 Mini (wifi anten entegre)
- Servo EMAX ES3352 MG
- Step Motor 28byj-48 (ULN2003 sürücü kartı ile)
- 10 NeoPiksel LED
- 405 nm dalga boyunda lazer
- Limit anahtarı
- 5V 3A Güç Kaynağı
Adım 1: Parçaları Fusion 360'ta Modelleme ve Yazdırma
Tüm donanımı monte etmek için çekirdek montaj tabanını 3B parçalar üzerinde oluşturacağız. Parçalar burada Thingiverse'de mevcuttur.
3 kısım vardır:
1) Destek Step Boylamı
Bu parça step motoru, WEMOS'u, Neopiksel şeridi ve bakır boruyu monte etmek için yapılmıştır.
2) Destek Anahtarı
Bu parça, limit anahtarının montajı için yapılmıştır (step cihazına -0°/-180° enlemini belirtmek için kullanın). Stepper'ın üstüne vidalanmış
3) Destek Servo Latitude
Bu parça servo motorun montajı için yapılmıştır. Destek Servosu, step motora monte edilmiştir.
Tüm parçalar siyah PETG filamentli Prusa I3 MK2S üzerine basılmıştır.
Adım 2: Kablolama ve Montaj
Bu devre 5V 3A güç girişine sahip olacaktır (aynı beslemeyi step sürücü, lazer, Neopikseller ve WEMOS için kullanmak için)
Aşağıdaki Sketch ile, güç kaynağını doğrudan yukarıdaki elemanlara paralel olarak lehimlememiz gerekiyor:
- Step Sürücü
- Lazer
- Neopiksel şeridi (Not: gerçekte 10 Neopiksel vardır, çizimde gösterildiği gibi 8 değil)
- WEMOS
Ardından, farklı öğeleri WEMOS'a bağlamamız gerekiyor:
1) Bu listeyi takip eden step sürücü:
- IN1->D5
- IN2->D6
- IN3->D7
- IN4->D8
2) Aşağıdaki servo motor:
Veri Servo Pimi -> D1
3) Neopiksel şeridi aşağıdaki gibidir:
Veri Neopiksel Pimi -> D2
4) Aşağıdaki limit anahtarı:
GND ve D3'e geçişin iki pimi
Limit şalterini, şaltere bastığımızda devre açılacak/kırılacak şekilde (böylece üzerine hiçbir şey basıldığında devre kapalı olacak şekilde) bağlayın. Bu, voltaj tepe noktası nedeniyle herhangi bir yanlış anlatımı önlemek içindir.
Adım 3: Arduino Kodu - ISS Konumunu Gerçek Zamanlı Olarak Alma
ISS'nin konumuna ulaşmak için iki motoru sürmek için ISS'nin konumunu gerçek zamanlı olarak almamız gerekir:
- Bunun için önce Buraya Bildir'i Aç'tan API'yi kullanacağız.
- Ardından, Parsing data: ArduinoJson Library (by Benoit Blanchon) yardımıyla ISS konumunun basit değerini elde etmek için verileri ayrıştırmamız gerekiyor.
#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Parametreleri const char* ssid = "XXXXX"; const char* şifre = "XXXXX"; geçersiz kurulum() { Serial.begin(115200); WiFi.begin(ssid, şifre); while (WiFi.status()!= WL_CONNECTED) { gecikme(1000); Serial.println("Bağlanıyor…"); } }
Bu program NodeMCU'yu WiFi'ye bağlar, ardından API'ye bağlanır, verileri alır ve seri olarak yazdırır.
boşluk döngüsü () {
if (WiFi.status() == WL_CONNECTED) // WiFi Durumunu Kontrol Et {HTTPClient http; // HTTPClient sınıfının nesnesi http.begin("https://api.open-notify.org/iss-now.json"); int httpKodu = http. GET(); //dönen kodu kontrol edin if (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()); // Parametreler const char* mesaj = kök["mesaj"]; const char* lon = kök["iss_position"]["boylam"]; const char* lat = kök["iss_position"]["enlem"]; // Seri monitöre çıktı Serial.print("Mesaj:"); Serial.println(mesaj); Serial.print("Boylam: "); Seri.println(lon); Serial.print("Enlem: "); Seri.println(lat); } http.end(); //Bağlantıyı kapat } gecikme(50000); }
Adım 4: Son Arduino Kodu
Aşağıdaki Arduino kodu, lazeri Dünya yüzeyinde doğru yere hareket ettirmek için ISS konumunu ve Güneş'in Dünya'nın temasını aydınlatmak için ilgili Neopikselleri aydınlatmak için güneşin konumunu alır.
Bonus 1: Lamba açıldığında, başlatma aşamasında, lazer lambanın konumunu işaret edecektir (id: yönlendiricinin bulunduğu konum)
Bonus 2: ISS, lamba konumunun yanında (+/- 2° uzunluğunda ve +/-2° enlem.) olduğunda, tüm Neopikseller hafifçe göz kırpacaktır.
Adım 5: ISS Tracker'ınızın Keyfini Çıkarın
Bir ISS Takip Lambası yaptınız, keyfini çıkarın!
İlk Kez Yazar Yarışmasında Birincilik Ödülü
Önerilen:
Arduino - Labirent Çözen Robot (MicroMouse) Duvar Takip Robotu: 6 Adım (Resimli)
Arduino | Labirent Çözen Robot (MicroMouse) Duvar Takipçi Robot: Hoş Geldiniz Ben Isaac ve bu benim ilk robotum "Striker v1.0". Bu Robot basit bir Labirenti çözmek için tasarlandı. Yarışmada iki labirentimiz vardı ve robot onları tanımlayabildi. Labirentteki diğer herhangi bir değişiklik, labirentte bir değişiklik gerektirebilir
Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)
Gelişmiş Çizgi Takip Robotu: Bu, benim yaptığım ve bir süredir üzerinde çalıştığım Teensy 3.6 ve QTRX çizgi sensörünü temel alan gelişmiş bir çizgi izleyen robottur. Daha önceki çizgi izleyen robotumdan tasarım ve performansta bazı önemli gelişmeler var. T
5'i 1 Arada Arduino Robotu - Beni Takip Et - Satır Takip - sumo - Çizim - Engelden Kaçınma: 6 Adım
5'i 1 Arada Arduino Robotu | Beni Takip Et | Satır Takip | sumo | Çizim | Engelden Kaçınma: Bu robot kontrol panosu, bir ATmega328P mikro denetleyici ve bir L293D motor sürücüsü içerir. Elbette bir Arduino Uno kartından farkı yok ama motoru sürmek için başka bir kalkana ihtiyaç duymadığı için daha kullanışlı! Zıplamaktan muaftır
Küçük Mağazalar İçin Takip ve Takip: 9 Adım (Resimli)
Küçük Dükkanlar için Takip ve Takip: Kısa mesafeli teslimatlar için e-bisiklet veya e-scooter üzerine monte edilmesi gereken küçük dükkanlar için yapılmış bir sistemdir, örneğin hamur işleri teslim etmek isteyen bir fırın. Track and Trace ne anlama geliyor?Track and Trace ca tarafından kullanılan bir sistemdir
Mini LED Başucu Gece Lambası / Lambası: 5 Adım
Mini LED Başucu Gece Lambası / Lamba: Öncelikle, bunun Sunbanks'ın Mini ayaklı LED lambasından ilham aldığını söylemeliyim. Led'i masadan uzak tutmak için bir kalem kullanmak yerine, ışığı tabandan yansıtmak için biraz şeffaf perspeks kullandım. Bu küçük proje bir prototip