Mundarija:

Raspberry Pi Planet Finder: 14 qadam (rasmlar bilan)
Raspberry Pi Planet Finder: 14 qadam (rasmlar bilan)

Video: Raspberry Pi Planet Finder: 14 qadam (rasmlar bilan)

Video: Raspberry Pi Planet Finder: 14 qadam (rasmlar bilan)
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Iyul
Anonim
Image
Image
Sizga nima kerak
Sizga nima kerak

Mening shahrimdagi Ilmiy markaz tashqarisida katta metall konstruktsiya bor, u burilib, sayyoralar osmonda turgan joyini ko'rsatishi mumkin. Men hech qachon uning ishlayotganini ko'rmaganman, lekin men o'zimning kichkina shaxsiyatim bilan bog'liq bo'lgan boshqa olamlarning aslida qaerda ekanligini bilish sehrli bo'ladi deb o'ylaganman.

Yaqinda men o'lik ko'rgazma yonidan o'tganimda, "Men buni qila olaman" deb o'yladim va shunday qildim!

Bu sayyora topuvchini (Oy tasvirlangan) qanday yasash bo'yicha qo'llanma, shuning uchun siz ham kosmosdan hayajonlanganingizda qaerga qarashni bilishingiz mumkin.

1 -qadam: Sizga nima kerak

Sizga nima kerak
Sizga nima kerak

1 x Raspberry Pi (Wi -Fi uchun 3 yoki undan yuqori versiya)

