สารบัญ:
- ขั้นตอนที่ 1: การสร้างแบบจำลองชิ้นส่วนใน Fusion 360 และการพิมพ์
- ขั้นตอนที่ 2: การเดินสายไฟและการประกอบ
- ขั้นตอนที่ 3: รหัส Arduino - รับตำแหน่ง ISS แบบเรียลไทม์
- ขั้นตอนที่ 4: รหัส Arduino สุดท้าย
- ขั้นตอนที่ 5: เพลิดเพลินกับ ISS Tracker ของคุณ
วีดีโอ: ไฟติดตาม ISS: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ส่วนใหญ่ฉันสงสัยว่าสถานีอวกาศนานาชาติกำลังมองขึ้นไปบนท้องฟ้าอยู่ที่ไหน เพื่อตอบคำถามนี้ ฉันได้สร้างวัตถุทางกายภาพเพื่อให้รู้ว่าสถานีอวกาศนานาชาติอยู่ที่ไหนในแบบเรียลไทม์
ISS Tracking Lamp เป็นหลอดไฟที่เชื่อมต่ออินเทอร์เน็ตซึ่งติดตาม ISS อย่างต่อเนื่องและแสดงตำแหน่งบนพื้นผิวโลก (พิมพ์ในแบบ 3 มิติ)
โบนัส: หลอดไฟยังแสดงด้านที่มีแดดของโลกด้วย Neopixels!??
ดังนั้น ในคำแนะนำนี้ เราจะเห็นขั้นตอนต่างๆ ในการสร้างหลอดไฟนี้โดยใช้ WEMOS D1 Mini, สเต็ปเปอร์มอเตอร์, เซอร์โวมอเตอร์, เลเซอร์ และชิ้นส่วน 3 มิติ
ฉันสร้างทั้งหมดด้วยตัวเอง ยกเว้น Earth ที่พิมพ์ 3 มิติซึ่งซื้อใน Aliexpress
ซอฟต์แวร์:
- รหัสที่ใช้ Arduino
- ตำแหน่ง API ISS: เปิดการแจ้งเตือน - ตำแหน่งปัจจุบันของ ISS (โดย Nathan Bergey)
- การแยกวิเคราะห์ข้อมูล: ArduinoJson Library (โดย Benoit Blanchon)
CAD และอะไหล่:
- 3D พิมพ์ Earth เส้นผ่านศูนย์กลาง 18 ซม. (ซื้อใน Aliexpress: ที่นี่)
- รองรับมอเตอร์พิมพ์ 3 มิติ - ออกแบบด้วย Fusion 360 และพิมพ์ด้วย Prusa i3 MK2S
- ท่อทองแดง
- ฐานคอนกรีตทำด้วยไวกิ้งฝรั่งเศส
ฮาร์ดแวร์:
- ไมโครคอนโทรลเลอร์: Wemos D1 Mini (รวมเสาอากาศ wifi)
- เซอร์โว EMAX ES3352 MG
- Stepper Motor 28byj-48 (พร้อมบอร์ดไดรเวอร์ ULN2003)
- 10 NeoPixels LED
- เลเซอร์ความยาวคลื่น 405 นาโนเมตร
- ลิมิตสวิตช์
- แหล่งจ่ายไฟ 5V 3A
ขั้นตอนที่ 1: การสร้างแบบจำลองชิ้นส่วนใน Fusion 360 และการพิมพ์
ในการติดตั้งฮาร์ดแวร์ทั้งหมด เราจะสร้างฐานการประกอบหลักบนชิ้นส่วน 3 มิติ ชิ้นส่วนต่างๆ มีอยู่ใน Thingiverse ที่นี่
มี 3 ส่วน:
1) การสนับสนุน Stepper ลองจิจูด
ส่วนนี้ทำขึ้นสำหรับติดตั้งสเต็ปเปอร์มอเตอร์, WEMOS, แถบ Neopixels และท่อทองแดง
2) สวิตช์สนับสนุน
ส่วนนี้ทำขึ้นสำหรับติดตั้งลิมิตสวิตช์ (ใช้เพื่อระบุละติจูด -0°/-180° ให้สเต็ปเปอร์) มันเมาที่ด้านบนของสเต็ป
3) รองรับ Latitude ของเซอร์โว
ส่วนนี้ทำขึ้นสำหรับการติดตั้งเซอร์โวมอเตอร์ Support Servo ติดตั้งอยู่บนสเต็ปเปอร์มอเตอร์
ชิ้นส่วนทั้งหมดพิมพ์บน Prusa I3 MK2S พร้อมเส้นใย PETG สีดำ
ขั้นตอนที่ 2: การเดินสายไฟและการประกอบ
วงจรนี้จะมีอินพุตไฟ 5V 3A (เพื่อใช้แหล่งจ่ายไฟเดียวกันสำหรับไดรเวอร์ stepper, เลเซอร์, Neopixels และ WEMOS)
ใน Sketch ต่อไปนี้ เราจำเป็นต้องประสานแหล่งจ่ายไฟโดยตรงกับองค์ประกอบด้านบนแบบขนาน:
- ไดร์เวอร์สเต็ปเปอร์
- เลเซอร์
- แถบ Neopixels (หมายเหตุ: ในความเป็นจริงมี 10 Neopixels ไม่ใช่ 8 ตามภาพสเก็ตช์)
- WEMOS
ต่อไป เราจำเป็นต้องเชื่อมต่อองค์ประกอบต่างๆ กับ WEMOS:
1) ไดรเวอร์ stepper ตามรายการนี้:
- IN1->D5
- IN2->D6
- IN3->D7
- IN4->D8
2) เซอร์โวมอเตอร์ดังต่อไปนี้:
ดาต้าเซอร์โวพิน -> D1
3) แถบ Neopixels ต่อไปนี้:
พินข้อมูล Neopixels -> D2
4) ลิมิตสวิตช์ดังต่อไปนี้:
สองพินของสวิตช์ไปที่ GND และ D3
เชื่อมต่อลิมิตสวิตช์ในลักษณะที่วงจรเปิด/แตกเมื่อเรากดสวิตช์ (เพื่อให้วงจรปิดเมื่อไม่มีอะไรดัน) นี่คือเพื่อหลีกเลี่ยงการบรรยายที่ไม่ถูกต้องเนื่องจากแรงดันไฟฟ้าสูงสุด
ขั้นตอนที่ 3: รหัส Arduino - รับตำแหน่ง ISS แบบเรียลไทม์
ในการขับเคลื่อนมอเตอร์ทั้งสองให้ไปถึงตำแหน่งของ ISS เราจำเป็นต้องได้รับตำแหน่งของ ISS แบบเรียลไทม์:
- ก่อนอื่นเราจะใช้ API จาก Open Notify Here
- จากนั้น เราต้องแยกวิเคราะห์ข้อมูลเพื่อให้ได้ค่าง่าย ๆ ของตำแหน่ง ISS โดยใช้ Parsing data: ArduinoJson Library (by Benoit Blanchon)
#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // พารามิเตอร์ WiFi const char* ssid = "XXXXX"; รหัสผ่าน const char* = "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 (ขนาดบัฟเฟอร์); 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("ข้อความ:"); Serial.println (ข้อความ); Serial.print("ลองจิจูด: "); Serial.println (ลอน); Serial.print("ละติจูด: "); Serial.println(lat); } http.end(); // ปิดการเชื่อมต่อ } ล่าช้า (50000); }
ขั้นตอนที่ 4: รหัส Arduino สุดท้าย
รหัส Arduino ต่อไปนี้รับตำแหน่ง ISS เพื่อย้ายเลเซอร์ไปยังตำแหน่งที่ถูกต้องบนพื้นผิวโลก และรับตำแหน่งของดวงอาทิตย์เพื่อให้แสง Neopixels ที่เกี่ยวข้องสว่างขึ้นเพื่อให้พื้นผิวโลกสัมผัสกับดวงอาทิตย์
โบนัส 1: เมื่อเปิดหลอดไฟ ในระหว่างขั้นตอนการเริ่มต้น เลเซอร์จะชี้ตำแหน่งของหลอดไฟ (id: ตำแหน่งที่เราเตอร์อยู่)
โบนัส 2: เมื่อ ISS อยู่ถัดจากตำแหน่งหลอดไฟ (ยาว +/- 2° และ +/-2° lat.) Neopixels ทั้งหมดจะกะพริบเบา ๆ
ขั้นตอนที่ 5: เพลิดเพลินกับ ISS Tracker ของคุณ
คุณได้สร้างโคมไฟติดตาม ISS แล้วสนุกได้เลย!
รางวัลที่หนึ่งในการประกวดผู้แต่งครั้งแรก
แนะนำ:
E-Ink: Moon / ISS / People in Space : 6 ขั้นตอน
E-Ink: Moon / ISS / People in Space…: ฉันมี Raspberry และ e-Paper HAT และฉันต้องการใช้มันเพื่อแสดงข้อมูลเช่น ISS อยู่ที่ไหนหรือตอนนี้มีคนอยู่ในอวกาศกี่คน.. .ฉันบอกให้ดูว่ามี API บนอินเทอร์เน็ตเพื่อรับข้อมูลเหล่านั้นหรือไม่ และฉันก็พบมัน โอเค ได้ชาแล้ว !!!!เดี๋ยวก่อน
แฮ็ก Wolverine Grow Cube ของ Hollow สำหรับ ISS: 5 ขั้นตอน
Hack the Hollow's Wolverine Grow Cube สำหรับ ISS: เราคือโรงเรียนมัธยม West Hollow จาก Long Island, NY เราเป็นวิศวกรที่ใฝ่ฝันที่จะพบปะกันสัปดาห์ละครั้งในคลับชื่อ Hack the Hollow ซึ่งเราออกแบบ เขียนโค้ด และสร้างโปรเจ็กต์ของผู้สร้างจำนวนหนึ่ง คุณสามารถตรวจสอบโครงการทั้งหมดที่เราทำงานบน H
สร้างตัวแจ้งเตือน ISS อย่างง่าย: 5 ขั้นตอน
สร้างตัวแจ้งเตือน ISS อย่างง่าย: โดย TokyLabs | เวลาที่ต้องการ: 1–3 ชั่วโมง | ความยาก: ง่าย | ราคา: $60–$70 คุณสามารถสร้างตัวแจ้งเตือนฮาร์ดแวร์ที่ยกนักบินอวกาศกระดาษขึ้นเพื่อเตือนคุณทุกครั้งที่สถานีอวกาศนานาชาติผ่านตำแหน่งของคุณ สนุกกว่า
ISS Tracking Globe: 6 ขั้นตอน (พร้อมรูปภาพ)
ISS Tracking Globe: สถานีอวกาศนานาชาติเป็นหนึ่งในจุดสุดยอดของเทคโนโลยีของมนุษย์และใครไม่อยากทราบตำแหน่งของเขาทุกนาที? แน่นอนว่าไม่มีใคร ดังนั้นในคำแนะนำนี้ เราจะแสดงให้คุณเห็นถึงวิธีสร้างตัวติดตามตำแหน่งโดยใช้ไฟ LED,
ระบบการแจ้งเตือน ISS อย่างง่าย: 6 ขั้นตอน (พร้อมรูปภาพ)
ระบบการแจ้งเตือน ISS อย่างง่าย: สถานีอวกาศนานาชาติคืออะไรและทำไมคุณถึงต้องการทำนายว่าอยู่ที่ไหน เพื่อตอบคำถามแรก เราสามารถดูที่เว็บไซต์ของ NASA เพื่อหาคำตอบ ซึ่งในระยะสั้นคือ:สถานีอวกาศนานาชาติเป็นยานอวกาศขนาดใหญ่ มันโคจรรอบ