Turinys:

Raspberry Pi Planet Finder: 14 žingsnių (su nuotraukomis)
Raspberry Pi Planet Finder: 14 žingsnių (su nuotraukomis)

Video: Raspberry Pi Planet Finder: 14 žingsnių (su nuotraukomis)

Video: Raspberry Pi Planet Finder: 14 žingsnių (su nuotraukomis)
Video: Raspberry Pi NOAA Satellite Receiver 2024, Lapkritis
Anonim
Image
Image
Ko tau reikia
Ko tau reikia

Už mano miesto mokslo centro yra didelė metalinė konstrukcija, kuri gali pasisukti ir nukreipti į tai, kur planetos buvo danguje. Niekada nemačiau to veikiančio, bet visada maniau, kad būtų stebuklinga žinoti, kur šie nepasiekiami kiti pasauliai iš tikrųjų yra mano mažojo aš atžvilgiu.

Kai neseniai praėjau pro šį seniai mirusį eksponatą, pagalvojau „lažinuosi, kad galėčiau tai padaryti“, ir taip aš padariau!

Tai vadovas, kaip sukurti „Planet Finder“(su Mėnuliu), kad ir jūs žinotumėte, kur ieškoti, kai jaučiatės siaubingai erdvės.

1 žingsnis: ko jums reikia

Ko tau reikia
Ko tau reikia

1 x „Raspberry Pi“(3 ar naujesnė versija, skirta „Wi -Fi“)

1 x LCD ekranas (16 x 2) (kaip šis)

2 x žingsniniai varikliai su tvarkyklėmis (28-BYJ48) (kaip šie)

3 x mygtukai (tokie kaip šie)

2 x flanšinės movos (tokios kaip šios)

1 x mygtuko kompasas (toks)

8 x M3 varžtai ir veržlės

3D spausdintos korpuso ir teleskopo dalys

2 žingsnis: planetų koordinatės

Planetos koordinatės
Planetos koordinatės

Yra keletas skirtingų būdų apibūdinti, kur danguje yra astronominiai objektai.

Mums labiausiai prasminga naudoti horizontalią koordinačių sistemą, kaip parodyta aukščiau esančiame paveikslėlyje. Šis paveikslėlis yra iš „Wikipedia“puslapio, susieto čia:

en.wikipedia.org/wiki/Horizontal_coordinat…

Horizontalių koordinačių sistema suteikia jums kampą nuo šiaurės (azimuto) ir aukštyn nuo horizonto (aukščio), todėl jis skiriasi priklausomai nuo to, iš kur pasaulio žiūrite. Taigi mūsų planetos ieškotojas turi atsižvelgti į vietą ir turėti tam tikrą būdą rasti šiaurę kaip nuorodą.

Užuot bandę apskaičiuoti aukštį ir azimutą, kurie kinta priklausomai nuo laiko ir vietos, mes naudosime „Raspberry Pi“esančio „Wi -Fi“ryšį, kad surastume šiuos NASA duomenis. Jie stebi tokius dalykus, kad mums nereikėtų;)

3 veiksmas: prieiga prie planetos duomenų

Duomenis gauname iš NASA reaktyvinių varomųjų jėgainių laboratorijos (JPL) -

Norėdami pasiekti šiuos duomenis, naudojame biblioteką, pavadintą „AstroQuery“, kuri yra įrankių rinkinys, leidžiantis užklausti astronomines žiniatinklio formas ir duomenų bazes. Šios bibliotekos dokumentaciją rasite čia:

Jei tai jūsų pirmasis „Raspberry Pi“projektas, pradėkite vadovaudamiesi šiuo sąrankos vadovu:

Jei naudojate „Raspbian“savo „Raspberry Pi“(būsite laikydamiesi aukščiau pateikto vadovo), tada jau turite įdiegtą „python3“, įsitikinkite, kad įdiegta naujausia versija (aš naudoju 3.7.3 versiją). Turime tai naudoti norėdami gauti pip. Atidarykite terminalą ir įveskite:

sudo apt įdiegti python3-pip

Tada galime naudoti pip įdiegti atnaujintą astroquery versiją.

pip3 install --pre --upgrade astroquery

Prieš tęsdami likusią šio projekto dalį, pabandykite pasiekti šiuos duomenis naudodami paprastą „Python“scenarijų, kad įsitikintumėte, jog visos tinkamos priklausomybės buvo įdiegtos teisingai.

iš astroquery.jplhorizons importuoja horizontus

