Turinys:
- 1 žingsnis: ko jums reikia
- 2 žingsnis: planetų koordinatės
- 3 veiksmas: prieiga prie planetos duomenų
- 4 žingsnis: kodas
- 5 veiksmas: aparatinės įrangos prijungimas
- 6 žingsnis: dėklo projektavimas
- 7 žingsnis: spaudinių testavimas
- 8 žingsnis: žingsninio variklio pratęsimas
- 9 veiksmas: pritvirtinkite mygtukus ir LCD ekraną
- 10 žingsnis: flanšų pridėjimas
- 11 veiksmas: paleiskite paleisdami
- 12 žingsnis: klijuokite viską kartu
- 13 žingsnis: naudojimas
- 14 žingsnis: Baigta
Video: Raspberry Pi Planet Finder: 14 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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
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
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
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
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
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
Ž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ą
Į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
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
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
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
Viskas padaryta!
Smagu žinoti, kur yra visos planetos:)
Pirmasis prizas kosmoso iššūkyje
Rekomenduojamas:
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: Šis projektas realizuoja 20x10 pikselių WS2812 pagrindu pagamintą 78x35 cm dydžio LED ekraną, kurį galima lengvai sumontuoti svetainėje, kad būtų galima žaisti retro žaidimus. Pirmoji šios matricos versija buvo sukurta 2016 m., Ją perstatė daugelis kitų žmonių. Šis pavyzdys
„IoT Keychain Finder“naudojant ESP8266-01: 11 žingsnių (su paveikslėliais)
„IoT Keychain Finder“naudojant ESP8266-01: Ar jūs, kaip aš, visada pamiršote, kur laikėte raktus? Aš niekada negaliu laiku rasti savo raktų! Ir dėl šio mano įpročio aš pavėlavau į koledžą, tą riboto leidimo „Žvaigždžių karų“gėrybių išpardavimą (vis dar nervina!), Datą (ji niekada nepasirinko
4 žingsnių skaitmeninis sekos sekiklis: 19 žingsnių (su nuotraukomis)
4 žingsnių skaitmeninis sequencer: CPE 133, Cal Poly San Luis Obispo Projekto kūrėjai: Jayson Johnston ir Bjorn NelsonŠių dienų muzikos industrijoje, viena iš dažniausiai naudojamų “ instrumentų “ yra skaitmeninis sintezatorius. Kiekvienas muzikos žanras, nuo hip-hopo iki pop ir vakaro
9 prieplauka: „Smart Bone Fetch Finder ™“: 4 žingsniai (su nuotraukomis)
9 prieplauka: „Smart Bone Fetch Finder ™“: „Smart Bone Fetch Finder ™“, sukurta 2027 m., Suteikia šunims galimybę kontroliuoti, su kuo jie yra geriausi draugai. Ateityje šunys priartės prie žmonių parkuose ir pasiūlys žaisti parsivežti kaip paslaugą. Pirmasis priėmimas nemokamas
Nešiojamas reklamos ženklas pigiai vos 10 žingsnių !!: 13 žingsnių (su nuotraukomis)
Nešiojamas reklamos ženklas pigiai vos per 10 žingsnių !!: Sukurkite savo pigų, nešiojamą reklamos ženklą. Naudodami šį ženklą, bet kurioje miesto vietoje galite bet kur rodyti savo pranešimą ar logotipą. Ši instrukcija yra atsakas į/patobulinimą/pakeitimą: https://www.instructables.com/id/Low-Cost-Illuminated