INHOUDSOPGAWE:

Raspberry Pi Planet Finder: 14 stappe (met foto's)
Raspberry Pi Planet Finder: 14 stappe (met foto's)

Video: Raspberry Pi Planet Finder: 14 stappe (met foto's)

Video: Raspberry Pi Planet Finder: 14 stappe (met foto's)
Video: 102 Year Old Lady's Abandoned Home in the USA ~ Power Still ON! 2024, Julie
Anonim
Image
Image
Wat jy nodig het
Wat jy nodig het

Buite die Science Center in my stad is daar 'n groot metaalstruktuur wat kan draai en wys waar die planete in die lug was. Ek het dit nooit sien werk nie, maar ek het altyd gedink dat dit magies sou wees om te weet waar hierdie onbereikbare ander wêrelde eintlik is met betrekking tot my klein self.

Toe ek onlangs verby hierdie uitgestorwe uitstalling stap, het ek gedink 'ek wed dat ek dit kon regkry', en ek het dit ook gedoen!

Dit is 'n gids oor hoe u die Planet Finder (met die maan) kan maak, sodat u ook kan weet waar u moet kyk as u deur die ruimte ontsag voel.

Stap 1: wat u benodig

Wat jy nodig het
Wat jy nodig het

1 x Raspberry Pi (weergawe 3 of hoër vir ingeboude wifi)

1 x LCD -skerm (16 x 2) (soos hierdie)

2 x Stepper motors met drywers (28-BYJ48) (soos hierdie)

3 x drukknoppies (soos hierdie)

2 x Flenskoppelinge (soos hierdie)

1 x knoppiekompas (soos hierdie)

8 x M3 boute en moere

3D -gedrukte onderdele vir die omhulsel en teleskoop

Stap 2: Planetêre koördinate

Planetêre koördinate
Planetêre koördinate

Daar is 'n paar verskillende maniere om te beskryf waar astronomiese voorwerpe in die lug is.

Vir ons is die horisontale koördinaatstelsel die mees sinvolle om te gebruik, soos in die prent hierbo getoon. Hierdie beeld is afkomstig van die Wikipedia -bladsy wat hier gekoppel is:

en.wikipedia.org/wiki/Horizontal_coordinat…

Die horisontale koördinaatstelsel gee u 'n hoek van Noord (die Azimut) en opwaarts van die horison (die hoogte), sodat dit verskil, afhangende van waar u in die wêreld kyk. Ons planeetzoeker moet dus die ligging in ag neem en 'n manier vind om Noord te vind as 'n verwysing.

In plaas daarvan om die Hoogte en Azimut te bereken wat met tyd en ligging verander, sal ons die wifi -verbinding aan boord van die Raspberry Pi gebruik om hierdie data van NASA op te soek. Hulle hou sulke dinge dop sodat ons nie hoef nie;)

Stap 3: Toegang tot Planet Data

Ons kry ons data van die NASA Jet Propulsion Laboratory (JPL) -

Om toegang tot hierdie data te verkry, gebruik ons 'n biblioteek genaamd AstroQuery, wat 'n stel gereedskap is om navraag te doen oor astronomiese webvorms en databasisse. Die dokumentasie vir hierdie biblioteek kan hier gevind word:

As dit u eerste Raspberry Pi -projek is, volg hierdie opstelgids:

As u Raspbian op u Raspberry Pi gebruik (as u die bogenoemde gids gevolg het), dan het u reeds python3 geïnstalleer; maak seker dat u die mees onlangse weergawe geïnstalleer het (ek gebruik weergawe 3.7.3). Ons moet dit gebruik om pyp te kry. Maak 'n terminale oop en tik die volgende:

sudo apt installeer python3-pip

Ons kan dan pip gebruik om die opgegradeerde weergawe van astroquery te installeer.

pip3 installeer -vooraf -opgradeer astroquery

Voordat u met die res van hierdie projek voortgaan, moet u toegang tot hierdie data verkry met 'n eenvoudige Python -script om seker te maak dat al die regte afhanklikhede korrek geïnstalleer is.

vanaf astroquery.jplhorizons voer Horizons in

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

Dit moet u die besonderhede van die ligging van Mars wys!

U kan kyk of hierdie data korrek is deur hierdie webwerf op te spoor om posisies op lewende planeet op te soek:

Om hierdie vraag 'n bietjie af te breek, is die id die getal wat met Mars in die data van JPL geassosieer word, tydperke is die tyd waaruit ons die data wil kry (Geen beteken nou nie) en id_type vra vir die belangrikste liggame van die sonnestelsel. Die ligging word tans in die Verenigde Koninkryk gestel, aangesien '000' die liggingskode vir die sterrewag in Greenwich is. Ander plekke kan hier gevind word:

Probleemoplossing:

As u die fout kry: Geen module met die naam 'keyring.util.escape' nie

probeer die volgende opdrag in die terminale:

pip3 installeer -opgradering van sleutelringe.alt

Stap 4: Kode

By hierdie stap is die volledige luislangskrip wat in hierdie projek gebruik word, aangeheg.

Om die korrekte data vir u ligging te vind, gaan na die funksie getPlanetInfo en verander die ligging met behulp van die lys van sterrewagte in die vorige stap.

def getPlanetInfo (planeet):

obj = Horizons (id = planet, location = '000', epochs = None, id_type = 'majorbody') eph = obj.ephemerides () return ef

Stap 5: Koppel hardeware aan

Koppel hardeware
Koppel hardeware
Koppel hardeware
Koppel hardeware
Koppel hardeware
Koppel hardeware

Koppel twee stapmotors, die LCD -skerm en drie knoppies soos aangedui in die stroombaandiagram met behulp van broodborde en springdrade.

Om uit te vind watter nommer die penne op u Raspberry Pi is, gaan na die terminale en tik

pinout

Dit moet u die prent hierbo wys, kompleet met GPIO -nommers en bordnommers. Ons gebruik bordnommers om te bepaal watter penne in die kode gebruik word, so ek verwys na die getalle tussen hakies.

As 'n hulpmiddel by die stroombaan -diagram, is die penne wat aan elke deel gekoppel is:

1ste stapmotor - 7, 11, 13, 15

2de stapmotor - 40, 38, 36, 32

Knoppie 1 - 33

Knoppie 2 - 37

Knoppie 3 - 35

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

As dit alles verbind is, voer die python -script uit

python3 planetFinder.py

en u moet die opstelteks van die skerm sien, en die knoppies moet die stapmotors beweeg.

Stap 6: Ontwerp die saak

Die ontwerp van die saak
Die ontwerp van die saak
Die ontwerp van die saak
Die ontwerp van die saak
Die ontwerp van die saak
Die ontwerp van die saak

Die tas is ontwerp om maklik in 3D te druk. Dit breek op in afsonderlike dele wat dan aanmekaar geplak word sodra die elektronika vasgemaak is.

Die gate is groot vir die knoppies wat ek gebruik het en die M3 -boute.

Ek het die teleskoop in dele gedruk en later aan mekaar vasgeplak om te veel steunstruktuur te vermy.

STL -lêers word by hierdie stap aangeheg.

Stap 7: Toets die afdrukke

Toets die afdrukke
Toets die afdrukke
Toets die afdrukke
Toets die afdrukke
Toets die afdrukke
Toets die afdrukke
Toets die afdrukke
Toets die afdrukke

Sodra alles gedruk is, moet u seker maak dat alles noukeurig bymekaar pas voordat die kleefwerk aangebring word.

Sit die knoppies op hul plek vas en bevestig die skerm- en stepper -motors met M3 -boute en gee alles 'n goeie draai. As u ruwe rande aflê, verwyder alles weer voor die volgende stap.

Stap 8: Verleng die stappermotor

Verlenging van die stapmotor
Verlenging van die stapmotor
Verlenging van die stapmotor
Verlenging van die stapmotor
Verlenging van die stapmotor
Verlenging van die stapmotor

Die stapmotor wat die hoogtehoek van die teleskoop beheer, sal bo die hoofkas sit en 'n bietjie speling in die drade benodig om te draai. Die drade moet verleng word deur dit tussen die stepper en die bestuurdersbord te sny en 'n nuwe draad tussenin te soldeer.

Ek het die nuwe draad in die ondersteunende toring geplaas met 'n stuk draad om dit deur te trek, want die draad wat ek gebruik, is taamlik styf en bly vassit. Sodra dit deur is, kan dit aan die stapmotor gesoldeer word, en hou seker watter kleur daaraan gekoppel is om die regte een aan die ander kant vas te maak. Moenie vergeet om hitte krimp aan die drade te voeg nie!

Sodra dit gesoldeer is, voer die luislang uit om te kyk of alles nog werk en druk die drade terug in die buis totdat die stapmotor in posisie is. Dit kan dan met die M3 -boute en moere aan die stappermotorhuis vasgemaak word voordat die agterkant van die behuising vasgeplak word.

Stap 9: Monteer knoppies en LCD -skerm

Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm
Monteer knoppies en LCD -skerm

Steek die knoppies in en draai die moere vas om dit vas te maak voordat dit gesoldeer word. Ek gebruik graag 'n gemeenskaplike gronddraad wat tussen hulle loop om netjies te wees.

Bevestig die LCD -skerm met M3 -boute en moere. Die LCD wil 'n potensiometer op een van sy penne hê, wat ek ook in hierdie stadium gesoldeer het.

Toets die kode weer! Maak seker dat alles nog werk voordat ons alles aan mekaar plak, aangesien dit in hierdie stadium baie makliker is om op te los.

Stap 10: Voeg flense by

Voeg flense by
Voeg flense by
Voeg flense by
Voeg flense by
Voeg flense by
Voeg flense by
Voeg flense by
Voeg flense by

Om die 3D -gedrukte dele aan die stepper motors te koppel, gebruik ons 'n 5 mm flenskoppeling wat bo -op die einde van die stepper motor pas en deur klein skroewe vasgehou word.

Die een flens word aan die voet van die roterende toring vasgeplak en die ander aan die teleskoop.

Dit is eenvoudig om die teleskoop aan die motor bo -op die roterende toring vas te maak, aangesien daar baie ruimte is om toegang te kry tot die klein skroewe wat dit vas hou. Die ander flens is moeiliker om vas te maak, maar daar is genoeg gaping tussen die hoofkas en die basis van die roterende toring om 'n klein inbussleutel te pas en die skroef vas te trek.

Toets weer!

Nou behoort alles te werk soos dit in die finale toestand sal wees. As dit nie die geval is nie, is dit nou die tyd om foutoplossings te maak en seker te maak dat alle verbindings veilig is. Maak seker dat blootgestelde drade nie aan mekaar raak nie, draai om met elektriese band en plak plekke op wat 'n probleem kan veroorsaak.

Stap 11: Begin met opstart

In plaas daarvan om die kode handmatig uit te voer elke keer as ons 'n planeet wil vind, wil ons hê dat dit as 'n losstaande uitstalling moet funksioneer, so ons gaan dit opstel om ons kode te laat werk wanneer die Raspberry Pi aanskakel.

Tik in die terminale

crontab -e

Voeg die volgende in die lêer wat oopmaak aan die einde van die lêer, gevolg deur 'n nuwe reël.

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

Ek het my kode gestoor in 'n gids genaamd PlanetFinder, dus /home/pi/PlanetFinder/planetFinder.py is die plek van my lêer. As die uwe êrens anders gestoor word, moet u dit hier verander.

Die & aan die einde is belangrik, aangesien dit die kode op die agtergrond laat loop, sodat dit nie ander prosesse weerhou wat ook tydens opstart plaasvind nie.

Stap 12: Plak dit alles saam

Plak dit alles saam!
Plak dit alles saam!
Plak dit alles saam!
Plak dit alles saam!

Alles wat nog nie vasgeplak is nie, moet nou herstel word.

Voeg laastens die klein kompas by die middel van die roterende basis.

Stap 13: Gebruik

Gebruik
Gebruik

As die Planet Finder aangeskakel word, sal dit die gebruiker vra om die vertikale as aan te pas. Deur op die op- en afknoppies te druk, beweeg die teleskoop, probeer om dit gelyk te maak, na regs te wys, en druk dan op die ok -knoppie (onderaan).

Die gebruiker sal dan gevra word om die rotasie aan te pas, gebruik die knoppies om die teleskoop te draai totdat dit volgens die klein kompas noord wys, en druk dan op ok.

U kan nou deur die planete blaai met behulp van die op/af knoppies en een kies wat u met die ok -knoppie wil vind. Dit sal die hoogte en azimut van die planeet vertoon, en dan 'n paar sekondes daarop wys voordat dit terugdraai na die noorde.

Stap 14: klaar

Klaar
Klaar

Alles klaar!

Geniet dit om te weet waar al die planete is:)

Ruimte -uitdaging
Ruimte -uitdaging
Ruimte -uitdaging
Ruimte -uitdaging

Eerste prys in die ruimte -uitdaging

Aanbeveel: