Mündəricat:

Raspberry Pi Planet Finder: 14 Addım (Şəkillərlə birlikdə)
Raspberry Pi Planet Finder: 14 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Planet Finder: 14 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Planet Finder: 14 Addım (Şəkillərlə birlikdə)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Noyabr
Anonim
Image
Image
Nə lazımdır
Nə lazımdır

Şəhərimdəki Elm Mərkəzinin xaricində, planetlərin göydə olduğu yerə dönüb işarə edə biləcək böyük bir metal konstruksiya var. İşlədiyini heç görməmişəm, amma bu əlçatmaz digər dünyanın əslində mənim kiçik şəxsiyyətimlə əlaqədar olaraq harada olduğunu bilməyin sehrli olacağını düşünürdüm.

Bu yaxınlarda bu uzun ömürlü sərginin yanından keçəndə "bunu edə biləcəyimə inanıram" deyə düşündüm və belə də etdim!

Bu, Planet Finder (Ay ilə birlikdə) etmək üçün bir bələdçidir, buna görə də kosmosdan qorxduğunuz zaman hara baxacağınızı bilə bilərsiniz.

Addım 1: Nə lazımdır

Nə lazımdır
Nə lazımdır

1 x Raspberry Pi (yerüstü wifi üçün versiya 3 və ya daha yüksək)

1 x LCD ekran (16 x 2) (bu kimi)

Sürücüləri olan 2 x Stepper mühərrikləri (28-BYJ48) (bunlar kimi)

3 x Düymələr (bu kimi)

2 x Flanş Bağlayıcıları (bunlar kimi)

1 x Düymə kompası (bu kimi)

8 x M3 bolt və qoz -fındıq

Korpus və teleskop üçün 3D çaplı hissələr

Addım 2: Planet Koordinatları

Planet Koordinatları
Planet Koordinatları

Astronomik cisimlərin göydə harada olduğunu təsvir etməyin bir neçə fərqli yolu var.

Bizim üçün istifadə etməyi ən mənalı edən yuxarıdakı şəkildə göstərildiyi kimi Üfüqi Koordinat Sistemidir. Bu şəkil burada əlaqəli Vikipediya səhifəsindəndir:

en.wikipedia.org/wiki/Horizontal_coordinat…

Üfüqi Koordinat sistemi sizə Şimaldan (Azimutdan) və üfüqdən (Yüksəklikdən) yuxarıya doğru bir açı verir, buna görə də dünyanın harasında axtardığınıza görə fərqlidir. Beləliklə, planet tapanımızın yeri nəzərə almalı və bir istinad üçün Şimali tapmağın bir yoluna sahib olmalıdır.

Zaman və məkanla dəyişən Yüksəklik və Azimutu hesablamağa çalışmaq əvəzinə, bu məlumatları NASA -dan araşdırmaq üçün Raspberry Pi gəmisindəki wifi bağlantısından istifadə edəcəyik. Bu cür şeyləri izləyirlər, buna görə ehtiyacımız yoxdur;)

Addım 3: Planet Məlumatlarına Giriş

Məlumatlarımızı NASA Jet Propulsion Laboratoriyasından (JPL) alırıq -

Bu məlumatlara daxil olmaq üçün, astronomik veb formaları və verilənlər bazalarını sorğulamaq üçün bir alətlər dəsti olan AstroQuery adlı kitabxanadan istifadə edirik. Bu kitabxana üçün sənədləri burada tapa bilərsiniz:

Bu sizin ilk Raspberry Pi layihənizdirsə, bu quraşdırma təlimatına əməl edərək başlayın:

Raspberry Pi -də Raspbian istifadə edirsinizsə (yuxarıdakı bələdçiyə əməl etsəniz belə olacaqsınız), onda artıq python3 quraşdırılmışsınız, ən son versiyanın quraşdırıldığından əmin olun (3.7.3 versiyasını istifadə edirəm). Pip almaq üçün bundan istifadə etməliyik. Bir terminal açın və aşağıdakıları yazın:

sudo apt install python3-pip

Daha sonra astroquery -in təkmilləşdirilmiş versiyasını quraşdırmaq üçün pip istifadə edə bilərik.

pip3 install --pre -astroquery yeniləyin

Bu layihənin qalan hissəsinə davam etməzdən əvvəl, bütün düzgün asılılıqların düzgün qurulduğundan əmin olmaq üçün bu məlumatlara sadə bir Python skripti ilə daxil olmağa çalışın.

astroquery.jplhorizons -dan Horizonları idxal edin

mars = Horizons (id = 499, yer = '000', epochs = Heç biri, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Bu, Marsın yerini ətraflı şəkildə göstərməlidir!

Bu saytın canlı planet mövqelərinə baxmaq üçün bu məlumatların doğru olub olmadığını yoxlaya bilərsiniz:

Bu sorğunu bir az pozmaq üçün id, JPL -in məlumatlarında Mars ilə əlaqəli rəqəmdir, dövrlər, məlumatların istədiyimiz vaxtdır (hazırda heç biri demək deyil) və id_type günəş sisteminin əsas cisimlərini soruşur. Məkan hazırda İngiltərədə "000" Greenwichdəki rəsədxananın yerləşmə kodudur. Digər yerləri burada tapa bilərsiniz:

Giderme:

Səhv alsanız: 'keyring.util.escape' adlı heç bir modul

terminalda aşağıdakı əmri sınayın:

pip3 install -keyrings.alt təkmilləşdirin

Addım 4: Kod

Bu addıma bu layihədə istifadə olunan tam python skript əlavə olunur.

Yeriniz üçün doğru məlumatları tapmaq üçün getPlanetInfo funksiyasına gedin və əvvəlki addımdakı rəsədxanaların siyahısını istifadə edərək yerini dəyişdirin.

def getPlanetInfo (planet):

obj = Horizons (id = planet, location = '000', epochs = None, id_type = 'majorbody') eph = obj.ephemerides () eph -ə qayıdır

Addım 5: Avadanlıqların birləşdirilməsi

Avadanlıqları birləşdirmək
Avadanlıqları birləşdirmək
Avadanlıqları birləşdirmək
Avadanlıqları birləşdirmək
Avadanlıqları birləşdirmək
Avadanlıqları birləşdirmək

Çörək lövhələri və tullanan tellərdən istifadə edərək, iki pilləli mühərriki, LCD ekranı və yuxarıdakı sxemdə göstərildiyi kimi üç düyməni bağlayın.

Raspberry Pi -də pinlərin nə olduğunu öyrənmək üçün terminala gedin və yazın

pinout

Bu, GPIO nömrələri və lövhə nömrələri ilə tamamlanan yuxarıdakı görüntünü sizə göstərməlidir. Kodda hansı sancaqların istifadə edildiyini təyin etmək üçün lövhə nömrələrindən istifadə edirik, buna görə mötərizədə olan nömrələrə istinad edəcəyəm.

Dövrə diaqramına kömək olaraq, hər hissəyə bağlı olan pinlər:

Birinci Step motoru - 7, 11, 13, 15

2 -ci Step motoru - 40, 38, 36, 32

Düymə 1-33

Düymə2-37

Düymə3 - 35

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

Bütün bunlar bağlı olduqda, python skriptini işə salın

python3 planetFinder.py

və ekranda quraşdırma mətnini görməlisiniz və düymələr step motorlarını hərəkət etdirməlidir.

Addım 6: Davanın dizaynı

Davanın dizaynı
Davanın dizaynı
Davanın dizaynı
Davanın dizaynı
Davanın dizaynı
Davanın dizaynı

Çanta asanlıqla 3D çap üçün dizayn edilmişdir. Ayrı -ayrı hissələrə parçalanır, sonra elektronikalar yerinə sabitləndikdən sonra yapışdırılır.

Deliklər istifadə etdiyim düymələr və M3 boltlar üçün ölçülərdir.

Teleskopu hissə -hissə çap etdim və daha sonra dəstək strukturunun qarşısını almaq üçün bir -birinə yapışdırdım.

STL faylları bu addıma əlavə olunur.

Addım 7: Çapları yoxlayın

Çapların sınanması
Çapların sınanması
Çapların sınanması
Çapların sınanması
Çapların sınanması
Çapların sınanması
Çapların sınanması
Çapların sınanması

Hər şey çap edildikdən sonra, hər hansı bir yapışdırmadan əvvəl hər şeyin bir -birinə sıx uyğun olduğundan əmin olun.

Düymələri yerinə qoyun və ekranı və step motorlarını M3 boltlarla bərkidin və hər şeyə yaxşı bir tərpəniş verin. Kobud kənarları aşağı çəkin, növbəti addımı atmadan əvvəl hər şeyi yenidən ayırın.

Addım 8: Step Motorun uzadılması

Step Motorun uzadılması
Step Motorun uzadılması
Step Motorun uzadılması
Step Motorun uzadılması
Step Motorun uzadılması
Step Motorun uzadılması

Teleskopun yüksəklik bucağını idarə edəcək step motor, əsas korpusun üstündə oturacaq və dönmək üçün tellərdə bir qədər boşluq lazımdır. Tellər, step və sürücü kartı arasında kəsilərək aralarında yeni bir tel tel lehim edilməklə uzadılmalıdır.

İstifadə etdiyim tel olduqca sərt olduğundan və sıxılmağa davam etməsi üçün yeni bir telin köpüklənməsinə kömək etmək üçün dəstəkləyici qülləyə daxil etdim. Bir dəfə keçdikdən sonra step motora lehimlənə bilər, digər ucunda doğru olanları yenidən bağlamaq üçün hansı rəngin bağlı olduğunu izləyin. Tellərə istilik büzücü əlavə etməyi unutmayın!

Lehimləndikdən sonra, hər şeyin hələ də işlədiyini yoxlamaq üçün python skriptini işlədin, sonra step motoru yerinə gələnə qədər telləri borudan aşağı itələyin. Daha sonra korpusun arxası yapışdırılmadan M3 boltlar və qoz -fındıqlarla step motor yuvasına bərkidilə bilər.

Addım 9: Düymələr və LCD Ekran

Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran
Montaj düymələri və LCD ekran

Lehimdən əvvəl bərkidilmək üçün düymələri daxil edin və qoz -fındıqları sıxın. Aralarında səliqə üçün işləyən ümumi bir torpaq telindən istifadə etməyi sevirəm.

LCD ekranı M3 boltlar və qoz -fındıqlarla bərkidin. LCD, bu mərhələdə lehimladığım pinlərdən birində potansiyometr istəyir.

Kodu yenidən sınayın! Hər şeyi bir -birinə yapışdırmadan əvvəl hər şeyin işlədiyinə əmin olun, çünki bu mərhələdə düzəltmək daha asandır.

Addım 10: Flanşların əlavə edilməsi

Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi
Flanşların əlavə edilməsi

3D çaplı hissələri step motorlarına bağlamaq üçün, step motorunun ucuna uyğun olan və kiçik vintlər ilə tutulan 5 mm flanşlı muftadan istifadə edirik.

Bir flanş fırlanan qüllənin əsasına, digəri isə teleskopa yapışdırılır.

Teleskopu fırlanan qüllənin üstündəki mühərrikə bağlamaq sadədir, çünki onu tutan kiçik vintlərə daxil olmaq üçün çox yer var. Digər flanşın bərkidilməsi daha çətindir, ancaq kiçik korpus açarına uyğun olaraq vintini sıxmaq üçün əsas korpus ilə fırlanan qüllənin əsası arasında kifayət qədər boşluq var.

Yenidən sınayın!

İndi hər şey son vəziyyətdə olduğu kimi işləməlidir. Əks təqdirdə, indi səhvləri düzəltməyin və əlaqələrin etibarlı olduğundan əmin olmağın vaxtıdır. Açıq tellərin bir -birinə toxunmadığından əmin olun, elektrik lenti ilə gəzin və problem yarada biləcək yerləri yamayın.

Addım 11: Başlanğıcda işə salın

Hər dəfə bir planet tapmaq istəyərkən kodu əl ilə işlətmək əvəzinə, bunun tək başına bir sərgi olaraq çalışmasını istəyirik, buna görə də Raspberry Pi hər açıldığında kodumuzu işə salacaq şəkildə quracağıq.

Terminalda yazın

crontab -e

Açılan faylda, faylın sonuna aşağıdakıları əlavə edərək yeni bir xətt əlavə edin.

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

Kodumu PlanetFinder adlı bir qovluqda saxladım, buna görə /home/pi/PlanetFinder/planetFinder.py faylımın yeridir. Sizinki başqa yerdə saxlanılırsa, onu burada dəyişdiyinizə əmin olun.

Kodun arxa planda işləməsinə icazə verdiyi üçün & sonunda da önəmlidir, buna görə də açılışda baş verən digər prosesləri saxlamır.

Addım 12: Hamısını bir -birinə yapışdırın

Hamısını Birlikdə Yapışdırın!
Hamısını Birlikdə Yapışdırın!
Hamısını Birlikdə Yapışdırın!
Hamısını Birlikdə Yapışdırın!

Hələ yerində yapışdırılmamış hər şey artıq sabitlənməlidir.

Nəhayət, fırlanan əsasın ortasına kiçik bir pusula əlavə edin.

Addım 13: İstifadə

İstifadə
İstifadə

Planet Finder aktiv olduqda, istifadəçini şaquli oxu tənzimləməsini istəyəcək. Yuxarı və aşağı düymələri basmaq teleskopu hərəkətə gətirəcək, düz hala gətirməyə çalışacaq, sağa işarə edərək sonra ok düyməsini (aşağıda) basın.

İstifadəçidən sonra fırlanmanı tənzimləməsi, düymələri istifadə edərək teleskopu kiçik kompasa görə şimala doğru istiqamətləndirənə qədər fırlatması və sonra ok düyməsini basması tələb olunacaq.

İndi yuxarı/aşağı düymələrindən istifadə edərək planetlərdə gəzə bilərsiniz və ok düyməsini istifadə edərək tapmaq istədiyiniz birini seçə bilərsiniz. Planetin Yüksəkliyi və Azimutunu göstərəcək, sonra bir neçə saniyə şimala dönməzdən əvvəl ona işarə edin.

Addım 14: Bitdi

Bitdi
Bitdi

Hər şey hazırdır!

Bütün planetlərin harada olduğunu bilməkdən zövq alın:)

Space Challenge
Space Challenge
Space Challenge
Space Challenge

Space Challenge -da birinci mükafat

Tövsiyə: