Përmbajtje:

Raspberry Pi Planet Finder: 14 hapa (me fotografi)
Raspberry Pi Planet Finder: 14 hapa (me fotografi)

Video: Raspberry Pi Planet Finder: 14 hapa (me fotografi)

Video: Raspberry Pi Planet Finder: 14 hapa (me fotografi)
Video: Собаку бросили в лесу с коробкой макарон. История собаки по имени Ринго. 2024, Korrik
Anonim
Image
Image
Ajo që ju nevojitet
Ajo që ju nevojitet

Jashtë Qendrës Shkencore në qytetin tim ka një strukturë të madhe metalike e cila mund të kthehet dhe të tregojë vendin ku planetët ishin në qiell. Unë kurrë nuk e kam parë të funksionojë, por gjithmonë kam menduar se do të ishte magjike të dija se ku ishin këto botë të tjera të paarritshme në të vërtetë në lidhje me veten time të vogël.

Kur kalova pranë kësaj ekspozite të vdekur prej kohësh, mendova "Vë bast se mund ta bëj atë" dhe kështu bëra!

Ky është një udhëzues se si të bëni Planet Finder (duke shfaqur Hënën), kështu që edhe ju mund të dini se ku të shikoni kur ndiheni të mahnitur nga hapësira.

Hapi 1: Ajo që ju nevojitet

Ajo që ju nevojitet
Ajo që ju nevojitet

1 x Raspberry Pi (versioni 3 ose më i lartë për wifi në bord)

1 x ekran LCD (16 x 2) (si ky)

2 x motorë Stepper me drejtues (28-BYJ48) (si këta)

3 x Butona Push (si këto)

2 x çiftëzues fllanxhe (si këto)

1 x busull me butona (si kjo)

8 x bulona dhe arra M3

Pjesë të printuara 3D për kasën dhe teleskopin

Hapi 2: Koordinatat planetare

Koordinatat planetare
Koordinatat planetare

Ka disa mënyra të ndryshme për të përshkruar se ku janë objektet astronomike në qiell.

Për ne, ai që ka më shumë kuptim për t'u përdorur është Sistemi Koordinativ Horizontal siç tregohet në imazhin e mësipërm. Ky imazh është nga faqja Wikipedia e lidhur këtu:

en.wikipedia.org/wiki/Horizontal_coordinat…

Sistemi i Koordinatave Horizontale ju jep një kënd nga Veriu (Azimuth) dhe lart nga horizonti (Lartësia), kështu që është i ndryshëm në varësi të asaj se nga po shikoni në botë. Pra, zbuluesi ynë i planetit duhet të marrë parasysh vendndodhjen dhe të ketë një mënyrë për të gjetur Veriun si referencë.

Në vend që të përpiqemi të llogarisim lartësinë dhe Azimuthin që ndryshojnë me kohën dhe vendndodhjen, ne do të përdorim lidhjen wifi në bordin e Raspberry Pi për të kërkuar këto të dhëna nga NASA. Ata mbajnë shënime për këtë lloj gjëje, kështu që ne nuk kemi pse;)

Hapi 3: Qasja në të dhënat e Planetit

Ne po marrim të dhënat tona nga Laboratori i Shtytjes së Jetës së NASA -s (JPL) -

Për të hyrë në këto të dhëna, ne përdorim një bibliotekë të quajtur AstroQuery e cila është një grup mjetesh për pyetjen e formave dhe bazave të të dhënave astronomike të uebit. Dokumentacioni për këtë bibliotekë gjendet këtu:

Nëse ky është projekti juaj i parë Raspberry Pi, filloni duke ndjekur këtë udhëzues të konfiguruar:

Nëse jeni duke përdorur Raspbian në Raspberry Pi tuaj (do të jeni nëse ndiqni udhëzuesin e mësipërm), atëherë tashmë e keni të instaluar python3, sigurohuni që të keni të instaluar versionin më të fundit (unë jam duke përdorur versionin 3.7.3). Ne duhet ta përdorim këtë për të marrë pip. Hapni një terminal dhe shkruani sa vijon:

sudo apt instaloni python3-pip

Ne pastaj mund të përdorim pip për të instaluar versionin e azhurnuar të astroquery.

pip3 install --pre -përmirësoni astroquery

Para se të vazhdoni me pjesën tjetër të këtij projekti, provoni të hyni në këto të dhëna me një shkrim të thjeshtë Python për t'u siguruar që të gjitha varësitë e duhura janë instaluar në mënyrë korrekte.

nga astroquery.jplhorizons import Horizons

mars = Horizontet (id = 499, vendndodhja = '000', epochs = Asnjë, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Kjo duhet t'ju tregojë detajet e vendndodhjes së Marsit!

Mund të kontrolloni nëse këto të dhëna janë të sakta duke përdorur këtë faqe për të kërkuar pozicionet e drejtpërdrejta të planetit:

Për ta thyer këtë pyetje pak, ID është numri i lidhur me Marsin në të dhënat e JPL, epokat janë koha nga e cila duam të dhënat (Asnjë nuk do të thotë tani) dhe id_type po kërkon trupat kryesorë të sistemit diellor. Vendndodhja aktualisht është vendosur në Mbretërinë e Bashkuar pasi '000' është kodi i vendndodhjes për observatorin në Greenwich. Vende të tjera mund të gjenden këtu:

Zgjidhja e problemeve:

Nëse merrni gabimin: Asnjë modul i quajtur 'keyring.util.escape'

provoni komandën e mëposhtme në terminal:

instaloni pip3 -azhurnoni çelësat.alt

Hapi 4: Kodi

Bashkangjitur këtij hapi është shkrimi i plotë i pitonit i përdorur në këtë projekt.

Për të gjetur të dhënat e sakta për vendndodhjen tuaj, shkoni te funksioni getPlanetInfo dhe ndryshoni vendndodhjen duke përdorur listën e vëzhgimeve në hapin e mëparshëm.

def getPlanetInfo (planeti):

obj = Horizontet (id = planeti, vendndodhja = '000', epochs = Asnjë, id_type = 'majorbody') eph = obj.ephemerides () kthehen eph

Hapi 5: Lidhja e harduerit

Lidhja e pajisjeve kompjuterike
Lidhja e pajisjeve kompjuterike
Lidhja e pajisjeve kompjuterike
Lidhja e pajisjeve kompjuterike
Lidhja e pajisjeve kompjuterike
Lidhja e pajisjeve kompjuterike

Duke përdorur dërrasa buke dhe tela kërcyes, lidhni dy motorë stepper, ekranin LCD dhe tre butona siç tregohet në diagramin e qarkut më sipër.

Për të zbuluar numrin e kunjave në Raspberry Pi tuaj, shkoni në terminal dhe shkruani

pinout

Kjo duhet t'ju tregojë imazhin e mësipërm të kompletuar me numrat GPIO dhe numrat e tabelës. Ne po përdorim numrat e tabelës për të përcaktuar se cilat kunja përdoren në kod, kështu që unë do t'i referoj numrat në kllapa.

Si ndihmë për diagramin e qarkut, këtu janë kunjat që lidhen me secilën pjesë:

Motori i parë Stepper - 7, 11, 13, 15

Motori i dytë Stepper - 40, 38, 36, 32

Butoni 1 - 33

Butoni 2 - 37

Butoni 3 - 35

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

Kur e gjithë kjo është e lidhur, ekzekutoni skriptin python

python3 planetFinder.py

dhe ju duhet të shihni tekstin e konfigurimit të ekranit dhe butonat duhet të lëvizin motorët me hapa.

Hapi 6: Hartimi i Rastit

Projektimi i Rastit
Projektimi i Rastit
Projektimi i Rastit
Projektimi i Rastit
Projektimi i Rastit
Projektimi i Rastit

Rasti është projektuar që të printohet lehtë me lehtësi. Ai ndahet në pjesë të veçanta të cilat më pas ngjiten së bashku pasi elektronika të jetë fiksuar në vend.

Vrimat janë me madhësi për butonat që kam përdorur dhe bulonat M3.

Unë e printova teleskopin në pjesë dhe i ngjita së bashku më vonë për të shmangur shumë strukturën mbështetëse.

Skedarët STL i bashkëngjiten këtij hapi.

Hapi 7: Testimi i Shtypjeve

Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve
Testimi i Shtypjeve

Pasi të jetë shtypur gjithçka, sigurohuni që gjithçka të përshtatet mirë së bashku para se të bëhet çdo ngjitje.

Vendosni butonat në vend dhe siguroni ekranin dhe motorët stepper me bulona M3 dhe jepini gjithçka një lëvizje të mirë. Paraqitni çdo skaj të përafërt të marrë përsëri gjithçka para hapit tjetër.

Hapi 8: Zgjatja e Stepper Motor

Zgjerimi i motorit Stepper
Zgjerimi i motorit Stepper
Zgjerimi i motorit Stepper
Zgjerimi i motorit Stepper
Zgjerimi i motorit Stepper
Zgjerimi i motorit Stepper

Motori stepper i cili do të kontrollojë këndin e ngritjes së teleskopit do të ulet mbi kutinë kryesore dhe ka nevojë për një ngadalësim në tela në mënyrë që të rrotullohet. Telat duhet të zgjaten duke i prerë ato midis hapësit dhe bordit të shoferit dhe duke bashkuar një gjatësi të re teli në mes.

E futa telin e ri në kullën mbështetëse duke përdorur një copë fije për ta ndihmuar atë të kalojë pasi tela që po përdor është mjaft e ngurtë dhe vazhdoi të ngecë. Pasi të kaloni, mund të ngjitet në motorin stepper, duke u siguruar që të mbani shënimin se cila ngjyrë është e lidhur në mënyrë që të bashkoni sërish ato të duhurat në skajin tjetër. Mos harroni të shtoni tkurrje të nxehtësisë në tela!

Pasi të jetë ngjitur, drejtoni shkrimin python për të kontrolluar se gjithçka është ende duke punuar, pastaj shtyjini telat përsëri poshtë tubit derisa motori stepper të jetë në pozicionin e tij. Pastaj mund të ngjitet në strehimin e motorit stepper me bulona dhe arra M3 para se pjesa e pasme e strehimit të ngjitet në vend.

Hapi 9: Montoni butonat dhe ekranin LCD

Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD
Montoni butonat dhe ekranin LCD

Vendosni butonat dhe shtrëngoni arrat për t'i siguruar ato në vend para bashkimit. Më pëlqen të përdor një tel tokësor të zakonshëm i cili kalon mes tyre për pastërtinë.

Siguroni ekranin LCD me bulona dhe arra M3. LCD -ja kërkon një potenciometër në njërën prej kunjave të saj të cilën unë gjithashtu e bashkova në këtë fazë.

Provoni përsëri kodin! Sigurohuni që gjithçka është ende duke punuar para se të lidhim gjithçka së bashku pasi është shumë më e lehtë për tu rregulluar në këtë fazë.

Hapi 10: Shtimi i fllanxhave

Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave
Shtimi i fllanxhave

Për të lidhur pjesët e printuara 3D me motorët stepper, ne po përdorim një bashkim fllanxhe 5 mm i cili përshtatet në majë të skajit të motorit stepper dhe mbahet në vend nga vida të vogla.

Një fllanxhë është ngjitur në bazën e kullës rrotulluese dhe tjetra në teleskop.

Lidhja e teleskopit me motorin në majë të kullës rrotulluese është e thjeshtë pasi ka shumë hapësirë për të hyrë në vidhat e vogla që e mbajnë atë në vend. Fllanxha tjetër është më e vështirë për t'u siguruar, por ka mjaft një hendek midis kutisë kryesore dhe bazës së kullës rrotulluese për të përshtatur një çelës të vogël allen dhe për të shtrënguar vidën.

Provoni përsëri!

Tani gjithçka duhet të funksionojë ashtu siç do të jetë në gjendjen e saj përfundimtare. Nëse nuk është kështu, tani është koha për të rregulluar gabimet dhe për t'u siguruar që lidhjet janë të gjitha të sigurta. Sigurohuni që telat e ekspozuar të mos prekin njëri -tjetrin, shkoni rrotull me shirit elektrik dhe rregulloni çdo vend që mund të shkaktojë problem.

Hapi 11: Drejtoni në fillimin

Në vend që të ekzekutojmë kodin manualisht sa herë që duam të gjejmë një planet, ne duam që kjo të funksionojë si një ekspozitë më vete, kështu që ne do ta vendosim atë për të ekzekutuar kodin tonë sa herë që Raspberry Pi të ndizet.

Në terminal, shkruani

crontab -e

Në skedarin që hapet, shtoni sa vijon në fund të skedarit, e ndjekur nga një rresht i ri.

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

Unë kam kodin tim të ruajtur në një dosje të quajtur PlanetFinder, kështu që /home/pi/PlanetFinder/planetFinder.py është vendndodhja e skedarit tim. Nëse e juaja ruhet diku tjetër sigurohuni që ta ndryshoni këtu.

& Në fund është e rëndësishme pasi lejon që kodi të funksionojë në sfond, kështu që nuk mban procese të tjera të cilat gjithashtu ndodhin në boot.

Hapi 12: Ngjitini të gjitha së bashku

Ngjiteni të gjitha së bashku!
Ngjiteni të gjitha së bashku!
Ngjiteni të gjitha së bashku!
Ngjiteni të gjitha së bashku!

Çdo gjë që nuk është ngjitur tashmë në vend tani duhet të fiksohet.

Së fundi, shtoni busullën e vogël në mes të bazës rrotulluese.

Hapi 13: Përdorimi

Përdorimi
Përdorimi

Kur Planet Finder të ndizet, do ta nxisë përdoruesin të rregullojë boshtin vertikal. Shtypja e butonave lart dhe poshtë do të lëvizë teleskopin, përpiquni ta bëni atë të jetë në nivel, duke treguar në të djathtë, pastaj shtypni butonin ok (në fund).

Pastaj përdoruesit do t'i kërkohet të rregullojë rrotullimin, të përdorë butonat për të rrotulluar teleskopin derisa të tregojë Veriun sipas busullës së vogël, pastaj shtypni ok.

Tani mund të lëvizni nëpër planet duke përdorur butonat lart/poshtë dhe të zgjidhni një që dëshironi të gjeni me butonin ok. Ai do të shfaqë Lartësinë dhe Azimuthin e planetit, pastaj do të shkojë dhe do ta drejtojë atë për disa sekonda para se të kthehet në veri.

Hapi 14: Përfundoi

E perfunduar
E perfunduar

Gjithçka është bërë!

Kënaquni duke ditur se ku janë të gjithë planetët:)

Sfida Hapësinore
Sfida Hapësinore
Sfida Hapësinore
Sfida Hapësinore

Çmimi i parë në Sfidën Hapësinore

Recommended: