Inhoudsopgave:

Bluetooth-enabled planetarium/Orrery - Ajarnpa
Bluetooth-enabled planetarium/Orrery - Ajarnpa

Video: Bluetooth-enabled planetarium/Orrery - Ajarnpa

Video: Bluetooth-enabled planetarium/Orrery - Ajarnpa
Video: Galaxy Star Projector Light with Bluetooth Speaker Review 2024, Juli-
Anonim
Bluetooth-enabled planetarium/Orrery
Bluetooth-enabled planetarium/Orrery

Deze instructable is gemaakt om te voldoen aan de projectvereiste van de Makecourse aan de University of South Florida (www.makecourse.com).

Dit is mijn planetarium/orrery met 3 planeten. Het begon als een project van slechts een semester voor de Makecourse, maar tegen de tijd dat het einde van het semester begon, werd het een uiterst waardevolle leerervaring. Ik heb niet alleen de basis van microcontrollers geleerd, maar het heeft me ook veel interessante dingen geleerd over C en C++, het Android-platform, solderen en elektronica in het algemeen.

De basisfunctie van het Planetarium is dit: open een app op je telefoon, maak verbinding met het Planetarium, selecteer een datum, druk op verzenden en kijk hoe het Planetarium Mercurius, Venus en Aarde op die datum naar hun relatieve heliocentrische lengtegraden verplaatst. U kunt zo ver teruggaan als 1 AD/CE, en zo ver vooruit als 5000 AD/CE, hoewel de nauwkeurigheid enigszins kan afnemen naarmate u meer dan 100 jaar vooruit of achteruit gaat.

In deze Instructable zal ik uitleggen hoe je de planeten assembleert, het tandwielsysteem dat ze aandrijft, de printplaat die alles met elkaar verbindt, en de Android- en C ++ (Arduino) -code die de planeten bestuurt.

Als je naar de code wilt springen, staat alles op GitHub. De Arduino-code is hier en de Android-code is hier.

Stap 1: Onderdelen en gereedschappen

Fysieke onderdelen

  • 1 DC-47P DC-serie zware elektronicabehuizing - $ 9,58
  • 0,08" (2 mm) acryl/PMMA-plaat, ten minste 15 cm x 15 cm (6" x 6") - $ 2,97
  • 3 28BYJ-48 unipolaire stappenmotoren - $ 6,24
  • Glow in the Dark Planets - $ 8,27 (zie opmerking 1)
  • Glow in the Dark Stars - $ 5,95 (optioneel)

Elektronica

  • 3 ULN2003 stappenmotorstuurprogramma's - $ 2,97
  • 1 Atmel ATMega328 (P) - $ 1,64 (zie opmerking 2)
  • 1 HC-05 Bluetooth naar seriële module - $ 3,40
  • 1 16MHz kristaloscillator - $ 0,78 voor 10
  • 1 DIP-28 IC-aansluiting $ 0,99 voor 10"
  • 1 stuk stripboard (pitch = 0,1", maat = 20 rijen lengte 3,5") - $ 2,48 voor 2
  • 1 DC-voedingsaansluiting voor paneelmontage, vrouwelijk (5,5 mm OD, 2,1 mm ID) - $ 1,44 voor 10"
  • 2 22pF 5V condensatoren - $ 3,00 voor 100 (zie opmerking 3)
  • 2 1,0 μF condensator - $ 0,99 voor 50
  • 1 weerstand van 10kΩ - $ 0,99 voor 50

Gereedschap

  • Reserve Arduino of AVR ISP - Dit heb je nodig om de ATMega-chip te programmeren
  • Schroevendraaiers - voor het verwijderen van de voorraad ATMega uit de Arduino
  • Multimeter - of op zijn minst een continuïteitsmeter
  • Hamer - voor het repareren van alles wat niet is gedaan The Right Way™
  • Boor met 5/16", 7/16" en 1 3/8" boren
  • Kleine knipsels - voor het trimmen van componentkabels
  • 22 AWG gevlochten koperdraad (geweldige prijs en veel opties hier)
  • Soldeer - Ik gebruik 60/40 met harskern. Ik heb ontdekt dat dun (<0,6 mm) soldeer de zaken een stuk eenvoudiger maakt. Je kunt echt overal soldeer vinden, maar dit is er een waar ik succes mee heb gehad.
  • Flux - Ik hou echt van deze fluxpennen, maar je kunt echt elke vorm van flux gebruiken, zolang het maar zuurvrij is.
  • Soldeerbout/station - Je kunt deze voor vrij goedkoop krijgen op eBay en Amazon, maar wees gewaarschuwd: frustratie varieert omgekeerd met de prijs. Mijn goedkope ($ 25) Stahl SSVT duurt absoluut een eeuwigheid om op te warmen, heeft bijna geen thermische capaciteit en er is een hoorbare 60 Hz buzz die afkomstig is van het verwarmingselement. Ik weet niet zeker hoe ik me daarbij voel.
  • Helpende hand - Dit zijn gereedschappen van onschatbare waarde die bijna noodzakelijk zijn voor het solderen, en ze helpen als het gaat om het lijmen van de planeten aan de acrylstaven.
  • Epoxy - Ik heb Loctite Epoxy voor kunststoffen gebruikt, wat redelijk goed werkte. Toen ik per ongeluk een van de planeetarmen (bevestigd aan een planeet) op beton liet vallen, hield de epoxy de twee delen niet bij elkaar. Maar nogmaals, ik had het maar ongeveer 15 van de aanbevolen 24 uur gegeven om volledig te genezen. Dus misschien was het anders niet uit elkaar gevallen, maar dat kan ik niet zeggen. Hoe dan ook, u kunt vrijwel elke lijm of lijm gebruiken die langer dan een paar minuten nodig heeft om uit te harden, omdat u mogelijk een klein beetje kleine aanpassingen moet maken nadat u de lijm hebt aangebracht.
  • Tandenstokers - Je hebt deze (of een wegwerproerder) nodig voor epoxy of een 2-componentenlijm, tenzij het wordt geleverd met een applicator die de twee delen voor je mengt.
  • 3D-printer - Ik heb deze gebruikt om enkele onderdelen voor het versnellingssysteem af te drukken (inclusief bestanden), maar als je die onderdelen kunt fabriceren met andere (misschien minder luie) methoden, dan is dit niet nodig.
  • Laser Cutter - Ik heb dit gebruikt om de heldere armen te maken die de planeten omhoog houden. Net als het vorige punt, als je de onderdelen met een andere methode kunt maken (ze kunnen gemakkelijk met andere methoden worden gesneden), dan is dit niet nodig.

Software

  • Je hebt ofwel de Arduino IDE nodig, ofwel standalone versies van AVR-GCC en AVRDude
  • Android Studio of Android Tools for Eclipse (die is verouderd). Dit kan binnenkort optioneel zijn, omdat ik een gecompileerde APK naar de Play Store kan uploaden

Totale prijs

De totale kosten van alle onderdelen (minus gereedschap) bedragen ongeveer $ 50. Veel van de vermelde prijzen zijn echter voor meer dan 1 item per stuk. Als u alleen telt hoeveel van elk item voor dit project wordt gebruikt, bedragen de effectieve totale kosten ongeveer $ 35. Het duurste item is de behuizing, tegen bijna een derde van de totale kosten. Voor de MAKE-cursus moesten we de doos in onze projectontwerpen opnemen, dus het was een noodzaak. Maar als u op zoek bent naar een gemakkelijke manier om kosten te besparen op dit project, kijk dan eens bij uw plaatselijke grootwinkelbedrijf; ze zullen waarschijnlijk een goede selectie dozen hebben die goedkoper zijn dan uw typische "elektronicabehuizing". Je kunt ook je eigen planeten maken (houten bollen zijn dertien in een dozijn) en op de sterren schilderen in plaats van kant-en-klare plastic bollen te gebruiken. Je zou dit project kunnen voltooien met minder dan $ 25!

