Мазмуну:

ISS көзөмөлдөө чырагы: 5 кадам (сүрөттөр менен)
ISS көзөмөлдөө чырагы: 5 кадам (сүрөттөр менен)

Video: ISS көзөмөлдөө чырагы: 5 кадам (сүрөттөр менен)

Video: ISS көзөмөлдөө чырагы: 5 кадам (сүрөттөр менен)
Video: Чоң кылмыш кичинеден башталат / Жаны кыргыз кино 2019 / Жашоо жаңырыгы 2024, Июль
Anonim
ISS Tracking Lamp
ISS Tracking Lamp
ISS Tracking Lamp
ISS Tracking Lamp

Көбүнчө, ISS асманды карап турган жерди ойлонуп жатам. Бул суроого жооп берүү үчүн, мен реалдуу убакытта ISSтин кайда экенин так билүү үчүн физикалык объект жасадым.

ISS Tracking Lamp - бул Интернетке туташкан лампа, ал ISSти дайыма көзөмөлдөп турат жана аны жер бетинде жайгашкан жерди көрсөтөт (3D форматында басылган).

Бонус: чырак ошондой эле Жердин күнөстүү тарабын неопиксель менен көрсөтөт! ??

Ошентип, бул Нускамада WEMOS D1 Mini, stepper мотору, servo мотор, лазер жана 3D бөлүктөрүнүн негизинде бул лампаны куруу үчүн ар кандай кадамдарды көрөбүз.

Мен Aliexpressтен сатылып алынган 3D басылган Жерден башкасын өзүм курам.

Программалык камсыздоо:

  • Arduino негизделген код
  • API ISS Жайгашкан жери: Ачык эскертүү - ISSтин учурдагы жайгашкан жери (Натан Берги тарабынан)
  • Маалыматтарды талдоо: ArduinoJson Library (Бенуа Бланчон тарабынан)

CAD & Бөлүктөрү:

  • Диаметри 18 см болгон 3D Жер (Aliexpressтен сатылып алынган: бул жерде)
  • 3D басылган мотор колдоосу - Fusion 360 менен иштелип чыккан жана Prusa i3 MK2S менен басылган
  • Жез түтүк
  • Бетон негизи, француз викингдери менен жасалган

Аппараттык:

  • Микроконтроллер: Wemos D1 Mini (wifi антеннасы интеграцияланган)
  • Servo EMAX ES3352 MG
  • Stepper Motor 28byj-48 (ULN2003 айдоочу тактасы менен)
  • 10 NeoPixels LED
  • 405 нм толкун узундугундагы лазер
  • Limit Switch
  • 5V 3A Power Supply

1 -кадам: Fusion 360 жана Басып чыгаруу бөлүктөрүн моделдөө

Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү
Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү
Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү
Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү
Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү
Fusion 360 жана Басып чыгаруудагы моделдөө бөлүктөрү

Бардык жабдыктарды орнотуу үчүн, биз 3D бөлүктөрүндө өзөктүк монтаж базасын түзөбүз. Бөлүктөр Thingiverseде жеткиликтүү бул жерде.

3 бөлүк бар:

1) Колдоо Stepper Longitude

Бул бөлүк тепкич моторун, WEMOS, Neopixels тилкесин жана жез түтүктү орнотуу үчүн жасалган

2) Колдоо которгуч

Бул бөлүк чек которгучту орнотуу үчүн жасалган (кадамды кеңдикке -0 °/-180 ° көрсөтүү үчүн). Ал тепкичтин үстүнө сайылган

3) Колдоо Servo Latitude

Бул бөлүк servo моторун орнотуу үчүн жасалган. Колдоо сервосу тепкич моторуна орнотулган

Бардык бөлүктөр Prusa I3 MK2Sде, кара PETG жипчеси менен басылган

2 -кадам: Кабелдик жана монтаждоо

Кабелдөө жана монтаждоо
Кабелдөө жана монтаждоо
Кабелдөө жана монтаждоо
Кабелдөө жана монтаждоо

Бул схемада 5V 3A кубаттуулугу болот (ошол эле камсыздандырууну айдоочу, лазер, неопикселдер жана WEMOS үчүн)

Төмөнкү эскиз боюнча, биз электр энергиясын түз эле жогорудагы элементтерге параллелдүү түрдө ширетишибиз керек:

  • Stepper Driver
  • Лазер
  • Неопикселдер тилкеси (NB: чындыгында эскизде көрсөтүлгөндөй 8 эмес, 10 неопиксел бар)
  • WEMOS

Андан кийин, биз WEMOSко ар кандай элементтерди туташтыруубуз керек:

1) Бул тизмедеги тепкич айдоочу:

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

2) Серво мотору төмөнкүлөр:

Маалымат Servo Pin -> D1

3) Neopixels төмөндөгүдөй:

Маалымат Neopixels Pin -> D2

4) төмөнкү чектөө которгуч:

GND жана D3 которгучтун эки казыгы

Чектөө которгучту биз которгучту басканда, схема ачылган/үзүлгөндөй кылып туташтыргыла (ошондуктан эч нерсе басылбаса, схема жабылат). Бул чыңалуу чокусунан улам туура эмес лекциядан качуу үчүн.

3 -кадам: Arduino коду - ISS позициясын реалдуу убакытта алуу

ЭКСтин позициясына жетүү үчүн эки моторду айдаш үчүн, биз ISSтин абалын реалдуу убакытта алышыбыз керек:

  • Алгач биз бул жерде Open Notify'ден API колдонобуз
  • Андан кийин, ISS жайгашкан жеринин жөнөкөй маанисин алуу үчүн маалыматтарды талдоо керек: Parsing data: ArduinoJson Library (Benoit Blanchon тарабынан)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // WiFi Параметрлери const char* ssid = "XXXXX"; const char* password = "XXXXX"; void setup () {Serial.begin (115200); WiFi.begin (ssid, сырсөз); while (WiFi.status ()! = WL_CONNECTED) {кечиктирүү (1000); Serial.println ("Туташууда…"); }}

Бул программа NodeMCUду WiFi менен байланыштырат, андан кийин APIге туташат, маалыматтарды алат жана аны сериялык түрдө басып чыгарат.

void loop () {

if (WiFi.status () == WL_CONNECTED) // WiFi статусун текшерүү {HTTPClient http; // HTTPClient классынын объектиси http.begin ("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET (); // Кайтып келүүчү кодду текшериңиз, эгер (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 ()); // Параметрлери const char* message = root ["message"]; const char* lon = root ["iss_position"] ["longitude"]; const char* lat = root ["iss_position"] ["latitude"]; // Сериалдык мониторго чыгуу Serial.print ("Message:"); Serial.println (билдирүү); Serial.print ("Узундук:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (лат); } http.end (); // Байланышты жабуу} кечигүү (50000); }

4 -кадам: Final Arduino Code

Төмөнкү Arduino коду ISSтин жайгашуусун лазерди Жердин бетине керектүү жерге жылдырат, жана күндүн тийиши менен Жердин бетине тийген күндүн нурун тийүү үчүн тиешелүү Неопикселдерди жарык кылат.

Бонус 1: Чырак күйгүзүлгөндө, инициализация фазасында лазер лампанын ордун көрсөтөт (id: роутер турган жер)

Бонус 2: ISS чырактын жайгашкан жеринин жанында болгондо (+/- 2 ° узун. Жана +/- 2 ° лат.), Бардык неопиксельдер акырын көзүн ирмешет

5 -кадам: ISS Trackerден ырахат алыңыз

Сиз ISS Tracking Lamp жасадыңыз, ырахат алыңыз!

Биринчи жолу авторлор конкурсу
Биринчи жолу авторлор конкурсу
Биринчи жолу авторлор конкурсу
Биринчи жолу авторлор конкурсу

Биринчи жолу авторлор конкурсунда биринчи сыйлык

Сунушталууда: