فهرست مطالب:
- مرحله 1: آنچه شما نیاز دارید
- مرحله 2: مختصات سیاره ای
- مرحله 3: دسترسی به داده های سیاره
- مرحله 4: کد
- مرحله 5: اتصال سخت افزار
- مرحله 6: طراحی مورد
- مرحله 7: آزمایش چاپ ها
- مرحله 8: گسترش موتور پله ای
- مرحله 9: نصب دکمه ها و صفحه LCD
- مرحله 10: افزودن فلنج
- مرحله 11: راه اندازی را اجرا کنید
- مرحله 12: همه را با هم بچسبانید
- مرحله 13: استفاده
- مرحله 14: تمام شد
تصویری: Raspberry Pi Planet Finder: 14 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
خارج از مرکز علوم در شهر من یک سازه فلزی بزرگ وجود دارد که می تواند بچرخد و به جایی که سیارات در آسمان بودند اشاره کند. من هرگز کارکرد آن را ندیدم ، اما همیشه فکر می کردم جادویی خواهد بود اگر بدانم این جهان های غیرقابل دسترسی در واقع در رابطه با خود کوچک من کجا هستند.
وقتی به تازگی از کنار این نمایشگاه قدیمی مرده عبور کردم ، فکر کردم "شرط می بندم که می توانم آن را بسازم" و همین کار را کردم!
این یک راهنمای نحوه ساختن سیاره یاب (با ویژگی ماه) است ، بنابراین شما نیز می توانید بدانید وقتی احساس فریب از فضا می کنید به کجا نگاه کنید.
مرحله 1: آنچه شما نیاز دارید
1 عدد Raspberry Pi (نسخه 3 یا بالاتر برای wifi داخلی)
1 x صفحه نمایش LCD (16 2 2) (مانند این)
2 موتور استپر با درایورها (28-BYJ48) (مانند اینها)
3 دکمه فشاری (مانند این)
2 عدد اتصال دهنده فلنج (مانند این)
قطب نما 1 دکمه ای (مانند این)
8 پیچ و مهره M3 8
قطعات چاپ شده سه بعدی برای کیس و تلسکوپ
مرحله 2: مختصات سیاره ای
چند روش مختلف برای توصیف مکان اجسام نجومی در آسمان وجود دارد.
برای ما ، یکی از منطقی ترین موارد استفاده ، سیستم مختصات افقی است که در تصویر بالا نشان داده شده است. این تصویر از صفحه ویکی پدیا است که در اینجا پیوند خورده است:
fa.wikipedia.org/wiki/Horizontal_coordinat…
سیستم مختصات افقی به شما زاویه ای از شمال (آزیموت) و به سمت بالا از افق (ارتفاع) می دهد ، بنابراین بسته به جایی که در جهان به دنبال آن هستید متفاوت است. بنابراین سیاره یاب ما باید مکان را در نظر بگیرد و راهی برای یافتن شمال به عنوان مرجع داشته باشد.
به جای تلاش برای محاسبه ارتفاع و آزیموت که با زمان و مکان تغییر می کند ، ما از اتصال وای فای روی رزبری پای برای جستجوی این داده ها از ناسا استفاده خواهیم کرد. آنها این چیزها را پیگیری می کنند تا ما مجبور نباشیم ؛)
مرحله 3: دسترسی به داده های سیاره
ما اطلاعات خود را از آزمایشگاه پیشرانش جت ناسا (JPL) دریافت می کنیم -
برای دسترسی به این داده ها ، ما از کتابخانه ای به نام AstroQuery استفاده می کنیم که مجموعه ای از ابزارهای جستجوی فرم های وب و پایگاه های داده نجومی است. اسناد این کتابخانه در اینجا یافت می شود:
اگر این اولین پروژه رزبری پای شما است ، با دنبال کردن این راهنمای تنظیم شده شروع کنید:
اگر از Raspbian در Raspberry Pi خود استفاده می کنید (اگر از راهنمای بالا پیروی کرده باشید) ، در حال حاضر python3 را نصب کرده اید ، مطمئن شوید که آخرین نسخه را نصب کرده اید (من از نسخه 3.7.3 استفاده می کنم). برای بدست آوردن پیپ باید از این استفاده کنیم. یک ترمینال را باز کرده و عبارت زیر را تایپ کنید:
sudo apt python3-pip را نصب کنید
سپس می توانیم از pip برای نصب نسخه ارتقا یافته astroquery استفاده کنیم.
pip3 install --pre -astroquery را ارتقا دهید
قبل از ادامه کار با بقیه پروژه ، سعی کنید با یک اسکریپت ساده پایتون به این داده ها دسترسی پیدا کنید تا مطمئن شوید همه وابستگی های مناسب به درستی نصب شده اند.
از astroquery.jplhorizons Horizons وارد کنید
mars = Horizons (id = 499 ، location = '000' ، epochs = هیچکدام ، id_type = 'majorbody') eph = mars.ephemerides () print (eph)
این باید جزئیات مکان مریخ را به شما نشان دهد!
شما می توانید بررسی کنید که آیا این داده ها با استفاده از این سایت برای جستجوی موقعیت سیارات زنده درست هستند:
برای کمی شکستن این پرس و جو ، شناسه عدد مربوط به مریخ در داده های JPL است ، دوره ها زمانی است که ما داده ها را از آن می خواهیم (هیچکدام در حال حاضر به این معنا نیست) و id_type بدن اصلی بدن منظومه شمسی را درخواست می کند. این مکان در حال حاضر بریتانیا تعیین شده است زیرا "000" کد محل رصدخانه در گرینویچ است. مکانهای دیگر را می توانید در اینجا پیدا کنید:
عیب یابی:
در صورت دریافت خطا: هیچ ماژولی به نام 'keyring.util.escape' وجود ندارد
دستور زیر را در ترمینال امتحان کنید:
pip3 install -upgrade keyrings.alt
مرحله 4: کد
ضمیمه این مرحله اسکریپت پایتون کامل مورد استفاده در این پروژه است.
برای یافتن اطلاعات صحیح محل سکونت خود ، به تابع getPlanetInfo بروید و با استفاده از لیست رصدخانه ها در مرحله قبل ، مکان را تغییر دهید.
def getPlanetInfo (سیاره):
obj = Horizons (id = planet، location = '000'، epochs = no، id_type = 'majorbody') eph = obj.ephemerides () eph return
مرحله 5: اتصال سخت افزار
با استفاده از تخته نان و سیم های جامپر ، دو موتور پله ای ، صفحه LCD و سه دکمه را همانطور که در نمودار مدار بالا نشان داده شده است ، وصل کنید.
برای اطلاع از تعداد پین های رزبری پای خود ، به ترمینال بروید و تایپ کنید
پین کردن
این باید تصویر بالا را به همراه شماره GPIO و شماره برد نشان دهد. ما از شماره های تابلو برای تعریف پین هایی که در کد استفاده می شوند استفاده می کنیم ، بنابراین من به اعداد داخل براکت اشاره می کنم.
برای کمک به نمودار مدار ، در اینجا پین هایی که به هر قسمت متصل شده اند آمده است:
موتور استپر اول - 7 ، 11 ، 13 ، 15
استپر موتور دوم - 40 ، 38 ، 36 ، 32
دکمه 1 - 33
دکمه 2 - 37
دکمه 3 - 35
صفحه LCD - 26 ، 24 ، 22 ، 18 ، 16 ، 12
وقتی همه اینها متصل شد ، اسکریپت پایتون را اجرا کنید
python3 planetFinder.py
و باید متن تنظیمات صفحه را مشاهده کنید و دکمه ها باید موتورهای پله ای را حرکت دهند.
مرحله 6: طراحی مورد
این کیف به گونه ای طراحی شده بود که به راحتی چاپ سه بعدی شود. به قطعات جداگانه تجزیه می شود که پس از محکم شدن وسایل الکترونیکی در جای خود به هم چسبیده می شوند.
اندازه سوراخ ها برای دکمه هایی که استفاده کردم و پیچ M3 است.
من تلسکوپ را قطعاتی چاپ کردم و بعداً آنها را به هم چسباندم تا از ساختار پشتیبانی زیاد جلوگیری کنم.
فایل های STL به این مرحله ضمیمه شده است.
مرحله 7: آزمایش چاپ ها
هنگامی که همه چیز چاپ می شود ، قبل از انجام هرگونه چسباندن ، مطمئن شوید که همه چیز به خوبی با یکدیگر مطابقت دارد.
دکمه ها را در جای خود قرار دهید و صفحه و موتورهای پله ای را با پیچ M3 محکم کنید و همه چیز را تکان دهید. فایلهای لبه ناصاف را قبل از مرحله بعدی دوباره از هم جدا کنید.
مرحله 8: گسترش موتور پله ای
موتور پله ای که زاویه ارتفاع تلسکوپ را کنترل می کند در بالای قاب اصلی قرار می گیرد و برای چرخاندن به سیم نیاز دارد. سیمها را باید با قطع آنها بین استپر و برد راننده و لحیم کردن طول جدید سیم در بین آنها ، گسترش داد.
من سیم جدید را با استفاده از یک تکه نخ به برج نگهدارنده وارد کردم تا به آن کمک کند تا سیم مورد استفاده من سفت باشد و همچنان گیر می کند. هنگامی که از طریق آن می توانید به موتور پله ای لحیم شوید ، مطمئن شوید که رنگ را وصل کرده اید تا رنگ مناسب را در انتهای دیگر دوباره وصل کنید. فراموش نکنید که حرارت را به سیم ها اضافه کنید!
پس از لحیم شدن ، اسکریپت پایتون را اجرا کنید تا بررسی شود که همه چیز هنوز کار می کند ، سپس سیم ها را به سمت عقب لوله بکشید تا موتور پله ای در موقعیت خود قرار گیرد. سپس می توان آن را با پیچ و مهره M3 به محفظه موتور پله ای وصل کرد قبل از اینکه قسمت پشتی محفظه در محل خود چسبانده شود.
مرحله 9: نصب دکمه ها و صفحه LCD
دکمه ها را وارد کرده و مهره ها را محکم کنید تا قبل از لحیم کاری محکم شوند. من دوست دارم از سیم معمولی استفاده کنم که برای نظافت بین آنها قرار می گیرد.
صفحه LCD را با پیچ و مهره M3 محکم کنید. LCD یک پتانسیومتر در یکی از پین های آن می خواهد که من نیز در این مرحله لحیم کردم.
کد را دوباره آزمایش کنید! قبل از اینکه همه چیز را به هم بچسبانید ، مطمئن شوید که همه چیز هنوز کار می کند زیرا تعمیر در این مرحله بسیار ساده تر است.
مرحله 10: افزودن فلنج
برای اتصال قطعات چاپ سه بعدی به موتورهای پله ای ، ما از یک اتصال فلنج 5 میلی متری استفاده می کنیم که در بالای انتهای موتور پله ای قرار می گیرد و توسط پیچ های ریز در جای خود ثابت می شود.
یک فلنج به پایه برج دوار و دیگری به تلسکوپ چسبانده شده است.
اتصال تلسکوپ به موتور بالای برج دوار ساده است زیرا فضای زیادی برای دسترسی به پیچ های کوچک که آن را در جای خود نگه می دارند وجود دارد. محکم کردن فلنج دیگر سخت تر است ، اما فاصله کافی بین قاب اصلی و پایه برج دوار وجود دارد تا بتواند یک کلید آلن کوچک را محکم کرده و پیچ را محکم کند.
دوباره تست کن!
در حال حاضر همه چیز باید در حالت نهایی کار کند. اگر اینطور نیست ، اکنون زمان رفع اشکال و اطمینان از سالم بودن اتصالات است. اطمینان حاصل کنید که سیم های در معرض تماس با یکدیگر نیستند ، نوار برقی را دور زده و هر جایی را که می تواند مشکل ایجاد کند وصله کنید.
مرحله 11: راه اندازی را اجرا کنید
به جای اجرای کد به صورت دستی در هر زمان که می خواهیم سیاره ای پیدا کنیم ، ما می خواهیم این به عنوان یک نمایش مستقل اجرا شود ، بنابراین ما قصد داریم آن را تنظیم کنیم تا هر زمان که رزبری پای روشن می شود کد ما را اجرا کند.
در ترمینال ، تایپ کنید
crontab -e
در فایلی که باز می شود ، موارد زیر را به انتهای فایل و سپس یک خط جدید اضافه کنید.
reboot python3 /home/pi/PlanetFinder/planetFinder.py &
من کد خود را در پوشه ای به نام PlanetFinder ذخیره کرده ام ، بنابراین /home/pi/PlanetFinder/planetFinder.py محل فایل من است. اگر دستگاه شما در جایی دیگر ذخیره شده است ، حتماً آن را در اینجا تغییر دهید.
& در انتها مهم است زیرا اجازه می دهد کد در پس زمینه اجرا شود ، بنابراین دیگر پروسه هایی را که در بوت اتفاق می افتد نگه نمی دارد.
مرحله 12: همه را با هم بچسبانید
همه چیزهایی که قبلاً در جای خود چسبانده نشده اند ، اکنون باید ثابت شوند.
در نهایت ، قطب نما کوچک را به وسط پایه چرخان اضافه کنید.
مرحله 13: استفاده
هنگامی که Planet Finder روشن می شود ، کاربر را مجبور به تنظیم محور عمودی می کند. با فشار دادن دکمه های بالا و پایین ، تلسکوپ حرکت می کند ، سعی کنید آن را یکنواخت کنید ، به سمت راست اشاره کنید ، سپس دکمه ok (در پایین) را فشار دهید.
سپس از کاربر خواسته می شود که چرخش را تنظیم کند ، با استفاده از دکمه ها تلسکوپ را بچرخانید تا مطابق قطب نمای کوچک به سمت شمال حرکت کند ، سپس ok را فشار دهید.
اکنون می توانید با استفاده از دکمه های بالا/پایین در سیارات دوچرخه سواری کرده و یکی را که می خواهید با دکمه ok پیدا کنید ، انتخاب کنید. ارتفاع و آزیموت سیاره را نشان می دهد ، سپس می رود و برای چند ثانیه به آن اشاره می کند و سپس به سمت شمال بر می گردد.
مرحله 14: تمام شد
تمام شد!
از دانستن اینکه همه سیارات کجا هستند لذت ببرید:)
جایزه اول در چالش فضایی
توصیه شده:
IoT Keychain Finder با استفاده از ESP8266-01: 11 مرحله (همراه با تصاویر)
IoT Keychain Finder با استفاده از ESP8266-01: آیا شما مثل من همیشه فراموش می کنید که کجا کلیدهای خود را کجا نگه داشته اید؟ من هرگز نمی توانم کلیدهایم را به موقع پیدا کنم! و بخاطر این عادت من ، من برای کالجم دیر آمدم ، فروش ویژه محصولات جنگی محدود (هنوز ناراحت کننده است!) ، یک تاریخ (او هرگز انتخاب نکرد
قاب سخت Apple TV Siri Remote with Bluetooth Tile Finder: 7 مرحله (همراه با تصاویر)
قاب سخت از راه دور Apple TV Siri با کاشی یاب بلوتوث: من یکبار توضیحاتی درباره iPhone به عنوان & quot؛ یک چوب کره آغشته به روغن و با WD40 برای اندازه گیری خوب روی آن خواندم! & quot؛ من فکر می کنم زمانی بود که مدل 6 بیرون آمد و همه گوشی های جدید گرانقیمت خود را انداخته و شیشه را خرد کردند
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
اسکله 9: Smart Bone Fetch Finder ™: 4 مرحله (همراه با تصاویر)
اسکله 9: جستجوی استخوان هوشمند ™: The Smart Bone Fetch Finder و تجارت ؛ که برای اولین بار در سال 2027 ایجاد شد ، به سگ ها این اختیار را می دهد تا کنترل کنند که بهترین دوستان با چه کسانی هستند. در آینده ، سگها به مردم در پارکها نزدیک می شوند و پیشنهاد بازی به عنوان خدمات را می دهند. اولین بارگیری رایگان است ،