Tartalomjegyzék:

Raspberry Pi Planet Finder: 14 lépés (képekkel)
Raspberry Pi Planet Finder: 14 lépés (képekkel)

Videó: Raspberry Pi Planet Finder: 14 lépés (képekkel)

Videó: Raspberry Pi Planet Finder: 14 lépés (képekkel)
Videó: I Spend 20 Hours In The Water Everyday For This Secret Reason 2024, November
Anonim
Image
Image
Amire szükséged van
Amire szükséged van

Városom Tudományos Központján kívül van egy nagy fémszerkezet, amely elfordulhat és oda mutathat, ahol a bolygók az égen voltak. Sosem láttam működőképesnek, de mindig azt gondoltam, hogy varázslatos lenne tudni, hol vannak valójában ezek az elérhetetlen más világok az én pici énemhez képest.

Amikor nemrég elmentem ezen a rég halott kiállítás mellett, azt gondoltam, hogy "meg tudom valósítani", és így is tettem!

Ez egy útmutató arról, hogyan készítsd el a Bolygókeresőt (a Holddal együtt), hogy te is tudja, merre nézzen, amikor elborzad az űr.

1. lépés: Amire szüksége van

Amire szükséged van
Amire szükséged van

1 x Raspberry Pi (3 -as vagy újabb verzió a fedélzeti wifi -hez)

1 x LCD képernyő (16 x 2) (így)

2 x léptetőmotor meghajtókkal (28-BYJ48) (mint ezek)

3 db nyomógomb (ilyenek)

2 x karimás csatlakozó (ilyenek)

1 x gombos iránytű (így)

8 x M3 csavar és anya

3D nyomtatott alkatrészek a tokhoz és a távcsőhöz

2. lépés: Bolygókoordináták

Bolygókoordináták
Bolygókoordináták

A csillagászati objektumok égen való elhelyezkedésének leírására néhány különböző módszer létezik.

Számunkra a legértelmesebb a vízszintes koordinátarendszer használata, ahogy a fenti képen látható. Ez a kép a linkelt Wikipédia oldalról származik:

en.wikipedia.org/wiki/Horizontal_coordinat…

A vízszintes koordinátarendszer északi (azimut) és a látóhatártól (a magasság) felfelé néző szöget biztosít, tehát ez attól függően változik, hogy honnan nézi a világot. Tehát bolygókeresőnknek figyelembe kell vennie a helyét, és valamilyen módon meg kell találnia Északot, hogy referenciaként szolgáljon.

Ahelyett, hogy megpróbálnánk kiszámítani a magasságot és az azimutot, amelyek változnak az idővel és a hellyel, a Raspberry Pi fedélzetén lévő wifi -kapcsolatot használjuk, hogy megkeressük ezeket az adatokat a NASA -tól. Ők nyomon követik az ilyesmit, hogy ne kelljen;)

3. lépés: Hozzáférés a bolygóadatokhoz

Adatainkat a NASA sugárhajtómű -laboratóriumából (JPL) szerezzük be -

Ezen adatok eléréséhez az AstroQuery nevű könyvtárat használjuk, amely eszközkészlet a csillagászati webes űrlapok és adatbázisok lekérdezésére. A könyvtár dokumentációja itt található:

Ha ez az első Raspberry Pi projektje, kezdje a következő beállítási útmutató követésével:

Ha Raspbian -t használ a Raspberry Pi -n (akkor lesz, ha követte a fenti útmutatót), akkor már telepítve van a python3, győződjön meg róla, hogy a legújabb verzió van telepítve (a 3.7.3 verziót használom). Ezt kell használnunk a pip megszerzéséhez. Nyisson meg egy terminált, és írja be a következőt:

sudo apt install python3-pip

Ezután a pip segítségével telepíthetjük az astroquery frissített verzióját.

pip3 install --pre --upgrade astroquery

Mielőtt folytatná a projekt többi részét, próbálja meg elérni ezeket az adatokat egy egyszerű Python -szkripttel, hogy megbizonyosodjon arról, hogy a megfelelő függőségek helyesen vannak -e telepítve.

az astroquery.jplhorizons import Horizons

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

Ennek meg kell mutatnia a Mars helyének részleteit!

Ezen az oldalon ellenőrizheti, hogy helyesek -e az adatok az élő bolygóállások megkereséséhez:

Hogy ezt a lekérdezést egy kicsit lebonthassuk, az id a Marshoz társított szám a JPL adataiban, az epochs az az idő, amikor az adatokat akarjuk (a None jelenti jelenleg), az id_type pedig a Naprendszer főbb testeit kéri. A helyszín jelenleg az Egyesült Királyságban van beállítva, mivel '000' a greenwichi obszervatórium helykódja. További helyszínek itt találhatók:

Hibaelhárítás:

Ha a hibaüzenetet kapja: Nincs "keyring.util.escape" nevű modul

próbálja meg a következő parancsot a terminálon:

pip3 install --upgrade kulcstartók.alt

4. lépés: Kód

Ehhez a lépéshez csatoljuk a projektben használt teljes python -szkriptet.

A helyének megfelelő adatok megkereséséhez lépjen a getPlanetInfo függvénybe, és módosítsa a helyet az előző lépésben található megfigyelőállomások listájának használatával.

def getPlanetInfo (bolygó):

obj = Horizons (id = bolygó, hely = '000', korszakok = nincs, id_type = 'majorbody') eph = obj.ephemerides () return eph

5. lépés: Hardver csatlakoztatása

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

Kenyérpultok és áthidaló vezetékek segítségével csatlakoztasson két léptetőmotort, az LCD -képernyőt és három gombot a fenti kapcsolási rajz szerint.

Ha szeretné megtudni, hogy a Raspberry Pi -n milyen csapok vannak, menjen a terminálba, és írja be

kitűz

Ennek meg kell jelenítenie a fenti képet GPIO számokkal és táblaszámokkal kiegészítve. Táblaszámokat használunk annak meghatározására, hogy mely gombokat használják a kódban, ezért a zárójelben lévő számokra hivatkozom.

A kapcsolási rajz segítségéül itt vannak az egyes részekhez csatlakoztatott csapok:

1. léptetőmotor - 7, 11, 13, 15

2. léptetőmotor - 40, 38, 36, 32

Gomb 1-33

Gomb 2 - 37

Gomb 3 - 35

LCD képernyő - 26, 24, 22, 18, 16, 12

Ha mindez csatlakoztatva van, futtassa a python parancsfájlt

python3 planetFinder.py

és látnia kell a képernyőn a beállítási szöveget, és a gomboknak mozgatniuk kell a léptetőmotorokat.

6. lépés: A tok tervezése

A tok tervezése
A tok tervezése
A tok tervezése
A tok tervezése
A tok tervezése
A tok tervezése

A tokot 3D nyomtatásra tervezték. Külön részekre bomlik, amelyeket az elektronika rögzítése után összeragasztanak.

A lyukak az általunk használt gombokhoz és az M3 csavarokhoz vannak méretezve.

Részben kinyomtattam a teleszkópot, és később összeragasztottam, hogy elkerüljem a túl sok tartószerkezetet.

Az STL fájlok ehhez a lépéshez vannak csatolva.

7. lépés: A nyomatok tesztelése

A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése
A nyomatok tesztelése

Miután mindent kinyomtatott, minden ragasztás előtt győződjön meg arról, hogy minden szorosan illeszkedik egymáshoz.

Illessze a helyére a gombokat, és rögzítse a képernyőt és a léptetőmotorokat M3 csavarokkal, és adjon mindennek jó mozgást. A durva élek reszelése a következő lépés előtt mindent szétszed.

8. lépés: A léptetőmotor meghosszabbítása

A léptetőmotor meghosszabbítása
A léptetőmotor meghosszabbítása
A léptetőmotor meghosszabbítása
A léptetőmotor meghosszabbítása
A léptetőmotor meghosszabbítása
A léptetőmotor meghosszabbítása

A léptetőmotor, amely a teleszkóp magassági szögét szabályozza, a főház fölött fog ülni, és a vezetékek némi lazaságra van szüksége a forgatáshoz. A vezetékeket meg kell hosszabbítani úgy, hogy átvágják őket a léptető és a vezérlőlap közé, és új huzalhosszúságot forrasztanak közéjük.

Behelyeztem az új vezetéket a tartó toronyba egy szál segítségével, hogy segítsen átcsábítani, mivel az általam használt huzal elég merev és folyamatosan elakad. Miután áthaladt rajta, forrasztható a léptetőmotorhoz, ügyelve arra, hogy nyomon kövesse, melyik szín van csatlakoztatva, hogy a másik végén a megfelelő színeket rögzítse. Ne felejtsen el hőzsugorodást adni a vezetékekhez!

Forrasztás után futtassa a python parancsfájlt, hogy ellenőrizze, minden működik -e, majd nyomja le a vezetékeket a csőben, amíg a léptetőmotor a helyén van. Ezt követően M3 csavarokkal és anyákkal rögzíthető a léptetőmotor házához, mielőtt a ház hátulját a helyére ragasztanák.

9. lépés: A gombok és az LCD képernyő rögzítése

Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő
Szerelőgombok és LCD képernyő

Helyezze be a gombokat, és húzza meg az anyákat a forrasztás előtt, hogy rögzítse a helyüket. Szeretek egy közös földelő vezetéket használni, amely köztük fut a tisztaság érdekében.

Rögzítse az LCD képernyőt M3 csavarokkal és anyákkal. Az LCD egy potenciométert akar az egyik csapjára, amelyet ebben a szakaszban is forrasztottam.

Teszteld újra a kódot! Győződjön meg arról, hogy minden továbbra is működik, mielőtt mindent összeragasztunk, mivel ebben a szakaszban sokkal könnyebb javítani.

10. lépés: Karimák hozzáadása

Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása
Karimák hozzáadása

A 3D nyomtatott alkatrészek léptetőmotorokhoz való csatlakoztatásához 5 mm -es karimás csatlakozót használunk, amely a léptetőmotor végének tetejére illeszkedik, és apró csavarokkal tartja a helyén.

Az egyik karima a forgótorony alapjához, a másik a teleszkóphoz van ragasztva.

A teleszkóp rögzítése a forgó torony tetején lévő motorhoz egyszerű, mivel sok hely van a helyén lévő kis csavarok eléréséhez. A másik karima nehezebben rögzíthető, de elegendő rés van a fő tok és a forgótorony alja között ahhoz, hogy egy kis imbuszkulcs beilleszkedjen és meghúzza a csavart.

Teszteld újra!

Most mindennek úgy kell működnie, ahogy a végleges állapotában lesz. Ha nem, akkor itt az ideje a hibajavításnak, és győződjön meg arról, hogy minden kapcsolat biztonságos. Győződjön meg arról, hogy a fedetlen vezetékek nem érintkeznek egymással, járjon körbe elektromos szalaggal, és javítsa ki azokat a helyeket, amelyek problémát okozhatnak.

11. lépés: Futtassa az indításkor

Ahelyett, hogy minden alkalommal manuálisan futtatnánk a kódot, amikor bolygót akarunk találni, azt szeretnénk, hogy ez önálló tárlatként fusson, ezért úgy állítjuk be, hogy futtassa a kódunkat, amikor a Raspberry Pi bekapcsol.

A terminálban írja be

crontab -e

A megnyíló fájlban adja hozzá a következőt a fájl végéhez, majd egy új sort.

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

A kódomat a PlanetFinder nevű mappába mentettem, így a /home/pi/PlanetFinder/planetFinder.py a fájlom helye. Ha a tiédet máshová menti, mindenképpen módosítsa itt.

A végén található & fontos, mivel hagyja, hogy a kód a háttérben fusson, így nem tartja fenn más folyamatokat, amelyek szintén a rendszerindítás során történnek.

12. lépés: Ragassza össze mindent

Ragaszd össze mindet!
Ragaszd össze mindet!
Ragaszd össze mindet!
Ragaszd össze mindet!

Mindent, ami még nincs a helyére ragasztva, most rögzíteni kell.

Végül adja hozzá az apró iránytűt a forgó talp közepéhez.

13. lépés: Használat

Használat
Használat

Amikor a Planet Finder bekapcsol, a rendszer felszólítja a felhasználót a függőleges tengely beállítására. A fel és le gombok megnyomásával mozgathatja a távcsövet, próbálja meg a vízszintes helyzetet jobbra mutatni, majd nyomja meg az OK gombot (alul).

Ezután a felhasználó felkéri a forgás beállítására, a gombokkal forgassa el a távcsövet, amíg az észak felé mutat a kis iránytű szerint, majd nyomja meg az OK gombot.

Mostantól a fel/le gombokkal körbejárhat a bolygókon, és az ok gombbal kiválaszthat egyet. Megjeleníti a bolygó magasságát és azimutáját, majd néhány másodpercre rá mutat, majd visszafordul észak felé.

14. lépés: Kész

Befejezett
Befejezett

Minden kész!

Élvezze, hogy tudja, hol vannak az összes bolygó:)

Űr Kihívás
Űr Kihívás
Űr Kihívás
Űr Kihívás

Első díj az Űr Kihívásban

Ajánlott: