ISS'nin (Uluslararası Uzay İstasyonu) tam olarak nerede olduğunu merak ediyorsanız, bu proje tam size göre.
Cihazın içinde lazerin konumunu kontrol eden iki step motor bulunur. Dünya'nın güneş ışınlarının düştüğü kısmının aydınlatması da uygulanır.
Araçlar ve malzemeler:
18 cm çapında -3D baskılı Toprak;
-3D yazıcı;
-Bakır tüp;
-Beton kiremit;
Wi-Fi özellikli Wemos D1 Mini modülü;
- Servo sürücü EMAX ES3352 MG;
-Uzun motor 28BYJ-48 sürücü kartı ULN2003 ile;
-10 LED NeoPiksel;
-405 nm dalga boyuna sahip lazer;
- Limit anahtarı;
- Güç kaynağı 5V 3A;
Birinci Adım: 3D Baskı
Tüm ekipmanları monte etmek için çerçevenin ayrıntılarını yazdırmanız gerekir. Dosyaları yazdırmak için indirebilirsiniz burada.
Çerçevenin üç kısmı vardır:
taban - bir step motor, WEMOS, Neopiksel bant ve bakır boru montajı için.
- limit anahtarını takmak için orta kısım;
- Üst kısım bir servo motorun montajı içindir.
İkinci Adım: Bağlanın ve Oluşturun
Güç için 5V 3A'lık bir voltaj sağlanacaktır. Konektörden adım sürücüsüne, lazere, LED'lere ve Wemos modülüne güç sağlanır.
Ardından Wemos ile bağlantı kurmanız gerekir:
1) Adım sürücüsü
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servo motor
Veri Servo Pimi -> D1
3) LED'ler
Neopiksel Pim -> D2
4) Limit anahtarı
GND ve D3 üzerinde iki anahtar pimi
Üçüncü Adım: Kod
İki motorun ISS ile senkronize olarak hareket edebilmesi için, ISS'nin konumunu gerçek zamanlı olarak almanız gerekir:
Bunu yapmak için önce API’yı Bildirimi burada aç
Ardından, veri analizini kullanarak ISS konum değerini almak için verileri analiz etmeniz gerekir: ArduinoJson Kütüphanesi
#include 0) {// Ayrıştırma
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 * message = root ["mesaj"];
const char * lon = root ["iss_position"] ["boylam"];
const char * lat = kök ["iss_position"] ["enlem"]; // Seri monitöre çıkış
Serial.print ("İleti:");
Serial.println (mesaj);
Serial.print ("Boylam:");
Serial.println (lon);
Serial.print ("Latitude:");
Serial.println (lat);
}
http.end (); // Bağlantıyı kapat
}
gecikme (50000);
}
Aşağıdaki kod Arduino lazeri Dünya'nın yüzeyinde istenen konuma taşımak için ISS'nin konumunu elde etmenizi ve Güneş'in aydınlattığı Dünya yüzeyinde karşılık gelen LED'leri aydınlatmak için Güneş'in konumunu elde etmenizi sağlar.
ISS_Tracker_Final.ino
Herşey hazır.