תוכן עניינים:

מנורת מעקב של ISS: 5 שלבים (עם תמונות)
מנורת מעקב של ISS: 5 שלבים (עם תמונות)

וִידֵאוֹ: מנורת מעקב של ISS: 5 שלבים (עם תמונות)

וִידֵאוֹ: מנורת מעקב של ISS: 5 שלבים (עם תמונות)
וִידֵאוֹ: Camera-LAMP עם מעקב וזיהוי של אדם. 2024, יולי
Anonim
מנורת מעקב של ISS
מנורת מעקב של ISS
מנורת מעקב של ISS
מנורת מעקב של ISS

רוב הזמן, אני תוהה היכן ISS מביטה בשמיים. כדי לענות על שאלה זו, יצרתי אובייקט פיזי כדי לדעת היכן נמצא ISS בזמן אמת.

מנורת מעקב ISS היא מנורה המחוברת לאינטרנט העוקבת כל הזמן אחר ה- ISS ומציגה את מיקומה על פני כדור הארץ (מודפס בתלת מימד).

בונוס: המנורה מציגה גם את הצד שטוף השמש של כדור הארץ עם Neopixels! ??

לכן, במדריך זה אנו הולכים לראות את השלבים השונים לבניית מנורה זו המבוססת על WEMOS D1 מיני, מנוע צעד, מנוע סרוו, לייזר וחלקים תלת -ממדיים.

אני בונה לבד, למעט כדור הארץ המודפס בתלת מימד, שנרכש ב- Aliexpress.

תוכנה:

  • קוד מבוסס ארדואינו
  • מיקום ISS API: Open Notify - המיקום הנוכחי של ה- ISS (מאת נתן ברגיי)
  • נתוני ניתוח: ספריית ArduinoJson (מאת בנואה בלאנצ'ון)

CAD וחלקים:

  • כדור הארץ המודפס בתלת מימד בקוטר 18 ס"מ (נרכש ב- Aliexpress: כאן)
  • תומכי מנוע מודפסים בתלת -ממד - מעוצבים עם Fusion 360 ומודפסים עם Prusa i3 MK2S
  • צינור נחושת
  • בסיס בטון, עשוי עם הוויקינגים הצרפתים

חומרה:

  • מיקרו -בקר: Wemos D1 Mini (אנטנת wifi משולבת)
  • סרוו EMAX ES3352 MG
  • מנוע צעד 28byj-48 (עם לוח נהגים ULN2003)
  • 10 NeoPixels LED
  • לייזר באורך גל 405 ננומטר
  • מתג הגבלה
  • ספק כוח 5V 3A

שלב 1: דוגמנות חלקים ב- Fusion 360 והדפסה

דוגמנות חלקים ב- Fusion 360 והדפסה
דוגמנות חלקים ב- Fusion 360 והדפסה
דוגמנות חלקים ב- Fusion 360 והדפסה
דוגמנות חלקים ב- Fusion 360 והדפסה
דוגמנות חלקים ב- Fusion 360 והדפסה
דוגמנות חלקים ב- Fusion 360 והדפסה

כדי להרכיב את כל החומרה, אנו הולכים ליצור את בסיס הרכבת הליבה על חלקים תלת -ממדיים. החלקים זמינים ב- Thingiverse כאן.

ישנם 3 חלקים:

1) אורך צעד התמיכה

חלק זה מיועד להרכבת מנוע הצעדים, ה- WEMOS, רצועת Neopixels וצינור הנחושת

2) מתג התמיכה

חלק זה מיועד להתקנת מתג הגבול (השתמש כדי לציין בפני המדרגה את קו הרוחב -0 °/-180 °). הוא דפוק בחלק העליון של המדרגה

3) סרוו Latitude התמיכה

חלק זה מיועד להתקנת מנוע סרוו. סרוו התמיכה מותקן על מנוע הצעדים

כל החלקים הודפסו על Prusa I3 MK2S, עם נימה PETG שחורה

שלב 2: חיווט והרכבה

חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה

למעגל זה תהיה כניסת חשמל של 5V 3A (על מנת להשתמש באותה אספקה עבור נהג הצעדים, הלייזר, ה- Neopixels ו- WEMOS)

לפי הסקיצה הבאה, עלינו להלחם את ספק הכוח ישירות לאלמנטים לעיל במקביל:

  • נהג צעד
  • לייזר
  • רצועת Neopixels (הערה: יש 10 Neopixels במציאות, לא 8 כפי שמראה הסקיצה)
  • WEMOS

לאחר מכן, עלינו לחבר את האלמנטים השונים ל- WEMOS:

1) מנהל ההתקן המוביל לפי רשימה זו:

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

2) מנוע סרוו כדלקמן:

פין סרוו נתונים -> D1

3) רצועת Neopixels הבאה:

נתונים Neopixels Pin -> D2

4) מתג הגבול הבא:

שני הפינים של המתג ל- GND ו- D3

חבר את מתג הגבול באופן בו המעגל נפתח/נשבר כאשר אנו לוחצים על המתג (כך שהמעגל סגור כאשר שום דבר לא לוחץ עליו). זאת כדי להימנע מהרצאה לא נכונה עקב שיא מתח.

שלב 3: קוד Arduino - קבלת מיקום ה- ISS בזמן אמת

כדי להניע את שני המנועים להגיע למיקום ה- ISS, עלינו לקבל את המיקום של ה- ISS בזמן אמת:

  • לשם כך ראשית נשתמש ב- API מ- Open Notify Here
  • לאחר מכן, עלינו לנתח את הנתונים כדי לקבל ערך פשוט של מיקום ה- ISS בעזרת נתוני ניתוח: ArduinoJson Library (מאת בנואה בלאנצ'ון)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // פרמטרים של WiFi const char* ssid = "XXXXX"; const char* password = "XXXXX"; הגדרת חלל () {Serial.begin (115200); WiFi.begin (ssid, סיסמא); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (1000); Serial.println ("מתחבר …"); }}

תוכנית זו מחברת את ה- NodeMCU ל- WiFi ולאחר מכן מתחברת ל- API, משיגה את הנתונים ומדפיסה אותם באמצעות סדרה.

לולאת חלל () {

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) {// מנתח 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"] ["אורך"]; const char* lat = root ["iss_position"] ["latitude"]; // פלט לצג הטורי Serial.print ("הודעה:"); Serial.println (הודעה); Serial.print ("אורך:"); Serial.println (lon); Serial.print ("Latitude:"); Serial.println (lat); } http.end (); // עיכוב סגור חיבור} (50000); }

שלב 4: קוד Arduino סופי

קוד ה- Arduino הבא גורם למיקום ה- ISS להעביר את הלייזר למקום הנכון על פני כדור הארץ, ולגרום למיקום השמש להאיר את הניאופיקסלים המודאגים להאיר את פני כדור הארץ במגע השמש.

בונוס 1: כאשר המנורה מופעלת, במהלך שלב האתחול, הלייזר יצביע על מיקום המנורה (מזהה: המיקום בו הנתב נמצא)

בונוס 2: כאשר ה- ISS נמצא ליד מיקום המנורה (+/- 2 ° אורך ו- +/- 2 ° רוחב), כל ה- Neopixels יקרצו בעדינות

שלב 5: תהנה ממעקב ISS שלך

יצרת מנורת מעקב של ISS, תהנה!

תחרות מחברים בפעם הראשונה
תחרות מחברים בפעם הראשונה
תחרות מחברים בפעם הראשונה
תחרות מחברים בפעם הראשונה

פרס ראשון בתחרות המחברים בפעם הראשונה

מוּמלָץ: