Satura rādītājs:

Raspberry Pi Planet Finder: 14 soļi (ar attēliem)
Raspberry Pi Planet Finder: 14 soļi (ar attēliem)

Video: Raspberry Pi Planet Finder: 14 soļi (ar attēliem)

Video: Raspberry Pi Planet Finder: 14 soļi (ar attēliem)
Video: 3D hologram fan portrait solution. Who wanna date this holographic sexy lady #3dhologramfan 2024, Decembris
Anonim
Image
Image
Ko tev vajag
Ko tev vajag

Ārpus manas pilsētas Zinātnes centra ir liela metāla konstrukcija, kas var pagriezties un norādīt uz planētu atrašanās vietu debesīs. Es nekad neesmu redzējis, ka tas darbojas, bet es vienmēr domāju, ka būtu maģiski zināt, kur šīs nesasniedzamās citas pasaules patiesībā atrodas attiecībā pret manu sīko es.

Kad nesen gāju garām šim sen mirušajam eksponātam, es nodomāju: "Varu saderēt, ka es to varētu uztaisīt", un tā arī darīju!

Šis ir ceļvedis par to, kā izveidot planētu meklētāju (ar Mēnesi), lai arī jūs varētu zināt, kur meklēt, kad jūtaties satriekts par kosmosu.

1. darbība. Kas jums nepieciešams

Ko tev vajag
Ko tev vajag

1 x Raspberry Pi (3. vai jaunāka versija iebūvētajam WiFi)

1 x LCD ekrāns (16 x 2) (līdzīgi šim)

2 x pakāpju motori ar draiveriem (28-BYJ48) (līdzīgi šiem)

3 x spiedpogas (piemēram, šīs)

2 x atloku savienojumi (piemēram, šie)

1 x pogu kompass (šāds)

8 x M3 skrūves un uzgriežņi

3D drukātas detaļas korpusam un teleskopam

2. solis: planētu koordinātas

Planētu koordinātas
Planētu koordinātas

Ir daži dažādi veidi, kā aprakstīt astronomisko objektu atrašanās vietu debesīs.

Mums visizdevīgāk ir izmantot horizontālo koordinātu sistēmu, kā parādīts attēlā. Šis attēls ir no Wikipedia lapas, kas ir saistīta šeit:

en.wikipedia.org/wiki/Horizontal_coordinat…

Horizontālo koordinātu sistēma sniedz jums leņķi no ziemeļiem (azimuta) un uz augšu no horizonta (augstuma), tāpēc tas atšķiras atkarībā no tā, no kurienes skatāties pasaulē. Tāpēc mūsu planētas meklētājam ir jāņem vērā atrašanās vieta un jābūt zināmam veidam, kā atrast ziemeļus kā atsauci.

Tā vietā, lai mēģinātu aprēķināt augstumu un azimutu, kas mainās atkarībā no laika un atrašanās vietas, mēs izmantosim Wi -Fi savienojumu uz Raspberry Pi, lai meklētu šos NASA datus. Viņi seko līdzi tam, lai mums tas nebūtu jādara;)

3. darbība. Piekļuve planētas datiem

Mēs iegūstam savus datus no NASA reaktīvo dzinēju laboratorijas (JPL) -

Lai piekļūtu šiem datiem, mēs izmantojam bibliotēku ar nosaukumu AstroQuery, kas ir rīku komplekts astronomisko tīmekļa veidlapu un datu bāzu vaicāšanai. Šīs bibliotēkas dokumentācija atrodama šeit:

Ja šis ir jūsu pirmais Raspberry Pi projekts, sāciet, ievērojot šo iestatīšanas rokasgrāmatu:

Ja savā Raspberry Pi izmantojat Raspbian (jūs to darīsit, ja sekosit iepriekš minētajam ceļvedim), tad jums jau ir instalēta python3, pārliecinieties, vai ir instalēta jaunākā versija (es izmantoju versiju 3.7.3). Mums tas jāizmanto, lai iegūtu pip. Atveriet termināli un ierakstiet šo:

sudo apt instalēt python3-pip

Pēc tam mēs varam izmantot pip, lai instalētu astroquery jaunināto versiju.

pip3 install --pre --upgrade astroquery

Pirms turpināt pārējo šo projektu, mēģiniet piekļūt šiem datiem, izmantojot vienkāršu Python skriptu, lai pārliecinātos, ka visas pareizās atkarības ir instalētas pareizi.

no astroquery.jplhorizons import Horizons

mars = horizonti (id = 499, atrašanās vieta = '000', laikmeti = nav, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Tam vajadzētu parādīt informāciju par Marsa atrašanās vietu!

Jūs varat pārbaudīt, vai šie dati ir pareizi, izmantojot šo vietni, lai meklētu dzīvās planētas pozīcijas:

Lai mazliet sadalītu šo vaicājumu, id ir skaitlis, kas JPL datos ir saistīts ar Marsu, laikmeti ir laiks, no kura mēs vēlamies iegūt datus (neviens šobrīd nenozīmē), un id_type pieprasa Saules sistēmas galvenos ķermeņus. Atrašanās vieta pašlaik ir iestatīta uz Apvienoto Karalisti, jo “000” ir Griničas observatorijas atrašanās vietas kods. Citas atrašanās vietas var atrast šeit:

Problēmu novēršana:

Ja tiek parādīta kļūda: nav moduļa ar nosaukumu "keyring.util.escape"

izmēģiniet šādu komandu terminālī:

pip3 instalēt -jaunināt atslēgu gredzenus

4. solis: kods

Šim solim ir pievienots pilns šajā projektā izmantotais python skripts.

Lai atrastu pareizos datus par savu atrašanās vietu, dodieties uz funkciju getPlanetInfo un mainiet atrašanās vietu, izmantojot iepriekšējā solī esošo observatoriju sarakstu.

def getPlanetInfo (planēta):

obj = horizonti (id = planēta, atrašanās vieta = '000', laikmeti = nav, id_type = 'majorbody') eph = obj.ephemerides () return eph

5. darbība: aparatūras pievienošana

Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana
Aparatūras savienošana

Izmantojot maizes dēlus un džemperu vadus, pievienojiet divus pakāpju motorus, LCD ekrānu un trīs pogas, kā parādīts iepriekšējā shēmā.

Lai uzzinātu, kāds ir jūsu Raspberry Pi tapas, dodieties uz termināli un ierakstiet

pinout

Tam vajadzētu parādīt iepriekš redzamo attēlu kopā ar GPIO numuriem un tāfeles numuriem. Mēs izmantojam dēļu numurus, lai noteiktu, kuras tapas tiek izmantotas kodā, tāpēc es atsaucos uz iekavās esošajiem skaitļiem.

Lai palīdzētu shēmas shēmai, šeit ir tapas, kas ir savienotas ar katru daļu:

1. pakāpju motors - 7, 11, 13, 15

2. pakāpju motors - 40, 38, 36, 32

Poga 1 - 33

2. poga - 37

Poga 3 - 35

LCD ekrāns - 26, 24, 22, 18, 16, 12

Kad tas viss ir savienots, palaidiet python skriptu

python3 planetFinder.py

un ekrānā vajadzētu redzēt iestatīšanas tekstu, un pogām vajadzētu pārvietot soļu motorus.

6. darbība: korpusa projektēšana

Korpusa projektēšana
Korpusa projektēšana
Korpusa projektēšana
Korpusa projektēšana
Korpusa projektēšana
Korpusa projektēšana

Korpuss tika izstrādāts tā, lai to varētu viegli izdrukāt 3D formātā. Tas sadalās atsevišķās daļās, kuras pēc tam, kad elektronika ir nostiprināta vietā, tiek salīmētas kopā.

Caurumi ir izmēri manām pogām un M3 skrūvēm.

Es teleskopu izdrukāju pa daļām un vēlāk salīmēju kopā, lai izvairītos no pārāk lielas atbalsta struktūras.

Šim solim ir pievienoti STL faili.

7. darbība: izdruku pārbaude

Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude
Izdruku pārbaude

Kad viss ir izdrukāts, pirms līmēšanas pārliecinieties, ka viss cieši pieguļ viens otram.

Novietojiet pogas vietā un nostipriniet ekrānu un pakāpju motorus ar M3 skrūvēm un nodrošiniet visu labu kustību. Failu uz leju, lai visas neapstrādātās malas izjauktu visu pirms nākamās darbības.

8. solis: pakāpiena motora pagarināšana

Pakāpju motora pagarināšana
Pakāpju motora pagarināšana
Pakāpju motora pagarināšana
Pakāpju motora pagarināšana
Pakāpju motora pagarināšana
Pakāpju motora pagarināšana

Stepper motors, kas kontrolēs teleskopa pacelšanas leņķi, atradīsies virs galvenā korpusa, un, lai tas varētu pagriezties, ir nepieciešams nedaudz vaļīgs vads. Vadi ir jāpagarina, sagriežot tos starp pakāpienu un tā draivera plāksni un starp tiem lodējot jaunu stieples garumu.

Es ievietoju jauno stiepli atbalsta tornī, izmantojot pavedienu, lai palīdzētu to pierunāt, jo izmantotais vads ir diezgan stīvs un nepārtraukti iestrēdzis. Kad tas ir cauri, to var pielodēt pie pakāpju motora, sekojot līdzi, kura krāsa ir pievienota, lai otrā galā atkal piestiprinātu pareizās krāsas. Neaizmirstiet pievienot vadiem siltuma sarukumu!

Kad tas ir pielodēts, palaidiet pitona skriptu, lai pārbaudītu, vai viss joprojām darbojas, un pēc tam nospiediet vadus atpakaļ caurulē, līdz pakāpju motors atrodas vietā. Pēc tam to var piestiprināt pie pakāpiena motora korpusa ar M3 skrūvēm un uzgriežņiem, pirms korpusa aizmugure ir pielīmēta vietā.

9. solis: stiprinājuma pogas un LCD ekrāns

Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns
Montāžas pogas un LCD ekrāns

Ievietojiet pogas un pievelciet uzgriežņus, lai tos nostiprinātu pirms lodēšanas. Man patīk izmantot kopēju zemējuma vadu, kas starp tiem stiepjas, lai iegūtu kārtību.

Nostipriniet LCD ekrānu ar M3 skrūvēm un uzgriežņiem. LCD vēlas potenciometru uz vienas no tā tapām, ko es arī pielodēju šajā posmā.

Pārbaudiet kodu vēlreiz! Pārliecinieties, ka viss joprojām darbojas, pirms mēs visu salīmējam kopā, jo šajā posmā to ir daudz vieglāk salabot.

10. darbība: atloku pievienošana

Atloku pievienošana
Atloku pievienošana
Atloku pievienošana
Atloku pievienošana
Atloku pievienošana
Atloku pievienošana
Atloku pievienošana
Atloku pievienošana

Lai 3D drukātās detaļas savienotu ar pakāpju motoriem, mēs izmantojam 5 mm atloku savienojumu, kas atrodas pakāpiena motora gala augšpusē un tiek turēts ar mazām skrūvēm.

Viens atloks ir pielīmēts pie rotējošā torņa pamatnes, bet otrs - pie teleskopa.

Teleskopa piestiprināšana pie motora rotējošā torņa augšpusē ir vienkārša, jo ir daudz vietas, lai piekļūtu mazajām skrūvēm, kas to tur. Otru atloku ir grūtāk nostiprināt, taču starp galveno korpusu un rotējošā torņa pamatni ir pietiekami daudz atstarpes, lai ietilptu neliela sešstūra atslēga un pievelciet skrūvi.

Pārbaudi vēlreiz!

Tagad visam vajadzētu strādāt tā, kā tas būs galīgajā stāvoklī. Ja tā nav, tagad ir pienācis laiks labot kļūdas un pārliecināties, vai visi savienojumi ir droši. Pārliecinieties, ka atklātie vadi nepieskaras viens otram, apejiet ar elektrisko lenti un uzlīmējiet vietas, kas varētu radīt problēmas.

11. darbība: palaidiet, startējot

Tā vietā, lai palaistu kodu manuāli katru reizi, kad vēlamies atrast planētu, mēs vēlamies, lai tas darbotos kā atsevišķa izstāde, tāpēc mēs to iestatīsim tā, lai tas palaistu mūsu kodu ikreiz, kad ieslēdzas Raspberry Pi.

Terminālī ierakstiet

crontab -e

Atvērtajā failā faila beigās pievienojiet šādu tekstu, kam seko jauna rinda.

@restartējiet python3 /home/pi/PlanetFinder/planetFinder.py &

Mans kods ir saglabāts mapē ar nosaukumu PlanetFinder, tāpēc /home/pi/PlanetFinder/planetFinder.py ir mana faila atrašanās vieta. Ja jūsējais ir saglabāts kaut kur citur, noteikti nomainiet to šeit.

& Beigās ir svarīgs, jo tas ļauj kodam darboties fonā, tāpēc tas neaiztur citus procesus, kas notiek arī sāknēšanas laikā.

12. solis: pielīmējiet visu kopā

Līmējiet to visu kopā!
Līmējiet to visu kopā!
Līmējiet to visu kopā!
Līmējiet to visu kopā!

Viss, kas vēl nav pielīmēts vietā, tagad ir jānostiprina.

Visbeidzot, pievienojiet sīko kompasu rotējošās pamatnes vidum.

13. darbība: lietošana

Lietošana
Lietošana

Ieslēdzot planētu meklētāju, tas liks lietotājam pielāgot vertikālo asi. Nospiežot augšup un lejup vērstās pogas, teleskops tiks pārvietots, mēģiniet to novietot līdzenumā, norādot pa labi, un pēc tam nospiediet pogu ok (apakšā).

Pēc tam lietotājam tiks lūgts pielāgot rotāciju, izmantojiet pogas, lai pagrieztu teleskopu, līdz tas norāda uz ziemeļiem atbilstoši mazajam kompasam, pēc tam nospiediet ok.

Tagad varat pārvietoties pa planētām, izmantojot augšup/lejup vērstās pogas, un ar pogu OK izvēlēties to, kuru vēlaties atrast. Tas parādīs planētas augstumu un azimutu, pēc tam dažas sekundes norādiet uz to, pirms atgriezīsities pret ziemeļiem.

14. solis: pabeigts

Pabeigts
Pabeigts

Viss pabeigts!

Izbaudiet zināt, kur atrodas visas planētas:)

Kosmosa izaicinājums
Kosmosa izaicinājums
Kosmosa izaicinājums
Kosmosa izaicinājums

Pirmā balva kosmosa izaicinājumā

Ieteicams: