Satura rādītājs:
- 1. darbība. Kas jums nepieciešams
- 2. solis: planētu koordinātas
- 3. darbība. Piekļuve planētas datiem
- 4. solis: kods
- 5. darbība: aparatūras pievienošana
- 6. darbība: korpusa projektēšana
- 7. darbība: izdruku pārbaude
- 8. solis: pakāpiena motora pagarināšana
- 9. solis: stiprinājuma pogas un LCD ekrāns
- 10. darbība: atloku pievienošana
- 11. darbība: palaidiet, startējot
- 12. solis: pielīmējiet visu kopā
- 13. darbība: lietošana
- 14. solis: pabeigts
Video: Raspberry Pi Planet Finder: 14 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Ā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
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
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
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
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
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
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
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
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ā
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
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
Viss pabeigts!
Izbaudiet zināt, kur atrodas visas planētas:)
Pirmā balva kosmosa izaicinājumā
Ieteicams:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Ev3 Lego Gripper/Finder robots: 7 soļi
Ev3 Lego Gripper/Finder robots: Sveiki! GrabBot ir daudzfunkcionāls robots, kuram patīk ripot … Kad tas uzķeras uz neliela priekšmeta, tas to paņem un atgriež sākuma stāvoklī
Digitālais stud Finder: 6 soļi (ar attēliem)
Digitālais stud Finder: Stud Finders ir vienkāršs jēdziens. Divi kapacitatīvie sensori: viens sūta impulsa vilni, otrs saņem un mēra sprieguma samazināšanos starp materiāliem starp abām plāksnēm. Mēģinot attīstīt šo dizainu, šis projekts tika izstrādāts, lai
9. piestātne: Smart Bone Fetch Finder ™: 4 soļi (ar attēliem)
9. piestātne: Smart Bone Fetch Finder ™: Smart Bone Fetch Finder ™, kas pirmo reizi izveidots 2027. gadā, dod suņiem iespēju kontrolēt to, ar ko viņi ir labākie draugi. Nākotnē suņi tuvosies cilvēkiem parkos un piedāvās spēlēt atnest kā pakalpojumu. Pirmā ielāde ir bezmaksas
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)
Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu