INHOUDSOPGAWE:
- Stap 1: wat u benodig
- Stap 2: Planetêre koördinate
- Stap 3: Toegang tot Planet Data
- Stap 4: Kode
- Stap 5: Koppel hardeware aan
- Stap 6: Ontwerp die saak
- Stap 7: Toets die afdrukke
- Stap 8: Verleng die stappermotor
- Stap 9: Monteer knoppies en LCD -skerm
- Stap 10: Voeg flense by
- Stap 11: Begin met opstart
- Stap 12: Plak dit alles saam
- Stap 13: Gebruik
- Stap 14: klaar
Video: Raspberry Pi Planet Finder: 14 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
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
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
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 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 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
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
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
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
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
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
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
Alles klaar!
Geniet dit om te weet waar al die planete is:)
Eerste prys in die ruimte -uitdaging
Aanbeveel:
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Digital Stud Finder: 6 stappe (met foto's)
Digital Stud Finder: Stud Finders is 'n eenvoudige konsep. Twee kapasitiewe sensors: een stuur 'n polsgolf en die tweede ontvang en meet die spanningsverlaging tussen materiaal tussen die twee plate
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer
Attiny85 Distance Finder: 4 stappe (met foto's)
Attiny85 Distance Finder: Voordat ek hierdie instruksies gemaak het, het ek pas 'n paar nuwe Attinys (Attinies?) Gekry en wou ek iets daarmee maak. Dit is toe dat ek opgemerk het dat my ultrasoniese afstandsmeter alleen ongebruik is. Hierdie ultrasoniese Attiny -afstandszoeker gee die afstand
Pier 9: Smart Bone Fetch Finder ™: 4 stappe (met foto's)
Pier 9: Smart Bone Fetch Finder ™: Die Smart Bone Fetch Finder, wat die eerste keer in 2027 geskep is, stel honde in staat om beheer te neem oor wie hulle die beste vriende is. In hierdie toekoms sal honde mense in parke nader en aanbied om as 'n diens te gaan haal. Die eerste haal is gratis, 'n