Opmerkingen:

  1. Je kunt ook gebruiken wat je maar wilt als "planeten". Je zou zelfs je eigen kunnen schilderen!
  2. Ik ben er vrij zeker van dat deze chips niet voorgeladen zijn met de Arduino R3-bootloader zoals ze zeiden, of dat er een programmeerfout moet zijn geweest. Hoe dan ook, we zullen in een latere stap een nieuwe bootloader branden.
  3. Ik zou het ten zeerste aanbevelen om verschillende pakketten / assortimenten weerstanden en condensatoren (keramisch en elektrolytisch) in te slaan. Het is op deze manier veel goedkoper en u kunt ook snel aan een project beginnen zonder dat u hoeft te wachten op een bepaalde waarde.

Stap 2: Het versnellingssysteem fabriceren

Het versnellingssysteem fabriceren
Het versnellingssysteem fabriceren
Het versnellingssysteem fabriceren
Het versnellingssysteem fabriceren
Het versnellingssysteem fabriceren
Het versnellingssysteem fabriceren

In wezen nestelen alle holle kolommen in elkaar en stellen hun tandwielen op verschillende hoogten bloot. Vervolgens wordt elk van de stappenmotoren op een andere hoogte geplaatst, die elk een andere kolom aandrijven. De overbrengingsverhouding is 2: 1, wat betekent dat elke stappenmotor twee volledige omwentelingen moet maken voordat de kolom er één maakt.

Voor alle 3D-modellen heb ik STL-bestanden (om af te drukken) en Inventor-onderdeel- en assemblagebestanden toegevoegd (zodat u ze vrij kunt wijzigen). Vanuit de exportmap moet u 3 stappenversnellingen afdrukken en 1 van al het andere. De onderdelen hebben geen superfijne z-asresolutie nodig, hoewel een vlak bed belangrijk is, zodat de stappentandwielen een goede perspassing maken, maar niet zo strak dat het onmogelijk is om op en af te stappen. Infill rond 10% -15% leek prima te werken.

Zodra alles is afgedrukt, is het tijd om de onderdelen te monteren. Installeer eerst de stappentandwielen op de stappenmotoren. Als ze een beetje strak zitten, merkte ik dat licht tikken met een hamer veel beter werkte dan duwen met mijn duimen. Zodra dat is gebeurd, duwt u de motoren in de drie gaten in de basis. Duw ze niet helemaal naar beneden, omdat je misschien hun hoogte moet aanpassen.

Zodra ze veilig in hun houders zitten, laat je de Mercuriuskolom (de hoogste en dunste) op de basiskolom vallen, gevolgd door Venus en Aarde. Stel de steppers zo af dat ze goed passen bij elk van de drie grotere versnellingen en dat ze alleen contact maken met de juiste versnelling.

Stap 3: Lasersnijden en lijmen van de acrylstaven

Lasersnijden en lijmen van de acrylstaven
Lasersnijden en lijmen van de acrylstaven
Lasersnijden en lijmen van de acrylstaven
Lasersnijden en lijmen van de acrylstaven

Omdat ik wilde dat mijn planetarium er in het licht of in het donker goed uit zou zien, besloot ik om met heldere acrylstaven te gaan om de planeten omhoog te houden. Op deze manier zouden ze geen afbreuk doen aan de planeten en sterren door je zicht te belemmeren.

Dankzij een geweldige makerspace op mijn school, het DfX Lab, kon ik hun 80W CO2-lasersnijder gebruiken om de acrylstaven uit te snijden. Het was een vrij eenvoudig proces. Ik heb de Inventor-tekening als pdf geëxporteerd en vervolgens de pdf geopend en 'afgedrukt' naar het Retina Engrave-printerstuurprogramma. Van daaruit heb ik de grootte en hoogte van het model aangepast (TODO), de vermogensinstellingen ingesteld (2 passen @ 40% vermogen deed het werk) en de lasersnijder de rest laten doen.

Nadat je je acrylstaven hebt uitgesneden, hebben ze waarschijnlijk wat polijsten nodig. Je kunt ze polijsten met glasreiniger (zorg er alleen voor dat er geen chemicaliën zijn die hier met een "N" worden vermeld) of water en zeep.

Zodra dat is gebeurd, moet je de staven op elk van de planeten lijmen. Ik deed dit met Loctite Epoxy voor Kunststoffen. Het is een 2-componenten epoxy die in ongeveer 5 minuten hardt, meestal na een uur uithardt en na 24 uur volledig uithardt. Het was de perfecte tijdlijn, omdat ik wist dat ik de posities van de onderdelen even moest aanpassen nadat ik de epoxy had aangebracht. Het werd ook specifiek aanbevolen voor acrylsubstraten.

Deze stap was redelijk. De instructies op de verpakking waren meer dan voldoende. Extrudeer gewoon gelijke delen van de hars en verharder op een krant of een papieren bord en meng grondig met een houten tandenstoker. Breng vervolgens een klein beetje aan op het korte uiteinde van de acrylstaaf (zorg ervoor dat je een kleine afstand op de staaf bedekt) en een klein beetje op de onderkant van de planeet.

Houd vervolgens de twee bij elkaar en pas beide aan totdat u vertrouwd bent met hoe ze zijn opgesteld. Hiervoor heb ik een helpende hand gebruikt om de acrylstaaf op zijn plaats te houden (ik heb een stuk schuurpapier tussen de twee geplaatst, met de schurende kant naar buiten, om te voorkomen dat de krokodillenklem de staaf bekrast) en een spoel soldeer om de planeet stil te houden.

Zodra de epoxy volledig is uitgehard (ik had slechts de tijd om het ongeveer 15 uur te geven om uit te harden, maar 24 uur is wat werd aanbevolen) kun je het geheel uit de helpende hand halen en de pasvorm in de planeetkolommen testen. De dikte van de acrylplaten die ik gebruikte was 2,0 mm, dus ik maakte gaten van gelijke grootte in de planeetkolommen. Het was een extreem strakke pasvorm, maar gelukkig kon ik met een beetje schuren de kolommen erin schuiven.

Stap 4: AT-opdrachten gebruiken om de instellingen van de Bluetooth-module te wijzigen

AT-opdrachten gebruiken om de instellingen van de Bluetooth-module te wijzigen
AT-opdrachten gebruiken om de instellingen van de Bluetooth-module te wijzigen

Deze stap lijkt misschien een beetje misplaatst, maar het is veel gemakkelijker als je dit doet voordat je de HC-05 bluetooth-module op het bord soldeert.

Wanneer u uw HC-05 aanschaft, wilt u waarschijnlijk enkele fabrieksinstellingen wijzigen, zoals apparaatnaam (meestal "HC-05"), wachtwoord (meestal "1234") en baudrate (de mijne was geprogrammeerd op 9600 baud).

De eenvoudigste manier om deze instellingen te wijzigen, is door rechtstreeks vanaf uw computer met de module te communiceren. Hiervoor heb je een USB naar TTL UART-converter nodig. Als je er een hebt liggen, kun je die gebruiken. U kunt ook degene gebruiken die wordt geleverd met Arduino-kaarten zonder USB (Uno, Mega, Diecimila, enz.). Steek voorzichtig een kleine platte schroevendraaier tussen de ATMega-chip en de aansluiting op het Arduino-bord en steek vervolgens de platte kop vanaf de andere kant. Til de chip voorzichtig aan elke kant een klein beetje op totdat hij los zit en uit de socket kan worden getrokken.

Nu gaat de bluetooth-module op zijn plaats. Met de Arduino losgekoppeld van uw computer, sluit u Arduino RX aan op HC-05 RX en TX op TX. Sluit Vcc op de HC-05 aan op 5V op de Arduino en GND op GND. Verbind nu de State/Key pin op de HC-05 via een 10k weerstand met Arduino 5V. Door de sleutelpin hoog te trekken, kunt u AT-opdrachten geven om instellingen op de Bluetooth-module te wijzigen.

Sluit nu de arduino aan op uw computer en haal de seriële monitor op vanaf de Arduino IDE, of een TTY vanaf de opdrachtregel, of een terminalemulatorprogramma zoals TeraTerm. Wijzig uw baudrate in 38400 (de standaardinstelling voor AT-communicatie). Schakel CRLF in (in de seriële monitor is dit de optie "Zowel CR als LF", als u de opdrachtregel of een ander programma gebruikt, zoek dan op hoe u dit doet). De module communiceert met 8 databits, 1 stopbit, geen pariteitsbit en geen flow control (als je de Arduino IDE gebruikt hoef je je hier geen zorgen over te maken).

Typ nu "AT" gevolgd door een regelterugloop en een nieuwe regel. U zou het antwoord "OK" moeten terugkrijgen. Als dit niet het geval is, controleer dan uw bedrading en probeer verschillende baudrates.

Als u de naam van het apparaat wilt wijzigen, typt u "AT+NAME=", waar is de naam die u wilt dat de HC-05 uitzendt wanneer andere apparaten ermee proberen te koppelen.

Typ "AT+PSWD= " om het wachtwoord te wijzigen.

Typ "AT+UART=" om de baudrate te wijzigen.

Zie dit gegevensblad voor de volledige lijst met AT-commando's.

Stap 5: Het circuit ontwerpen

Het circuit ontwerpen
Het circuit ontwerpen

Het ontwerp van de schakeling was vrij eenvoudig. Omdat een Arduino Uno niet in de doos met het versnellingssysteem zou passen, besloot ik alles op één bord te solderen en alleen een ATMega328 te gebruiken zonder de ATMega16U2 usb-naar-uart-converter die op Uno-borden zit.

Het schema bestaat uit vier hoofdonderdelen (behalve de voor de hand liggende microcontroller): de voeding, de kristaloscillator, de stuurprogramma's van de stappenmotoren en de Bluetooth-module.

Stroomvoorziening

De voeding komt van een 3A 5V voeding die ik van eBay heb gekocht. Het eindigt met een 5,5 mm OD, 2,1 mm ID barrel plug, met positieve tip. Dus de tip wordt aangesloten op de 5V-voeding en ring naar aarde. Er is ook een 1uF ontkoppelingscondensator om eventuele ruis van de voeding weg te werken. Merk op dat de 5V-voeding is aangesloten op zowel VCC als AVCC en dat aarde is aangesloten op zowel GND als AGND.

Kristaloscillator

Ik gebruikte een 16MHz kristaloscillator en 2 22 pF condensatoren volgens de datasheet voor de ATMegaXX8-familie. Deze is verbonden met de XTAL1- en XTAL2-pinnen op de microcontroller.

Stappenmotorstuurprogramma's

Echt, deze kunnen op alle pinnen worden aangesloten. Ik heb deze gekozen omdat het de meest compacte en rechttoe rechtaan lay-out is als het tijd is om alles op een printplaat te zetten.

Bluetooth-module

De TX van de HC-05 is verbonden met de RX van de microcontroller en RX met TX. Dit is zo dat alles dat vanaf een extern apparaat naar de Bluetooth-module wordt verzonden, wordt doorgegeven aan de microcontroller en omgekeerd. De KEY-pin blijft losgekoppeld, zodat er geen onbedoelde herconfiguratie van instellingen op de module kan plaatsvinden.

Opmerkingen:

Ik plaatste een 10k pull-up weerstand op de reset-pin. Dit zou niet nodig moeten zijn, maar ik dacht dat het de kans zou voorkomen dat de reset-pin langer dan 2,5us laag blijft. Niet waarschijnlijk, maar het is er toch.

Stap 6: De stripboardlay-out plannen

De stripboardlay-out plannen
De stripboardlay-out plannen

De lay-out van het stripboard is ook niet al te ingewikkeld. De ATMega ligt in het midden, met de stappenmotordrivers en bluetooth-module in lijn met de pinnen waarmee ze moeten worden verbonden. De kristaloscillator en zijn condensatoren zitten tussen Stepper3 en de HC-05. Een ontkoppelcondensator ligt precies waar de voeding in het bord komt, en een ligt tussen Steppers 1 en 2.

De X's markeren een plek waar je een ondiep gat moet boren om een verbinding te verbreken. Ik heb een boor van 7/64 gebruikt en alleen geboord tot het gat zo breed was als de bitdiameter. Dit zorgt ervoor dat het koperspoor volledig wordt verdeeld, maar het voorkomt onnodig boren en zorgt ervoor dat het bord sterk blijft.

Korte verbindingen kunnen worden gemaakt met behulp van een soldeerbrug, of door een klein, ongeïsoleerd stukje koperdraad aan elke rij te solderen. Grotere sprongen moeten worden gemaakt met geïsoleerde draad aan de onderkant of bovenkant van het bord.

Stap 7: Solderen

Solderen
Solderen
Solderen
Solderen
Solderen
Solderen
Solderen
Solderen

Opmerking: dit is geen tutorial over solderen. Als je nog nooit eerder hebt gesoldeerd, zijn YouTube en Instructables hier je beste vrienden. Er zijn talloze uitstekende tutorials die de basis en de fijnere punten leren (ik beweer niet dat ik de fijnere punten ken; tot een paar weken geleden was ik slecht in solderen).

Het eerste wat ik deed met de stappenmotordrivers en de bluetooth-module was de soldeer de gebogen mannelijke headers en soldeer op rechte mannelijke headers aan de achterkant van het bord. Hierdoor kunnen ze plat op het stripboard liggen.

De volgende stap is om alle gaten uit te boren die verbindingen moeten verbreken als je dat nog niet hebt gedaan.

Voeg daarna eventuele niet-geïsoleerde jumperdraden toe aan de bovenkant van het bord. Als je ze liever onderaan hebt, kan dat later.

Ik heb eerst op de IC-voet gesoldeerd om een referentiepunt te geven voor de rest van de componenten. Let op de richting van het stopcontact! De halfronde inkeping moet zich het dichtst bij de 10k-weerstand bevinden. Omdat het niet graag op zijn plaats blijft voordat het wordt gesoldeerd, kunt u (uiteraard eerst flux aanbrengen) twee tegenover elkaar liggende hoekpads vertinnen en terwijl u de socket vanaf de onderkant op zijn plaats houdt, het vertinnen opnieuw vloeien. Nu moet de socket op zijn plaats blijven, zodat u de rest van de pinnen kunt solderen.

Voor de onderdelen met snoeren (in dit geval condensatoren en weerstanden) moet het inbrengen van de onderdelen en het licht buigen van de snoeren ervoor zorgen dat ze tijdens het solderen op hun plaats blijven.

Nadat alles op zijn plaats is gesoldeerd, kunt u kleine knipsels gebruiken (of aangezien ik er geen had, oude nagelknippers) om de draden af te knippen.

Nu, dit is het belangrijkste deel. Controleer, dubbelcheck en driedubbele check alle verbindingen. Ga rond het bord met een continuïteitsmeter om te controleren of alles is aangesloten dat moet worden aangesloten, en niets is aangesloten dat niet zou moeten zijn.

Steek de chip in de socket en zorg ervoor dat de halve cirkelvormige inkepingen zich aan dezelfde kant bevinden. Sluit nu de voeding aan op de muur en vervolgens op de gelijkstroomaansluiting. Als de lampjes op de stepper-drivers gaan branden, trek dan de stekker uit het stopcontact en controleer alle aansluitingen. Als de ATMega (of een deel van het bord, zelfs de voedingskabel) extreem heet wordt, trek dan de stekker uit het stopcontact en controleer alle aansluitingen.

Opmerking

Soldeervloeimiddel moet worden omgedoopt tot "Letterlijk Magisch". Serieus, flux maakt dingen magisch. Breng het op elk moment royaal aan voordat u gaat solderen.

Stap 8: De Bootloader op de ATMega branden

De Bootloader branden op de ATMega
De Bootloader branden op de ATMega

Toen ik mijn ATMegas kreeg, stonden ze om de een of andere reden niet toe dat er schetsen naar hen werden geüpload, dus moest ik de bootloader opnieuw branden. Het is een vrij eenvoudig proces. Als je zeker weet dat je al een Arduino/optiboot-bootloader op je chip hebt staan, kun je deze stap overslaan.

De volgende instructies zijn afkomstig uit een zelfstudie op arduino.cc:

  1. Upload de ArduinoISP-schets naar uw Arduino-bord. (Je moet het bord en de seriële poort selecteren in het menu Extra die overeenkomen met je bord)
  2. Sluit het Arduino-bord en de microcontroller aan zoals weergegeven in het diagram aan de rechterkant.
  3. Selecteer "Arduino Duemilanove of Nano met ATmega328" in het menu Extra > Bord.(Of "ATmega328 op een breadboard (8 MHz interne klok)" als u de hieronder beschreven minimale configuratie gebruikt.)
  4. Voer Extra > Bootloader branden > met Arduino uit als ISP. U hoeft de bootloader maar één keer te branden. Nadat je dit hebt gedaan, kun je de jumperdraden verwijderen die zijn aangesloten op pinnen 10, 11, 12 en 13 van het Arduino-bord.

Stap 9: De Arduino-schets

Al mijn code is beschikbaar op GitHub. Hier is de Arduino-schets op GitHub. Alles is zelf gedocumenteerd en het zou relatief eenvoudig te begrijpen moeten zijn als je eerder met de Arduino-bibliotheken hebt gewerkt.

In wezen accepteert het een invoerregel via de UART-interface die de doelposities voor elk van de planeten in graden bevat. Het neemt deze graadposities in en activeert de stappenmotoren om elke planeet naar zijn doelpositie te verplaatsen.

Stap 10: De Arduino Sketch uploaden

De Arduino-schets uploaden
De Arduino-schets uploaden

Het volgende is meestal gekopieerd van ArduinoToBreadboard op de arduino.cc-site:

Zodra uw ATmega328p de Arduino-bootloader heeft, kunt u er programma's naar uploaden met behulp van de USB-naar-serieel converter (FTDI-chip) op een Arduino-bord. Om dit te doen, verwijder je de microcontroller van het Arduino-bord, zodat de FTDI-chip in plaats daarvan met de microcontroller op het breadboard kan praten. Het bovenstaande diagram laat zien hoe de RX- en TX-lijnen van het Arduino-bord met de ATmega op het breadboard moeten worden aangesloten. Om de microcontroller te programmeren, selecteert u "Arduino Duemilanove of Nano w/ATmega328" in het menu Tools > Board. Upload vervolgens zoals gewoonlijk.

Als dit te veel karwei blijkt te zijn, heb ik de ATMega elke keer dat ik hem moest programmeren gewoon in de DIP28-socket gestoken en daarna eruit gehaald. Zolang je voorzichtig en voorzichtig bent met de pinnen, zou het in orde moeten zijn.

Stap 11: De Android-app-code

Net als de Arduino-code, is mijn Android-code hier. Nogmaals, het is zelf gedocumenteerd, maar hier is een kort overzicht.

Het neemt een datum van de gebruiker en berekent waar Mercurius, Venus en de aarde waren/zijn/zullen zijn op die datum. Het gaat uit van middernacht om het eenvoudiger te maken, maar misschien zal ik binnenkort ondersteuning toevoegen. Het maakt deze berekeningen met behulp van een geweldige Java-bibliotheek met de naam AstroLib, die veel meer kan dan waarvoor ik het gebruik. Zodra het deze coördinaten heeft, stuurt het alleen de lengtegraad (de "positie" waar je normaal aan denkt bij het verwijzen naar planetaire banen) naar de bluetoooth-module voor elk van de planeten. Het is zo simpel!

Als je het project zelf wilt bouwen, moet je eerst je telefoon in de ontwikkelaarsmodus zetten. De instructies hiervoor kunnen afhankelijk zijn van de fabrikant van uw telefoon, het apparaatmodel zelf, of u een aangepaste mod gebruikt, enz.; maar normaal gesproken zou het moeten lukken om naar Instellingen -> Over de telefoon te gaan en 7 keer op "Build-nummer" te tikken. Je zou een toastmelding moeten krijgen waarin staat dat je de ontwikkelaarsmodus hebt ingeschakeld. Ga nu naar Instellingen -> Opties voor ontwikkelaars en schakel USB-foutopsporing in. Sluit nu uw telefoon aan op uw computer met behulp van een oplaad- en gegevens-USB-kabel.

Download of kloon nu het project van GitHub. Zodra je het lokaal hebt, open je het in Android Studio en klik je op Uitvoeren (de groene afspeelknop op de bovenste werkbalk). Selecteer uw telefoon in de lijst en druk op OK. Op uw telefoon wordt gevraagd of u de computer waarmee u bent verbonden vertrouwt. Druk op "ja" (of "vertrouw deze computer altijd" als het uw eigen, beveiligde machine is). De app moet compileren, op je telefoon installeren en openen.

Stap 12: De app gebruiken

Het gebruik van de app is vrij eenvoudig.

  1. Als je de HC-05 nog niet met je telefoon hebt gekoppeld, doe dit dan in Instellingen -> Bluetooth.
  2. Druk op "verbinden" in het optiemenu in de rechterbovenhoek.
  3. Kies uw apparaat uit de lijst
  4. Na een paar seconden zou je een melding moeten krijgen dat er verbinding is gemaakt. Als dit niet het geval is, controleer dan of het Planetarium is ingeschakeld en niet in brand staat.
  5. Kies een datum. Scrol omhoog en omlaag op de maand-, dag- en jaarcombinatiekiezers en gebruik de pijltoetsen om 100 jaar vooruit of achteruit te springen.
  6. Druk op verzenden!

Je zou op dit punt moeten zien dat het Planetarium zijn planeten begint te verplaatsen. Als dit niet het geval is, controleert u of deze is ingeschakeld.

Stap 13: Laatste opmerkingen

Omdat het mijn eerste tastbare project is, is het een understatement om te zeggen dat ik veel heb geleerd. Serieus, het heeft me heel veel geleerd over alles, van onderhoud van coderevisies, solderen, projectplanning, videobewerking, 3D-modellering, microcontrollers, tot … Nou, ik zou kunnen doorgaan.

Het punt is, als je naar USF (Go Bulls!) gaat en geïnteresseerd bent in dit soort dingen, volg dan de MAKE-cursus. Als je school iets soortgelijks aanbiedt, neem het dan. Als je niet op school zit of geen vergelijkbare klas hebt, maak dan gewoon iets! Serieus, dit is de moeilijkste stap. Ideeën opdoen is moeilijk. Maar als je eenmaal een idee hebt, ga er dan mee aan de slag. Zeg niet "oh, dat is stom" of "oh ik heb geen tijd". Blijf gewoon nadenken over wat dat idee geweldig zou maken en doe het.

Google ook eens rond om te zien of er een hackerspace bij jou in de buurt is. Als je geïnteresseerd bent in het maken van hardware- en softwareprojecten, maar niet weet waar je moet beginnen, is dit een geweldige plek om te beginnen.

Ik hoop dat je genoten hebt van deze Instructable!

Aanbevolen: