Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang Kailangan Mo
- Hakbang 2: Mga Coordinate ng Planeta
- Hakbang 3: Pag-access sa Data ng Planet
- Hakbang 4: Code
- Hakbang 5: Pagkonekta sa Hardware
- Hakbang 6: Pagdidisenyo ng Kaso
- Hakbang 7: Pagsubok sa Mga Prints
- Hakbang 8: Pagpapalawak ng Stepper Motor
- Hakbang 9: Mount Buttons at LCD Screen
- Hakbang 10: Pagdaragdag ng mga Flanges
- Hakbang 11: Patakbuhin sa Startup
- Hakbang 12: Idikit Kayong Lahat
- Hakbang 13: Paggamit
- Hakbang 14: Tapos na
Video: Tagahanap ng Raspberry Pi Planet: 14 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
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
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
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
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
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
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
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
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
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
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
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!
Masiyahan sa pag-alam kung nasaan ang lahat ng mga planeta:)
Unang Gantimpala sa Space Hamon
Inirerekumendang:
AUTOMATIC GARBAGE PWEDE O BIN. Upang I-save ang PLANET .: 19 Hakbang (na may Mga Larawan)
AUTOMATIC GARBAGE PWEDE O BIN. Upang I-save ang PLANET .: Bago kami magsimula inirerekumenda ko sa iyo na panoorin ang unang video bago basahin ito dahil ito ay napaka kapaki-pakinabang. HI, ang pangalan ko ay Jacob at nakatira ako sa UK. Ang pag-recycle ay isang malaking problema kung saan ako nakatira nakikita ko ang maraming basura sa bukid at maaaring mapanganib. Th
Tagahanap ng Lokasyon ng GPS: 5 Mga Hakbang
Finder ng Lokasyon ng GPS: Kumusta kayong lahat, Ngayon ay tingnan natin kung paano gumawa ng isang GPS Finder ng Lokasyon gamit ang NEO-6m GPS module at arduino. Tingnan muna natin kung ano ang GPS
Tagahanap ng Taglagas ng ESP32: 5 Mga Hakbang
ESP32 Fall Detector: Gusto kong pasalamatan ang DFRobot sa pag-sponsor ng proyektong ito. Narito ang isang listahan ng mga ginamit na bahagi: DFRobot ESP32 ESP-WROOM Module × 1 - https://www.dfrobot.com/product-1559.htmlSilicon Labs CP2102 USB sa UART Bridge × 1MCP73831 Li-Ion Charger IC × 1LM317BD2T A
Tagahanap ng Saklaw ng Ultrasonic Sensor: 5 Mga Hakbang
Finder ng Saklaw ng Sensor ng Ultrasonic: Panimula: Tagahanap ng Saklaw ng Ultrasonic Gamit ang Arduino. Ang Ultrasonic Range Finder ay isang simpleng pamamaraan ng pagkalkula ng distansya mula sa isang balakid mula sa isang distansya nang walang anumang pisikal na kontak. Gumagamit ito ng isang ultrasonic distansya sensor na gumagamit ng tunog pulses
I-save ang Planet at Iyong Pocket. $$ I-convert ang Iyong Murang P&S Digital Camera sa Rechargable: 4 na Hakbang (na may Mga Larawan)
I-save ang Planet at Iyong Pocket. $$ I-convert ang Iyong Murang P&S Digital Camera sa Rechargable: Mga taon na ang nakakaraan, bumili ako ng Dolphin Jazz 2.0 Megapixel Digital Camera. Mayroon itong magagandang tampok at presyo. Nagkaroon din ito ng gana sa AAA Bateries. Walang isa na lumalakad palayo sa isang hamon, naisip kong gagamitin ko ito upang magamit ang isang rechargable na baterya upang ihinto ang pag-aaksaya ba