mars = horizontai (id = 499, vieta = '000', epochos = nėra, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Tai turėtų parodyti išsamią Marso vietos informaciją!

Galite patikrinti, ar šie duomenys teisingi, naudodami šią svetainę ieškodami gyvų planetų pozicijų:

Norėdami šiek tiek suskaidyti šią užklausą, id yra skaičius, susietas su Marsu JPL duomenyse, epocha yra laikas, iš kurio mes norime gauti duomenis (šiuo metu niekas nereiškia), o id_type prašo pagrindinių Saulės sistemos kūnų. Vieta šiuo metu nustatyta Jungtinėje Karalystėje, nes „000“yra Grinvičo observatorijos vietos kodas. Kitas vietas rasite čia:

Problemų sprendimas:

Jei gaunate klaidą: nėra modulio, pavadinto „keyring.util.escape“

pabandykite šią komandą terminale:

pip3 install --upgrade raktų pakabukai.alt

4 žingsnis: kodas

Prie šio veiksmo pridedamas visas šiame projekte naudojamas python scenarijus.

Norėdami rasti teisingus jūsų buvimo vietos duomenis, eikite į funkciją getPlanetInfo ir pakeiskite vietą naudodami ankstesnio veiksmo observatorijų sąrašą.

def getPlanetInfo (planeta):

obj = horizontai (id = planeta, vieta = '000', epochos = nėra, id_type = 'majorbody') eph = obj.ephemerides () return eph

5 veiksmas: aparatinės įrangos prijungimas

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Naudodami duonos lentas ir trumpiklius, prijunkite du žingsninius variklius, LCD ekraną ir tris mygtukus, kaip parodyta aukščiau esančioje schemoje.

Norėdami sužinoti, koks yra „Raspberry Pi“kaiščių skaičius, eikite į terminalą ir įveskite

pinout

Tai turėtų parodyti aukščiau esantį vaizdą su GPIO numeriais ir lentos numeriais. Mes naudojame lentos numerius, kad apibrėžtume, kurie smeigtukai naudojami kode, todėl nurodysiu skliausteliuose esančius skaičius.

Kaip pagalbinė schema, čia yra kaiščiai, prijungti prie kiekvienos dalies:

1 -asis žingsninis variklis - 7, 11, 13, 15

Antrasis žingsninis variklis - 40, 38, 36, 32

Mygtukas 1-33

2–37 mygtukas

Mygtukas 3 - 35

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

Kai visa tai prijungta, paleiskite „python“scenarijų

python3 planetFinder.py

ir jūs turėtumėte matyti ekrane rodomą sąrankos tekstą, o mygtukai turėtų judinti žingsninius variklius.

6 žingsnis: dėklo projektavimas

Korpuso projektavimas
Korpuso projektavimas
Korpuso projektavimas
Korpuso projektavimas
Korpuso projektavimas
Korpuso projektavimas

Korpusas buvo sukurtas taip, kad būtų galima lengvai atspausdinti 3D. Jis suskyla į atskiras dalis, kurios vėliau priklijuojamos, kai elektronika yra pritvirtinta.

Mano naudojamų mygtukų ir M3 varžtų skylių dydis.

Aš išspausdinau teleskopą dalimis ir vėliau suklijavau, kad nebūtų per daug atraminės konstrukcijos.

Prie šio veiksmo pridedami STL failai.

7 žingsnis: spaudinių testavimas

Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas
Spaudinių testavimas

Kai viskas bus atspausdinta, prieš klijuodami įsitikinkite, kad viskas gerai priglunda.

Įdėkite mygtukus į vietą ir užfiksuokite ekraną bei žingsninius variklius M3 varžtais ir viską gerai sukite. Failais nuleiskite visus grubius kraštus, prieš kitą žingsnį viską išardykite.

8 žingsnis: žingsninio variklio pratęsimas

Žingsninio variklio pratęsimas
Žingsninio variklio pratęsimas
Žingsninio variklio pratęsimas
Žingsninio variklio pratęsimas
Žingsninio variklio pratęsimas
Žingsninio variklio pratęsimas

Žingsninis variklis, kuris valdys teleskopo pakilimo kampą, sėdės virš pagrindinio korpuso ir, norėdamas suktis, turi šiek tiek atsilaisvinti. Laidus reikia prailginti, perpjaunant juos tarp žingsnio ir vairuotojo plokštės ir tarp jų lituojant naują vielos ilgį.

Aš įkišau naują vielą į atraminį bokštą, naudodamas sriegį, kad padėtų jį įkalbėti, nes mano naudojama viela yra gana standi ir vis stringa. Kai jis praeis, jis gali būti prilituotas prie žingsninio variklio, todėl būtinai stebėkite, kokia spalva yra prijungta, kad kitame gale vėl pritvirtintumėte tinkamas spalvas. Nepamirškite prie laidų pridėti šilumos susitraukimo!

Kai lituosite, paleiskite „Python“scenarijų, kad patikrintumėte, ar viskas vis dar veikia, tada stumkite laidus atgal žemyn vamzdeliu, kol žingsninis variklis bus savo vietoje. Tada jį galima pritvirtinti prie žingsninio variklio korpuso M3 varžtais ir veržlėmis, kol korpuso galinė dalis bus klijuota.

9 veiksmas: pritvirtinkite mygtukus ir LCD ekraną

Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas
Montavimo mygtukai ir LCD ekranas

Įdėkite mygtukus ir priveržkite veržles, kad prieš litavimą pritvirtintumėte. Man patinka naudoti bendrą įžeminimo laidą, kuris eina tarp jų, kad būtų tvarkingas.

Pritvirtinkite LCD ekraną M3 varžtais ir veržlėmis. Skystųjų kristalų ekranas nori potenciometro ant vieno iš jo kaiščių, kuriuos aš taip pat lituojau šiame etape.

Iš naujo išbandykite kodą! Prieš klijuodami viską, įsitikinkite, kad viskas vis dar veikia, nes šiame etape tai daug lengviau išspręsti.

10 žingsnis: flanšų pridėjimas

Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas
Flanšų pridėjimas

Norėdami prijungti 3D spausdintas dalis prie žingsninių variklių, mes naudojame 5 mm flanšo jungtį, kuri tinka virš žingsninio variklio galo ir yra laikoma mažais varžtais.

Vienas flanšas yra priklijuotas prie besisukančio bokšto pagrindo, o kitas - prie teleskopo.

Teleskopo pritvirtinimas prie variklio ant besisukančio bokšto yra paprastas, nes yra daug vietos prieiti prie mažų varžtų, laikančių jį. Kitą flanšą sunkiau pritvirtinti, tačiau tarp pagrindinio korpuso ir besisukančio bokšto pagrindo yra pakankamai tarpo, kad tilptų mažas šešiakampis raktas ir priveržkite varžtą.

Išbandyk dar kartą!

Dabar viskas turėtų veikti taip, kaip bus galutinėje būsenoje. Jei ne, dabar pats laikas ištaisyti klaidas ir įsitikinti, kad visi ryšiai yra saugūs. Įsitikinkite, kad atviri laidai neliečia vienas kito, apvyniokite juostele ir užklijuokite vietas, kurios gali sukelti problemų.

11 veiksmas: paleiskite paleisdami

Užuot paleidę kodą rankiniu būdu kiekvieną kartą, kai norime rasti planetą, mes norime, kad jis būtų rodomas kaip atskiras eksponatas, todėl nustatysime, kad jis paleistų mūsų kodą, kai tik „Raspberry Pi“įsijungs.

Terminale įveskite

crontab -e

Atsidariusiame faile failo pabaigoje pridėkite šiuos žodžius, o po to - naują eilutę.

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

Mano kodas išsaugotas aplanke „PlanetFinder“, todėl /home/pi/PlanetFinder/planetFinder.py yra mano failo vieta. Jei jūsų yra išsaugotas kitur, būtinai pakeiskite jį čia.

& Pabaigoje yra svarbus, nes leidžia kodui veikti fone, todėl jis nesulaiko kitų procesų, kurie taip pat vyksta įkrovos metu.

12 žingsnis: klijuokite viską kartu

Klijuokite viską kartu!
Klijuokite viską kartu!
Klijuokite viską kartu!
Klijuokite viską kartu!

Viskas, kas dar nėra priklijuota, dabar turėtų būti pritvirtinta.

Galiausiai pridėkite mažą kompasą prie besisukančio pagrindo vidurio.

13 žingsnis: naudojimas

Naudojimas
Naudojimas

Kai „Planet Finder“įsijungs, jis paragins vartotoją sureguliuoti vertikalią ašį. Paspaudus aukštyn ir žemyn mygtukus, teleskopas bus perkeltas, pabandykite jį išlyginti ir nukreipti į dešinę, tada paspauskite mygtuką OK (apačioje).

Tada naudotojas bus paprašytas sureguliuoti sukimąsi, mygtukais pasukite teleskopą, kol jis pagal mažą kompasą bus nukreiptas į šiaurę, tada paspauskite ok.

Dabar galite keliauti po planetas naudodami aukštyn/žemyn mygtukus ir išsirinkti norimą surasti mygtuku Gerai. Jame bus rodomas planetos aukštis ir azimutas, tada eikite ir kelias sekundes nukreipkite į jį, prieš pasukdami atgal į šiaurę.

14 žingsnis: Baigta

Baigta
Baigta

Viskas padaryta!

Smagu žinoti, kur yra visos planetos:)

Kosmoso iššūkis
Kosmoso iššūkis
Kosmoso iššūkis
Kosmoso iššūkis

Pirmasis prizas kosmoso iššūkyje

Rekomenduojamas: