Inhoudsopgave:
- Stap 1: Wat je nodig hebt
- Stap 2: Planetaire coördinaten
- Stap 3: Toegang tot planeetgegevens
- Stap 4: Coderen
- Stap 5: Hardware aansluiten
- Stap 6: De behuizing ontwerpen
- Stap 7: De afdrukken testen
- Stap 8: De stappenmotor verlengen
- Stap 9: Monteer de knoppen en het LCD-scherm
- Stap 10: Flenzen toevoegen
- Stap 11: Uitvoeren bij opstarten
- Stap 12: Lijm het allemaal samen
- Stap 13: Gebruik
- Stap 14: Klaar
Video: Raspberry Pi Planet Finder - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Buiten het Science Center in mijn stad staat een grote metalen constructie die kan draaien en wijzen naar waar de planeten aan de hemel stonden. Ik heb het nooit zien werken, maar ik heb altijd gedacht dat het magisch zou zijn om te weten waar deze onbereikbare andere werelden eigenlijk waren in relatie tot mijn kleine zelf.
Toen ik onlangs langs deze lang geleden overleden tentoonstelling liep, dacht ik: "Ik wed dat ik dat kan maken" en dat deed ik!
Dit is een handleiding voor het maken van de Planet Finder (met de maan), zodat ook jij weet waar je moet kijken als je onder de indruk bent van de ruimte.
Stap 1: Wat je nodig hebt
1 x Raspberry Pi (versie 3 of hoger voor wifi aan boord)
1 x LCD-scherm (16 x 2) (zoals deze)
2 x Stappenmotoren met drivers (28-BYJ48) (zoals deze)
3 x drukknoppen (zoals deze)
2 x flenskoppelingen (zoals deze)
1 x knopkompas (zoals deze)
8 x M3 bouten en moeren
3D-geprinte onderdelen voor de behuizing en telescoop
Stap 2: Planetaire coördinaten
Er zijn een paar verschillende manieren om te beschrijven waar astronomische objecten zich aan de hemel bevinden.
Voor ons is het horizontale coördinatensysteem het meest logisch om te gebruiken, zoals weergegeven in de afbeelding hierboven. Deze afbeelding is van de Wikipedia-pagina die hier is gelinkt:
en.wikipedia.org/wiki/Horizontal_coordinat…
Het horizontale coördinatensysteem geeft je een hoek vanuit het noorden (de azimut) en omhoog vanaf de horizon (de hoogte), dus het verschilt afhankelijk van waar je in de wereld kijkt. Dus onze planeetzoeker moet rekening houden met de locatie en een manier hebben om het noorden als referentie te vinden.
In plaats van te proberen de hoogte en azimut te berekenen die veranderen met tijd en locatie, zullen we de wifi-verbinding aan boord van de Raspberry Pi gebruiken om deze gegevens van NASA op te zoeken. Ze houden dit soort dingen bij, zodat wij dat niet hoeven te doen;)
Stap 3: Toegang tot planeetgegevens
We krijgen onze gegevens van het NASA Jet Propulsion Laboratory (JPL) -
Om toegang te krijgen tot deze gegevens, gebruiken we een bibliotheek genaamd AstroQuery, een set tools voor het doorzoeken van astronomische webformulieren en databases. De documentatie voor deze bibliotheek is hier te vinden:
Als dit je eerste Raspberry Pi-project is, begin dan met het volgen van deze installatiehandleiding:
Als je Raspbian op je Raspberry Pi gebruikt (als je de bovenstaande gids volgt), dan heb je python3 al geïnstalleerd, zorg ervoor dat je de meest recente versie hebt geïnstalleerd (ik gebruik versie 3.7.3). We moeten dit gebruiken om pip te krijgen. Open een terminal en typ het volgende:
sudo apt install python3-pip
We kunnen dan pip gebruiken om de verbeterde versie van astroquery te installeren.
pip3 install --pre --upgrade astroquery
Probeer, voordat u verdergaat met de rest van dit project, toegang te krijgen tot deze gegevens met een eenvoudig Python-script om er zeker van te zijn dat alle juiste afhankelijkheden correct zijn geïnstalleerd.
van astroquery.jplhorizons import Horizons
mars = Horizons(id=499, locatie='000', epochs=Geen, id_type='majorbody') eph = mars.ephemerides() print(eph)
Dit zou je de details van de locatie van Mars moeten laten zien!
U kunt controleren of deze gegevens juist zijn door deze site te gebruiken om live planeetposities op te zoeken:
Om deze vraag een beetje op te splitsen, de id is het nummer dat is gekoppeld aan Mars in de gegevens van JPL, tijdperken is de tijd waarvan we de gegevens willen hebben (Geen betekent nu) en id_type vraagt naar de belangrijkste lichamen van het zonnestelsel. De locatie is momenteel ingesteld op het VK, aangezien '000' de locatiecode is voor het observatorium in Greenwich. Andere locaties zijn hier te vinden:
Probleemoplossen:
Als u de foutmelding krijgt: Geen module met de naam 'keyring.util.escape'
probeer het volgende commando in de terminal:
pip3 install --upgrade keyrings.alt
Stap 4: Coderen
Aan deze stap is het volledige python-script toegevoegd dat in dit project wordt gebruikt.
Om de juiste gegevens voor uw locatie te vinden, gaat u naar de functie getPlanetInfo en wijzigt u de locatie met behulp van de lijst met observatoria in de vorige stap.
def getPlanetInfo(planeet):
obj = Horizons(id=planeet, locatie='000', epochs=Geen, id_type='majorbody') eph = obj.ephemerides() return eph
Stap 5: Hardware aansluiten
Gebruik breadboards en jumperdraden om twee stappenmotoren, het LCD-scherm en drie knoppen aan te sluiten zoals weergegeven in het bovenstaande schakelschema.
Om erachter te komen welk nummer de pinnen op je Raspberry Pi zijn, ga naar de terminal en typ
pinout
Dit zou u de bovenstaande afbeelding moeten tonen, compleet met GPIO-nummers en bordnummers. We gebruiken bordnummers om te definiëren welke pinnen in de code worden gebruikt, dus ik zal verwijzen naar de cijfers tussen haakjes.
Als hulpmiddel bij het schakelschema zijn hier de pinnen die op elk onderdeel zijn aangesloten:
1e Stappenmotor - 7, 11, 13, 15
2e Stappenmotor - 40, 38, 36, 32
Knop1 - 33
Knop2 - 37
Knop3 - 35
LCD-scherm - 26, 24, 22, 18, 16, 12
Als dit allemaal verbonden is, voer je het python-script uit
python3 planetFinder.py
en je zou op het scherm setup-tekst moeten zien en de knoppen zouden de stappenmotoren moeten bewegen.
Stap 6: De behuizing ontwerpen
De hoes is ontworpen om gemakkelijk 3D-geprint te kunnen worden. Het valt uiteen in afzonderlijke delen die vervolgens aan elkaar worden gelijmd zodra de elektronica op zijn plaats is vastgezet.
Gaten zijn op maat gemaakt voor de knoppen die ik heb gebruikt en M3-bouten.
Ik heb de telescoop in delen geprint en later aan elkaar gelijmd om te veel draagstructuur te voorkomen.
STL-bestanden zijn bij deze stap gevoegd.
Stap 7: De afdrukken testen
Zodra alles is afgedrukt, moet u ervoor zorgen dat alles goed op elkaar past voordat u gaat lijmen.
Plaats de knoppen op hun plaats en zet het scherm en de stappenmotoren vast met M3-bouten en laat alles goed wiebelen. Vijl eventuele ruwe randen weg en haal alles weer uit elkaar voor de volgende stap.
Stap 8: De stappenmotor verlengen
De stappenmotor die de elevatiehoek van de telescoop regelt, zit boven de hoofdbehuizing en heeft wat speling in de draden nodig om te kunnen draaien. De draden moeten worden verlengd door ze tussen de stepper en het driverbord door te knippen en ertussen een nieuw stuk draad te solderen.
Ik heb de nieuwe draad in de ondersteunende toren gestoken met behulp van een stuk draad om hem erdoorheen te halen, omdat de draad die ik gebruik vrij stijf is en steeds vast komt te zitten. Eenmaal door het kan worden gesoldeerd aan de stappenmotor, zorg ervoor dat u bijhoudt welke kleur is aangesloten om de juiste aan het andere uiteinde opnieuw te bevestigen. Vergeet niet om krimpkous aan de draden toe te voegen!
Eenmaal gesoldeerd, voert u het python-script uit om te controleren of alles nog werkt, en duwt u vervolgens de draden terug door de buis totdat de stappenmotor op zijn plaats zit. Het kan dan met M3-bouten en moeren aan het stappenmotorhuis worden bevestigd voordat de achterkant van het huis wordt vastgelijmd.
Stap 9: Monteer de knoppen en het LCD-scherm
Plaats de knoppen en draai de moeren vast om ze op hun plaats te bevestigen voordat u gaat solderen. Ik gebruik graag een gemeenschappelijke aardedraad die ertussen loopt voor netheid.
Zet het LCD-scherm vast met M3-bouten en moeren. De LCD wil een potentiometer op een van zijn pinnen die ik ook in deze fase heb gesoldeerd.
Test de code opnieuw! Zorg ervoor dat alles nog werkt voordat we alles aan elkaar lijmen, omdat het in dit stadium veel gemakkelijker te repareren is.
Stap 10: Flenzen toevoegen
Om de 3D-geprinte onderdelen met de stappenmotoren te verbinden, gebruiken we een 5 mm flenskoppeling die bovenop het uiteinde van de stappenmotor past en op zijn plaats wordt gehouden door kleine schroeven.
Een flens is vastgelijmd aan de basis van de roterende toren en de andere aan de telescoop.
Het bevestigen van de telescoop aan de motor bovenop de roterende toren is eenvoudig omdat er veel ruimte is om toegang te krijgen tot de kleine schroeven die hem op zijn plaats houden. De andere flens is moeilijker vast te zetten, maar er is voldoende ruimte tussen de hoofdbehuizing en de basis van de roterende toren om een kleine inbussleutel te plaatsen en de schroef vast te draaien.
Nog een keer testen!
Nu zou alles moeten werken zoals het in zijn definitieve staat zal zijn. Als dat niet het geval is, is het nu het moment om de bug op te lossen en ervoor te zorgen dat alle verbindingen veilig zijn. Zorg ervoor dat blootliggende draden elkaar niet raken, ga rond met elektrische tape en patch alle plaatsen die een probleem kunnen veroorzaken.
Stap 11: Uitvoeren bij opstarten
In plaats van de code elke keer handmatig uit te voeren als we een planeet willen vinden, willen we dat dit als een op zichzelf staande tentoonstelling wordt uitgevoerd, dus we gaan het instellen om onze code uit te voeren wanneer de Raspberry Pi wordt ingeschakeld.
Typ in de terminal
crontab -e
Voeg in het geopende bestand het volgende toe aan het einde van het bestand, gevolgd door een nieuwe regel.
@ herstart python3 /home/pi/PlanetFinder/planetFinder.py &
Ik heb mijn code opgeslagen in een map genaamd PlanetFinder, dus /home/pi/PlanetFinder/planetFinder.py is de locatie van mijn bestand. Als de uwe ergens anders is opgeslagen, moet u deze hier wijzigen.
De & aan het einde is belangrijk omdat het de code op de achtergrond laat draaien, zodat het geen andere processen tegenhoudt die ook tijdens het opstarten plaatsvinden.
Stap 12: Lijm het allemaal samen
Alles wat nog niet op zijn plaats is gelijmd, moet nu worden vastgezet.
Voeg ten slotte het kleine kompas toe aan het midden van de roterende basis.
Stap 13: Gebruik
Wanneer de Planet Finder wordt ingeschakeld, wordt de gebruiker gevraagd de verticale as aan te passen. Als u op de knoppen omhoog en omlaag drukt, beweegt de telescoop, probeert u deze waterpas te zetten, wijst naar rechts en drukt u vervolgens op de ok-knop (onderaan).
De gebruiker wordt dan gevraagd om de rotatie aan te passen, gebruik de knoppen om de telescoop te draaien totdat deze naar het noorden wijst volgens het kleine kompas en druk vervolgens op ok.
Je kunt nu door planeten bladeren met de omhoog/omlaag-knoppen en er een selecteren die je wilt vinden met de ok-knop. Het zal de hoogte en azimut van de planeet weergeven en er vervolgens een paar seconden naar wijzen voordat het terugkeert naar het noorden.
Stap 14: Klaar
Helemaal klaar!
Geniet ervan te weten waar alle planeten zijn:)
Eerste prijs in de Space Challenge
Aanbevolen:
DIY Raspberry Pi-downloadbox: 4 stappen
DIY Raspberry Pi Downloadbox: Ben je vaak bezig met het downloaden van grote bestanden zoals films, torrents, cursussen, tv-series, etc dan ben je hier aan het juiste adres. In deze Instructable zouden we onze Raspberry Pi zero in een downloadmachine veranderen. Die elke
Kitty Finder: 6 stappen
Kitty Finder: als je deze Instructable leest, ben je waarschijnlijk moe als je merkt dat je huisdieren elke avond buiten lopen. Daarom bedacht ik dit ontwerp voor een compacte tracker waarmee je je puppy's/katten gemakkelijk buiten kunt vinden. Je hoeft alleen maar
LED-knipper met Raspberry Pi - Hoe GPIO-pinnen op Raspberry Pi te gebruiken: 4 stappen
LED-knipper met Raspberry Pi | Hoe GPIO-pinnen op Raspberry Pi te gebruiken: Hallo allemaal, in deze instructables zullen we leren hoe we GPIO's van Raspberry Pi kunnen gebruiken. Als je ooit Arduino hebt gebruikt, weet je waarschijnlijk dat we een LED-schakelaar enz. op de pinnen kunnen aansluiten en het zo kunnen laten werken. laat de LED knipperen of krijg input van de schakelaar zodat
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50
Digital Stud Finder: 6 stappen (met afbeeldingen)
Digital Stud Finder: Stud Finder is een eenvoudig concept. Twee capacitieve sensoren: de ene zendt een pulsgolf, de tweede ontvangt en meet de spanningsafname over het materiaal tussen de twee platen. In een poging om dit ontwerp vooruit te helpen, werd dit project be