1 x LCD displey (16 x 2) (shunga o'xshash)

Drayvlar bilan 2 ta qadamli motorlar (28-BYJ48) (shunga o'xshash)

3 ta tugmachalar (shu kabi)

2 x Flanesli ulagichlar (shunga o'xshash)

1 x tugmachali kompas (shunga o'xshash)

8 x M3 murvat va yong'oq

Koson va teleskop uchun 3D bosilgan qismlar

2 -qadam: Sayyoraviy koordinatalar

Sayyoraviy koordinatalar
Sayyoraviy koordinatalar

Astronomik jismlar osmonda qaerda ekanligini tasvirlashning bir necha xil usullari mavjud.

Biz uchun, ishlatish uchun eng mantiqiy bo'lgani yuqoridagi rasmda ko'rsatilgandek gorizontal koordinatalar tizimi. Bu rasm bu erda bog'langan Vikipediya sahifasidan olingan:

en.wikipedia.org/wiki/Horizontal_coordinat…

Gorizontal koordinatalar tizimi sizga shimoldan (azimutdan) va ufqdan (balandlikdan) yuqoriga burchak beradi, shuning uchun siz dunyoning qaeridan qidirayotganingizga qarab farq qiladi. Shunday qilib, sayyoramizni topuvchi joyni hisobga olishi va Shimoliyni qandaydir yo'l -yo'riq sifatida topishi kerak.

Vaqt va joylashuvga qarab o'zgaradigan balandlik va azimutni hisoblashga urinishning o'rniga, biz NASA ma'lumotlarini qidirish uchun Raspberry Pi bortidagi wifi -dan foydalanamiz. Ular bunday narsalarni kuzatib borishadi, shuning uchun biz kerak emas;)

3 -qadam: Sayyora ma'lumotlariga kirish

Biz o'z ma'lumotlarimizni NASA reaktiv harakatlanish laboratoriyasidan (JPL) olamiz -

Ushbu ma'lumotlarga kirish uchun biz AstroQuery nomli kutubxonadan foydalanamiz, bu astronomik veb -shakllar va ma'lumotlar bazalarini so'rash uchun vositalar to'plami. Bu kutubxona uchun hujjatlar bu erda:

Agar bu sizning birinchi Raspberry Pi loyihangiz bo'lsa, ushbu sozlash qo'llanmasidan boshlang:

Agar siz Raspberry Pi -da Raspbian -dan foydalanayotgan bo'lsangiz (agar siz yuqoridagi ko'rsatmaga amal qilgan bo'lsangiz), unda sizda python3 o'rnatilgan, eng so'nggi versiyasi o'rnatilganligiga ishonch hosil qiling (men 3.7.3 versiyasidan foydalanayapman). Biz buni pip olish uchun ishlatishimiz kerak. Terminalni oching va quyidagilarni kiriting:

sudo apt install python3-pip

Keyin biz munajjimlar bashoratining yangilangan versiyasini o'rnatish uchun pipdan foydalanishimiz mumkin.

pip3 install --pre -astroquery -ni yangilang

Loyihaning qolgan qismini davom ettirishdan oldin, barcha to'g'ri bog'liqliklar to'g'ri o'rnatilganligiga ishonch hosil qilish uchun ushbu ma'lumotlarga oddiy Python skriptidan foydalanishga harakat qiling.

astroquery.jplhorizons dan ufqlarni import qilish

Mars = Ufqlar (id = 499, manzil = '000', davrlar = Yo'q, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Bu sizga Marsning joylashuvi tafsilotlarini ko'rsatishi kerak!

Saytning jonli joylashuvini qidirish uchun ushbu sayt yordamida ma'lumotlarning to'g'riligini tekshirishingiz mumkin:

Bu so'rovni biroz qisqartirish uchun identifikator - bu JPL ma'lumotlarida Mars bilan bog'liq bo'lgan raqam, davrlar - bu biz xohlagan vaqt (hozirda yo'q) va id_type Quyosh tizimining asosiy jismlarini so'raydi. Manzil Buyuk Britaniyada "000" sifatida belgilanadi, bu Grinvichdagi rasadxonaning joylashuv kodi. Boshqa joylarni bu erda topish mumkin:

Muammolarni bartaraf qilish; nosozliklarni TUZATISH:

Agar siz xatoga yo'l qo'ysangiz: "keyring.util.escape" nomli modul yo'q

terminalda quyidagi buyruqni sinab ko'ring:

pip3 install -keyrings.alt -ni yangilang

4 -qadam: kod

Ushbu bosqichda ushbu loyihada ishlatiladigan to'liq python skript biriktirilgan.

Joylashuvingiz uchun to'g'ri ma'lumotlarni topish uchun getPlanetInfo funktsiyasiga o'ting va oldingi qadamdagi rasadxonalar ro'yxati yordamida manzilni o'zgartiring.

def getPlanetInfo (sayyora):

obj = Ufqlar (id = sayyora, manzil = '000', davrlar = Yo'q, id_type = 'majorbody') eph = obj.ephemerides () eph qaytadi

5 -qadam: uskunani ulash

Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash

Non paneli va o'tish simlaridan foydalanib, yuqoridagi sxemada ko'rsatilganidek, ikkita qadamli dvigatelni, LCD displeyni va uchta tugmani ulang.

Raspberry Pi -dagi pinlar qancha ekanligini bilish uchun terminalga o'ting va yozing

pinout

Bu sizga GPIO raqamlari va taxta raqamlari bilan to'ldirilgan rasmni ko'rsatishi kerak. Biz kodda qaysi pinlar ishlatilishini aniqlash uchun taxta raqamlaridan foydalanmoqdamiz, shuning uchun men ularni qavs ichida ko'rsataman.

O'chirish sxemasiga yordam sifatida, bu erda har bir qismga ulangan pinlar mavjud:

Birinchi qadam dvigateli - 7, 11, 13, 15

Ikkinchi qadam dvigateli - 40, 38, 36, 32

Tugma 1-33

Tugma 2 - 37

Tugma 3 - 35

LCD displey - 26, 24, 22, 18, 16, 12

Hammasi ulanganda, python skriptini ishga tushiring

python3 planetFinder.py

va siz ekranni sozlash matnini ko'rishingiz kerak va tugmalar qadam motorlarini siljitishi kerak.

6 -qadam: Kosonni loyihalash

Kosonni loyihalash
Kosonni loyihalash
Kosonni loyihalash
Kosonni loyihalash
Kosonni loyihalash
Kosonni loyihalash

Koson osonlikcha 3D bosib chiqarishga mo'ljallangan edi. U alohida qismlarga bo'linadi, so'ngra elektronika mahkamlangandan so'ng yopishtiriladi.

Teshiklar men ishlatgan tugmalar va M3 murvatlari uchun mo'ljallangan.

Men teleskopni qismlarga bo'lib chop etdim va juda ko'p qo'llab -quvvatlovchi tuzilmaga ega bo'lmaslik uchun keyinchalik yopishtirdim.

STL fayllari bu bosqichga biriktirilgan.

7 -qadam: Bosimlarni tekshirish

Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish
Bosimlarni sinovdan o'tkazish

Hamma narsa chop etilgach, yopishtirishdan oldin hamma narsa bir -biriga mahkam o'rnashganligiga ishonch hosil qiling.

Tugmalarni joyiga qo'ying va ekranni va qadam motorlarini M3 murvat bilan mahkamlang va hamma narsaga jim turing. Har qanday qo'pol qirralarning pastki qismidagi fayllar keyingi bosqichga qadar hamma narsani yana ajratadi.

8 -qadam: Step motorini kengaytirish

Bosqichli motorni kengaytirish
Bosqichli motorni kengaytirish
Bosqichli motorni kengaytirish
Bosqichli motorni kengaytirish
Bosqichli motorni kengaytirish
Bosqichli motorni kengaytirish

Teleskopning balandlik burchagini boshqaradigan qadam dvigateli asosiy korpusning tepasida joylashgan bo'lib, aylanishi uchun simlar biroz bo'shashishi kerak. Simlarni qadam va haydovchi taxtasi orasiga kesib, yangi uzunlikdagi simni lehimlab uzaytirish kerak.

Men yangi simni qo'llab -quvvatlovchi minoraga bir bo'lak ip yordamida joylashtirdim, chunki uni ishlatishda sim juda qattiq va tiqilib qoldi. U o'tib ketgandan so'ng, qadam dvigateliga lehimlanishi mumkin, bu to'g'ri rangni boshqa uchiga ulash uchun qaysi rang ulanganligini kuzatib boring. Simlarga issiqlik qisqarishini qo'shishni unutmang!

Lehimlangandan so'ng, hamma narsa ishlayotganini tekshirish uchun python skriptini ishga tushiring, so'ngra qadam dvigateli joylashguncha simlarni trubadan pastga qaytaring. Keyinchalik, korpusning orqa qismini mahkamlashdan oldin, M3 murvat va yong'oq bilan step motorli korpusga biriktirilishi mumkin.

9 -qadam: O'rnatish tugmalari va LCD displey

O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey
O'rnatish tugmachalari va LCD displey

Lehimlashdan oldin tugmachalarni joylashtiring va yong'oqlarni mahkamlang. Men toza bo'lish uchun ular orasidagi umumiy simni ishlatishni yaxshi ko'raman.

LCD displeyni M3 murvat va yong'oqlar bilan mahkamlang. LCD displey potentsiometrni uning pinlaridan biriga talab qiladi, men ham bu bosqichda lehimladim.

Kodni yana sinab ko'ring! Hammasini bir -biriga yopishtirishdan oldin hamma narsa ishlayotganiga ishonch hosil qiling, chunki bu bosqichda tuzatish ancha oson.

10 -qadam: Flanjlarni qo'shish

Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish
Flanjlarni qo'shish

3D bosilgan qismlarni qadam dvigatellariga ulash uchun biz qadam dvigatelining uchiga mos keladigan va vintlardek mahkamlangan 5 mm flanesli muftadan foydalanamiz.

Bir gardish aylanadigan minora tagiga, ikkinchisi teleskopga yopishtirilgan.

Aylanadigan minora tepasidagi motorga teleskopni ulash juda oddiy, chunki uni ushlab turgan kichik vintlardek kirish uchun juda ko'p joy bor. Boshqa gardishni mahkamlash qiyinroq, lekin asosiy korpus va aylanadigan minoraning poydevori o'rtasida kichik burama kalitni o'rnatish va vintni mahkamlash uchun etarli bo'shliq bor.

Yana sinov!

Endi hamma narsa avvalgi holatida bo'lishi kerak. Agar bunday bo'lmasa, xatolarni tuzatish va ulanishlarning xavfsizligiga ishonch hosil qilish vaqti keldi. Ochilgan simlar bir -biriga tegmasligiga ishonch hosil qiling, elektr tasmasi bilan aylaning va muammoga olib kelishi mumkin bo'lgan joylarni yamang.

11 -qadam: ishga tushirishda ishga tushiring

Har safar sayyorani topmoqchi bo'lganimizda kodni qo'lda ishlatishdan ko'ra, biz uni mustaqil ko'rgazma sifatida ishlashini xohlaymiz, shuning uchun biz uni Raspberry Pi yoqilganda kodimizni ishga tushiradigan qilib o'rnatamiz.

Terminalga yozing

crontab -e

Ochilgan faylda fayl oxiriga quyidagilarni qo'shing, so'ngra yangi qatorni qo'shing.

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

Mening kodim PlanetFinder nomli papkada saqlangan, shuning uchun /home/pi/PlanetFinder/planetFinder.py - bu mening faylim. Agar sizniki boshqa joyda saqlangan bo'lsa, uni bu erda o'zgartirganingizga ishonch hosil qiling.

Oxirida & kodi muhim, chunki u kodni fonda ishlashiga imkon beradi, shuning uchun u yuklashda sodir bo'ladigan boshqa jarayonlarni ushlab turmaydi.

12 -qadam: Hammasini bir -biriga yopishtiring

Hammasini bir -biriga yopishtiring!
Hammasini bir -biriga yopishtiring!
Hammasini bir -biriga yopishtiring!
Hammasini bir -biriga yopishtiring!

Allaqachon yopishtirilmagan hamma narsani tuzatish kerak.

Nihoyat, aylanadigan taglikning o'rtasiga kichkina kompas qo'shing.

13 -qadam: Foydalanish

Foydalanish
Foydalanish

Planet Finder yoqilganda, u foydalanuvchini vertikal o'qni sozlashni taklif qiladi. Yuqoriga va pastga tugmachalarini bosish teleskopni siljitadi, uni tekis qilib, o'ngga qaratib, keyin ok tugmasini (pastda) bosing.

Shundan so'ng, foydalanuvchidan aylanishni sozlash, tugmachalarni ishlatib, teleskopni kichik kompasga ko'ra shimolga ko'rsatmaguncha aylantiring, so'ng OK tugmasini bosing.

Endi siz yuqoriga/pastga tugmalaridan foydalanib sayyoralar bo'ylab sayohat qilishingiz mumkin va o'q tugmachasi yordamida topmoqchi bo'lganingizni tanlang. U sayyoramizning balandligi va azimutini ko'rsatadi, so'ngra bir necha soniya davomida uni ko'rsatib, shimolga buriladi.

14 -qadam: tugadi

Bajarildi
Bajarildi

Hammasi bajarildi!

Barcha sayyoralar qayerda ekanligini bilishdan zavqlaning:)

Kosmik sinov
Kosmik sinov
Kosmik sinov
Kosmik sinov

Kosmik tanlovda birinchi mukofot

Tavsiya: