Talaan ng mga Nilalaman:

Tagahanap ng Raspberry Pi Planet: 14 Mga Hakbang (na may Mga Larawan)
Tagahanap ng Raspberry Pi Planet: 14 Mga Hakbang (na may Mga Larawan)

Video: Tagahanap ng Raspberry Pi Planet: 14 Mga Hakbang (na may Mga Larawan)

Video: Tagahanap ng Raspberry Pi Planet: 14 Mga Hakbang (na may Mga Larawan)
Video: Troubleshooting Microsoft Store Apps: Day 5 of IT Admins' Comprehensive Journey 2024, Hulyo
Anonim
Image
Image
Ang iyong kailangan
Ang iyong kailangan

Sa labas ng Science Center sa aking lungsod mayroong isang malaking istrakturang metal na maaaring lumiko at ituro kung nasaan ang mga planeta sa kalangitan. Hindi ko kailanman nakita itong gumagana, ngunit palagi kong naisip na ito ay nakapagtataka na malaman kung saan ang mga hindi maaabot na ibang mga mundo na talagang may kaugnayan sa aking maliit na sarili.

Nang lampasan ko ang matagal nang patay na eksibit na ito kamakailan lamang ay naisip ko na "Taya ko na magagawa ko iyon" at ganon din ang ginawa ko!

Ito ay isang gabay sa kung paano gawin ang Planet Finder (na nagtatampok ng Buwan) upang malaman mo rin kung saan hahanapin kapag pakiramdam mo ay kinamusta ka ng kalawakan.

Hakbang 1: Ano ang Kailangan Mo

Ang iyong kailangan
Ang iyong kailangan

1 x Raspberry Pi (bersyon 3 o mas mataas para sa onboard wifi)

1 x LCD screen (16 x 2) (tulad nito)

2 x Stepper motors na may mga driver (28-BYJ48) (tulad nito)

3 x Mga Push Button (tulad nito)

2 x Flange Couplers (tulad nito)

1 x Butas na kumpas (tulad nito)

8 x M3 bolts at mani

Mga naka-print na bahagi ng 3D para sa kaso at teleskopyo

Hakbang 2: Mga Coordinate ng Planeta

Mga Coordinate ng Planeta
Mga Coordinate ng Planeta

Mayroong ilang iba't ibang mga paraan ng paglalarawan kung saan ang mga astronomical na bagay ay nasa kalangitan.

Para sa amin, ang isa na may pinaka-katuturan na gamitin ay ang Horizontal Coordinate System tulad ng ipinakita sa imahe sa itaas. Ang imaheng ito ay mula sa pahina ng Wikipedia na naka-link dito:

en.wikipedia.org/wiki/Horizontal_coordinat…

Ang sistemang Horizontal Coordinate ay nagbibigay sa iyo ng isang anggulo mula sa Hilaga (ang Azimuth) at pataas mula sa abot-tanaw (ang Altitude), kaya't iba ito depende sa kung saan ka tumitingin mula sa mundo. Kaya't ang aming tagahanap ng planeta ay kailangang isaalang-alang ang lokasyon at magkaroon ng ilang paraan ng paghahanap ng Hilaga upang maging isang sanggunian.

Sa halip na subukang kalkulahin ang Altitude at Azimuth na magbabago sa oras at lokasyon, gagamitin namin ang koneksyon sa wifi sa board ng Raspberry Pi upang tingnan ang data na ito mula sa NASA. Sinusubaybayan nila ang ganitong uri ng bagay kaya hindi namin kailangang;)

Hakbang 3: Pag-access sa Data ng Planet

Nakukuha namin ang aming data mula sa NASA Jet Propulsion Laboratory (JPL) -

Upang ma-access ang data na ito, gumagamit kami ng isang silid-aklatan na tinatawag na AstroQuery na isang hanay ng mga tool para sa pagtatanong ng mga astronomical na form ng web at database. Ang dokumentasyon para sa library na ito ay matatagpuan dito:

Kung ito ang iyong unang proyekto ng Raspberry Pi, magsimula sa pamamagitan ng pagsunod sa gabay sa pag-set up na ito:

Kung gumagamit ka ng Raspbian sa iyong Raspberry Pi (magiging ikaw kung sinunod mo ang gabay sa itaas), pagkatapos ay mayroon ka nang naka-install na python3, tiyaking mayroon kang pinakabagong bersyon na naka-install (Gumagamit ako ng bersyon 3.7.3). Kailangan naming gamitin ito upang makakuha ng pip. Magbukas ng isang terminal at i-type ang sumusunod:

sudo apt i-install ang python3-pip

Maaari naming magamit ang pip upang mai-install ang na-upgrade na bersyon ng astroquery.

i-install ang pip3 --pre --i-upgrade ang astroquery

Bago magpatuloy sa natitirang bahagi ng proyektong ito, subukang i-access ang data na ito sa isang simpleng script ng Python upang matiyak na ang lahat ng tamang mga dependency ay na-install nang tama.

mula sa astroquery.jplhorizons import Horizons

mars = Horizons (id = 499, location = '000', epochs = Wala, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Dapat itong ipakita sa iyo ang mga detalye ng lokasyon ng Mars!

Maaari mong suriin upang makita kung ang data na ito ay tama gamit ang site na ito upang maghanap ng mga live na posisyon ng planeta:

Upang masira nang kaunti ang query na ito, ang id ay ang bilang na nauugnay sa Mars sa data ng JPL, ang mga epoch ay ang oras na nais natin ang data mula sa (Wala nang nangangahulugang ngayon) at humihiling ang id_type para sa pangunahing mga katawan ng solar system. Ang lokasyon ay kasalukuyang nakatakda sa UK dahil ang '000' ay ang code ng lokasyon para sa obserbatoryo sa Greenwich. Ang iba pang mga lokasyon ay matatagpuan dito:

Pag-troubleshoot:

Kung nakakuha ka ng error: Walang module na pinangalanang 'keyring.util.escape'

subukan ang sumusunod na utos sa terminal:

i-install ang pip3 - i-upgrade ang keyrings.alt

Hakbang 4: Code

Nakalakip sa hakbang na ito ay ang buong script ng sawa na ginamit sa proyektong ito.

Upang mahanap ang tamang data para sa iyong lokasyon, pumunta sa pagpapaandar getPlanetInfo at baguhin ang lokasyon gamit ang listahan ng mga obserbatoryo sa nakaraang hakbang.

def getPlanetInfo (planeta):

obj = Horizons (id = planet, location = '000', epochs = Wala, id_type = 'majorbody') eph = obj.ephemerides () ibalik ang eph

Hakbang 5: Pagkonekta sa Hardware

Kumokonekta sa Hardware
Kumokonekta sa Hardware
Kumokonekta sa Hardware
Kumokonekta sa Hardware
Kumokonekta sa Hardware
Kumokonekta sa Hardware

Gamit ang mga breadboard at jumper wires, ikonekta ang dalawang stepper motor, ang LCD screen at tatlong mga pindutan tulad ng ipinakita sa circuit diagram sa itaas.

Upang malaman kung anong numero ang mga pin sa iyong Raspberry Pi, pumunta sa terminal at i-type

pinout

Dapat itong ipakita sa iyo ang imahe sa itaas na kumpleto sa mga numero ng GPIO at mga numero ng board. Gumagamit kami ng mga numero ng board upang tukuyin kung aling mga pin ang ginagamit sa code, kaya't ako ay tumutukoy sa mga numero sa mga braket.

Bilang isang tulong sa diagram ng circuit, narito ang mga pin na konektado sa bawat bahagi:

1st Stepper motor - 7, 11, 13, 15

2nd Stepper motor - 40, 38, 36, 32

Pindutan1 - 33

Pindutan2 - 37

Pindutan3 - 35

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

Kapag ito ay nakakonekta lahat, patakbuhin ang script ng sawa

python3 planetFinder.py

at dapat mong makita ang palabas sa teksto ng pag-setup at dapat ilipat ng mga pindutan ang mga stepper motor.

Hakbang 6: Pagdidisenyo ng Kaso

Pagdidisenyo ng Kaso
Pagdidisenyo ng Kaso
Pagdidisenyo ng Kaso
Pagdidisenyo ng Kaso
Pagdidisenyo ng Kaso
Pagdidisenyo ng Kaso

Ang kaso ay idinisenyo upang madaling mai-print ang 3D. Pinaghihiwa-hiwalay ito sa magkakahiwalay na mga bahagi na pagkatapos ay nakadikit nang magkasama ang mga electronics ay na-secure sa lugar.

Ang mga butas ay may sukat para sa mga pindutan na ginamit ko at M3 bolts.

Inilimbag ko ang teleskopyo sa mga bahagi at idinikit ito sa paglaon upang maiwasan ang sobrang istraktura ng suporta.

Ang mga file ng STL ay nakakabit sa hakbang na ito.

Hakbang 7: Pagsubok sa Mga Prints

Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya
Pagsubok sa Mga Kopya

Kapag na-print na ang lahat, siguraduhin na ang lahat ay magkakasama nang magkakasama bago tapos ang anumang pandikit.

Pagkasyahin ang mga pindutan sa lugar at i-secure ang mga motor ng screen at stepper na may M3 bolts at bigyan ang lahat ng magandang pag-wiggle. I-file ang anumang magaspang na gilid na pag-isahin muli ang lahat bago ang susunod na hakbang.

Hakbang 8: Pagpapalawak ng Stepper Motor

Pagpapalawak ng Stepper Motor
Pagpapalawak ng Stepper Motor
Pagpapalawak ng Stepper Motor
Pagpapalawak ng Stepper Motor
Pagpapalawak ng Stepper Motor
Pagpapalawak ng Stepper Motor

Ang stepper motor na kung saan ay kontrolin ang anggulo ng taas ng teleskopyo ay umupo sa itaas ng pangunahing kaso at nangangailangan ng ilang slack sa mga wire upang paikutin. Ang mga wires ay kailangang mapalawak sa pamamagitan ng pagputol sa kanila sa pagitan ng stepper at ito ay board ng driver at paghihinang ng isang bagong haba ng kawad sa pagitan.

Ipinasok ko ang bagong kawad sa sumusuporta sa tower na gumagamit ng isang piraso ng thread upang matulungan itong suyuin dahil ang kawad na ginagamit ko ay medyo matigas at patuloy na makaalis. Sa sandaling ito ay maaaring solder sa stepper motor, tinitiyak na subaybayan kung aling kulay ang nakakonekta upang ma-reachach ang mga tama sa kabilang dulo. Huwag kalimutang idagdag ang pag-urong ng init sa mga wire!

Kapag na-solder, patakbuhin ang script ng python upang suriin ang lahat ay gumagana pa rin, pagkatapos ay itulak ang mga wire pabalik sa tubo hanggang sa ang stepper motor ay nasa posisyon. Pagkatapos ay maaari itong ikabit sa stepper motor na pabahay na may M3 bolts at nut bago ang likod ng pabahay ay nakadikit sa lugar.

Hakbang 9: Mount Buttons at LCD Screen

Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen
Mount Buttons at LCD Screen

Ipasok ang mga pindutan at higpitan ang mga mani upang mai-secure ang mga ito sa lugar bago maghinang. Gusto kong gumamit ng isang karaniwang ground wire na tumatakbo sa pagitan nila para sa pagiging maayos.

I-secure ang LCD screen gamit ang M3 bolts at nut. Ang LCD ay nais ng isang potensyomiter sa isa sa mga pin na kung saan ay naghinang din ako sa isang yugtong ito.

Subukan muli ang code! Siguraduhin na ang lahat ay gumagana pa rin bago namin idikit ang lahat nang sama-sama dahil mas madali itong ayusin sa yugtong ito.

Hakbang 10: Pagdaragdag ng mga Flanges

Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges
Pagdaragdag ng mga Flanges

Upang ikonekta ang mga naka-print na bahagi ng 3D sa mga motor ng stepper, gumagamit kami ng isang 5mm flange coupling na umaangkop sa tuktok ng dulo ng stepper motor at gaganapin ng maliliit na turnilyo.

Ang isang flange ay nakadikit sa base ng umiikot na tower at ang isa pa sa teleskopyo.

Ang paglakip ng teleskopyo sa motor sa tuktok ng umiikot na tower ay simple dahil maraming puwang upang ma-access ang maliliit na turnilyo na humahawak dito sa lugar. Ang iba pang flange ay mas mahirap i-secure, ngunit may sapat na isang puwang sa pagitan ng pangunahing kaso at ang base ng umiikot na tower upang magkasya sa isang maliit na key ng allen at higpitan ang tornilyo.

Subukan ulit!

Ngayon ang lahat ay dapat na gumana tulad ng sa huling kalagayan nito. Kung hindi, ngayon na ang oras upang ayusin ang bug at tiyaking ligtas ang lahat ng mga koneksyon. Siguraduhin na ang mga nakahantad na mga wire ay hindi nagalaw sa bawat isa, paikot-ikot gamit ang electrical tape at i-patch up ang anumang mga lugar na maaaring maging sanhi ng isang problema.

Hakbang 11: Patakbuhin sa Startup

Sa halip na patakbuhin ang code nang manu-mano sa tuwing nais naming makahanap ng isang planeta, nais naming tumakbo ito bilang isang nag-iisang exhibit, kaya't i-set up namin ito upang patakbuhin ang aming code sa tuwing nakabukas ang Raspberry Pi.

Sa terminal, uri

crontab -e

Sa file na bubukas, idagdag ang sumusunod sa dulo ng file, na sinusundan ng isang bagong linya.

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

Nai-save ko ang aking code sa isang folder na tinatawag na PlanetFinder, kaya ang /home/pi/PlanetFinder/planetFinder.py ay ang lokasyon ng aking file. Kung ang iyo ay nai-save sa ibang lugar tiyaking baguhin ito dito.

Ang & sa dulo ay mahalaga dahil pinapayagan nitong tumakbo ang code sa background, kaya't hindi nito pinipigilan ang iba pang mga proseso na nangyayari rin sa boot.

Hakbang 12: Idikit Kayong Lahat

Kola Niyong Lahat Magkasama!
Kola Niyong Lahat Magkasama!
Kola Niyong Lahat Magkasama!
Kola Niyong Lahat Magkasama!

Lahat ng hindi pa nakadikit sa lugar ay dapat na ayusin.

Panghuli, idagdag ang maliit na maliit na compass sa gitna ng umiikot na base.

Hakbang 13: Paggamit

Paggamit
Paggamit

Kapag naka-on ang Planet Finder, hihimok nito ang gumagamit na ayusin ang patayong axis. Ang pagpindot sa pataas at pababang mga pindutan ay ilipat ang teleskopyo, subukan at gawin itong maging antas, na tumuturo sa kanan, pagkatapos ay pindutin ang ok na pindutan (sa ibaba).

Hihilingin sa gumagamit na ayusin ang pag-ikot, gamitin ang mga pindutan upang paikutin ang teleskopyo hanggang sa ituro ang Hilaga ayon sa maliit na compass, pagkatapos ay pindutin ang ok.

Maaari mo na ngayong paikutin ang mga planeta gamit ang mga pindutan ng pataas / pababa at pumili ng isa na nais mong hanapin gamit ang ok na pindutan. Ipapakita nito ang Altitude at Azimuth ng planeta pagkatapos ay puntahan at ituro ito ng ilang segundo bago bumalik sa harap sa Hilaga.

Hakbang 14: Tapos na

Tapos na
Tapos na

Tapos na!

Masiyahan sa pag-alam kung nasaan ang lahat ng mga planeta:)

Space Hamon
Space Hamon
Space Hamon
Space Hamon

Unang Gantimpala sa Space Hamon

Inirerekumendang: