Inhaltsverzeichnis:

Bluetooth-fähiges Planetarium / Orrery - Gunook
Bluetooth-fähiges Planetarium / Orrery - Gunook

Video: Bluetooth-fähiges Planetarium / Orrery - Gunook

Video: Bluetooth-fähiges Planetarium / Orrery - Gunook
Video: Moes Bluetooth датчик освещенности, температуры и влажности – E-Ink дисплей Tuya Smart Life 2024, Juli
Anonim
Bluetooth-fähiges Planetarium/Orrery
Bluetooth-fähiges Planetarium/Orrery

Dieses instructable wurde in Erfüllung der Projektanforderung des Makecourse an der University of South Florida (www.makecourse.com) erstellt.

Das ist mein 3-Planetarium/Orrery. Es begann nur als ein Semesterprojekt für den Makecourse, aber am Ende des Semesters entwickelte es sich zu einer äußerst wertvollen Lernerfahrung. Ich habe nicht nur die Grundlagen von Mikrocontrollern gelernt, sondern auch viele interessante Dinge über C und C++, die Android-Plattform, Löten und Elektronik im Allgemeinen gelernt.

Die Grundfunktion des Planetariums ist folgende: Öffnen Sie eine App auf Ihrem Telefon, stellen Sie eine Verbindung zum Planetarium her, wählen Sie ein Datum aus, klicken Sie auf Senden und beobachten Sie, wie das Planetarium Merkur, Venus und Erde an diesem Datum auf ihre relativen heliozentrischen Längengrade bewegt. Sie können bis zu 1 n. Chr. / CE zurück und bis zu 5000 n. Chr. / CE vorwärts gehen, obwohl die Genauigkeit im Laufe von 100 Jahren oder so leicht abnehmen kann, wenn Sie vorwärts oder rückwärts gehen.

In diesem Instructable werde ich erklären, wie man die Planeten zusammenbaut, das Getriebe, das sie antreibt, die Platine, die alles miteinander verbindet, und den Android- und C ++ (Arduino) -Code, der die Planeten steuert.

Wenn Sie zum Code springen möchten, finden Sie alles auf GitHub. Der Arduino-Code ist hier und der Android-Code ist hier.

Schritt 1: Teile und Werkzeuge

Physische Teile

  • 1 Hochleistungs-Elektronikgehäuse der DC-47P DC-Serie - $ 9,58
  • 0,08" (2 mm) Acryl-/PMMA-Platte, mindestens 15 cm x 15 cm (6" x 6") - 2,97 $
  • 3 unipolare Schrittmotoren 28BYJ-48 - 6,24 $
  • Glow in the Dark Planets - 8,27 $ (siehe Hinweis 1)
  • Leuchten Sie in den dunklen Sternen - 5,95 USD (optional)

Elektronik

  • 3 ULN2003 Schrittmotortreiber - 2,97 $
  • 1 Atmel ATMega328 (P) - 1,64 $ (siehe Hinweis 2)
  • 1 HC-05 Bluetooth-zu-Seriell-Modul - 3,40 $
  • 1 16MHz Quarzoszillator - $0.78 für 10
  • 1 DIP-28 IC-Sockel 0,99 $ für 10
  • 1 Stück Stripboard (Pitch = 0,1", Größe = 20 Reihen mit einer Länge von 3,5") - 2,48 $ für 2
  • 1 DC-Versorgungsbuchse für Schalttafelmontage, weiblich (5,5 mm Außendurchmesser, 2,1 mm Innendurchmesser) - 1,44 USD für 10
  • 2 22pF 5V Kondensatoren - 3,00 $ für 100 (siehe Hinweis 3)
  • 2 1,0 μF Kondensator - 0,99 $ für 50
  • 1 10kΩ Widerstand - 0,99 $ für 50

Werkzeuge

  • Ersatz-Arduino oder AVR-ISP - Sie benötigen dies, um den ATMega-Chip zu programmieren
  • Schraubendreher - zum Entfernen des originalen ATMega vom Arduino
  • Multimeter - oder zumindest ein Durchgangsmesser
  • Hammer - um alles zu reparieren, was nicht gemacht wird The Right Way™
  • Bohren Sie mit 5/16", 7/16" und 1 3/8" Bohrern
  • Kleine Schere - zum Trimmen von Bauteilleitungen
  • 22 AWG Kupferlitze (Toller Preis und viele Optionen hier)
  • Löten - Ich verwende 60/40 mit Kolophoniumkern. Ich habe festgestellt, dass dünnes Lot (<0,6 mm) die Dinge viel einfacher macht. Sie können wirklich überall Lötzinn finden, aber mit diesem habe ich Erfolg.
  • Flussmittel - Ich mag diese Flussmittelstifte sehr, aber man kann wirklich jede Form von Flussmittel verwenden, solange es säurefrei ist.
  • Lötkolben / Lötstation - Sie können diese bei eBay und Amazon ziemlich günstig bekommen, aber seien Sie gewarnt: Frustration variiert umgekehrt mit dem Preis. Mein billiger ($ 25) Stahl SSVT braucht absolut ewig zum Aufheizen, hat fast keine Wärmekapazität und es gibt ein hörbares 60-Hz-Summen, das vom Heizelement ausgeht. Ich bin mir nicht sicher, wie ich das empfinde.
  • Helfende Hand - Dies sind unschätzbare Werkzeuge, die zum Löten fast notwendig sind, und sie helfen, wenn es darum geht, die Planeten auf die Acrylstäbe zu kleben.
  • Epoxy - Ich habe Loctite Epoxy für Kunststoffe verwendet, was ziemlich gut funktioniert hat. Als ich versehentlich einen der Planetenarme (an einem Planeten befestigt) auf Beton fallen ließ, hielt das Epoxid die beiden Teile nicht zusammen. Aber andererseits hatte ich ihm nur etwa 15 der empfohlenen 24 Stunden gegeben, um vollständig zu heilen. Vielleicht wäre es sonst nicht auseinander gekommen, aber ich kann es nicht sagen. Unabhängig davon können Sie fast jeden Klebstoff oder Klebstoff verwenden, der länger als ein paar Minuten zum Aushärten benötigt, da Sie nach dem Auftragen des Klebstoffs möglicherweise noch ein wenig Feineinstellungen vornehmen müssen.
  • Zahnstocher – Sie benötigen diese (oder einen beliebigen Einwegrührer) für Epoxidharz oder einen 2-Komponenten-Klebstoff, es sei denn, er wird mit einem Applikator geliefert, der die beiden Teile für Sie mischt.
  • 3D-Drucker - Ich habe diese verwendet, um einige der Teile für das Zahnradsystem auszudrucken (Dateien enthalten), aber wenn Sie diese Teile mit anderen (vielleicht weniger faulen) Methoden herstellen können, ist dies nicht erforderlich.
  • Laser Cutter - Ich habe dies verwendet, um die klaren Arme zu machen, die die Planeten hochhalten. Wenn Sie die Teile wie im vorherigen Punkt mit einer anderen Methode herstellen können (sie können leicht mit anderen Methoden geschnitten werden), ist dies nicht erforderlich.

Software

  • Sie benötigen entweder die Arduino IDE oder Standalone-Versionen von AVR-GCC und AVRDude
  • Android Studio oder Android Tools for Eclipse (die veraltet ist). Dies könnte bald optional sein, da ich möglicherweise ein kompiliertes APK in den Play Store hochlade

Gesamtkosten

Die Gesamtkosten aller Teile (ohne Werkzeuge) betragen etwa 50 US-Dollar. Viele der aufgeführten Preise gelten jedoch für jeweils mehr als 1 Artikel. Wenn Sie nur zählen, wie viel von jedem Artikel für dieses Projekt verwendet wird, betragen die effektiven Gesamtkosten etwa 35 USD. Das teuerste Element ist das Gehäuse mit fast einem Drittel der Gesamtkosten. Für den MAKE-Kurs mussten wir die Box in unsere Projektdesigns integrieren, also war es eine Notwendigkeit. Wenn Sie jedoch nach einer einfachen Möglichkeit suchen, die Kosten für dieses Projekt zu senken, wenden Sie sich an Ihren lokalen Big-Box-Händler. Sie werden wahrscheinlich eine gute Auswahl an Boxen haben, die billiger sind als Ihr typisches "Elektronikgehäuse". Sie können auch Ihre eigenen Planeten bauen (Holzkugeln sind ein Dutzend) und die Sterne bemalen, anstatt vorgefertigte Plastikkugeln zu verwenden. Sie könnten dieses Projekt mit weniger als 25 US-Dollar abschließen!

Anmerkungen

  1. Sie können auch alles, was Sie möchten, als "Planeten" verwenden. Sie könnten sogar selbst malen!
  2. Ich bin mir ziemlich sicher, dass diese Chips entweder nicht mit dem Arduino R3-Bootloader vorinstalliert waren, wie sie es sagten, oder es muss ein Programmierfehler gegeben sein. Unabhängig davon werden wir in einem späteren Schritt einen neuen Bootloader brennen.
  3. Ich würde dringend empfehlen, sich mit verschiedenen Packungen / Sortimenten von Widerständen und Kondensatoren (Keramik und Elektrolyt) einzudecken. Auf diese Weise ist es viel günstiger und Sie können auch schnell mit einem Projekt beginnen, ohne auf einen bestimmten Wert warten zu müssen.

Schritt 2: Herstellung des Zahnradsystems

Herstellung des Zahnradsystems
Herstellung des Zahnradsystems
Herstellung des Zahnradsystems
Herstellung des Zahnradsystems
Herstellung des Zahnradsystems
Herstellung des Zahnradsystems

Im Wesentlichen nisten alle Hohlsäulen ineinander und legen ihre Zahnräder in unterschiedlichen Höhen frei. Dann wird jeder der Schrittmotoren auf einer anderen Höhe platziert, wobei jeder eine andere Säule antreibt. Das Übersetzungsverhältnis beträgt 2:1, was bedeutet, dass jeder Schrittmotor zwei volle Umdrehungen machen muss, bevor seine Säule eine macht.

Für alle 3D-Modelle habe ich STL-Dateien (zum Drucken) sowie Inventor-Teile- und Baugruppendateien (damit Sie sie frei ändern können) hinzugefügt. Aus dem Exportordner müssen Sie 3 Schrittgetriebe und 1 von allem anderen drucken. Die Teile benötigen keine superfeine Z-Achsen-Auflösung, obwohl ein ebenes Bett wichtig ist, damit die Schrittgetriebe einen festen Presssitz bilden, aber nicht so eng, dass ein Ein- und Aussteigen unmöglich ist. Infill etwa 10-15% schien gut zu funktionieren.

Sobald alles gedruckt ist, ist es Zeit, die Teile zusammenzubauen. Installieren Sie zuerst die Schrittgetriebe auf den Schrittmotoren. Wenn sie etwas eng sind, fand ich, dass ein leichtes Klopfen mit einem Hammer viel besser funktionierte, als mit meinen Daumen zu drücken. Sobald dies erledigt ist, schieben Sie die Motoren in die drei Löcher in der Basis. Drücken Sie sie nicht ganz nach unten, da Sie möglicherweise ihre Höhe anpassen müssen.

Sobald sie sicher in ihren Halterungen sitzen, lassen Sie die Merkursäule (die höchste und dünnste) auf die Basissäule fallen, gefolgt von Venus und Erde. Stellen Sie die Stepper so ein, dass sie gut zu jedem der drei größeren Zahnräder passen und nur das entsprechende Zahnrad berühren.

Schritt 3: Laserschneiden und Kleben der Acrylleisten

Laserschneiden und Kleben der Acrylleisten
Laserschneiden und Kleben der Acrylleisten
Laserschneiden und Kleben der Acrylleisten
Laserschneiden und Kleben der Acrylleisten

Da ich wollte, dass mein Planetarium im Hellen oder im Dunkeln gut aussieht, habe ich mich für klare Acrylstangen entschieden, um die Planeten zu halten. Auf diese Weise würden sie die Planeten und Sterne nicht beeinträchtigen, indem sie Ihre Sicht behindern.

Dank eines großartigen Makerspaces an meiner Schule, dem DfX Lab, konnte ich mit ihrem 80W CO2-Laserschneider die Acrylstäbe ausschneiden. Es war ein ziemlich einfacher Prozess. Ich habe die Inventor-Zeichnung als PDF exportiert und dann das PDF geöffnet und mit dem Retina Engrave-Druckertreiber "gedruckt". Von dort aus habe ich die Größe und Höhe des Modells (TODO) angepasst, die Leistungseinstellungen vorgenommen (2 Durchgänge bei 40% Leistung erledigt) und den Rest vom Laserschneider erledigen lassen.

Nachdem Sie Ihre Acrylstäbe ausgeschnitten haben, müssen sie wahrscheinlich poliert werden. Sie können sie mit Glasreiniger (achten Sie nur darauf, dass keine der hier mit "N" aufgeführten Chemikalien) oder Seife und Wasser poliert werden.

Sobald dies erledigt ist, müssen Sie die Stäbe auf jeden der Planeten kleben. Ich habe dies mit Loctite Epoxy für Kunststoffe gemacht. Es ist ein 2-Komponenten-Epoxid, das in etwa 5 Minuten aushärtet, meistens nach einer Stunde aushärtet und nach 24 Stunden vollständig aushärtet. Es war der perfekte Zeitplan, da ich wusste, dass ich die Positionen der Teile nach dem Auftragen des Epoxids ein wenig anpassen musste. Außerdem wurde es speziell für Acrylsubstrate empfohlen.

Dieser Schritt war fair. Die Anweisungen auf der Packung waren mehr als ausreichend. Einfach Harz und Härter zu gleichen Teilen auf etwas Zeitungspapier oder einen Pappteller extrudieren und mit einem Holzzahnstocher gründlich mischen. Tragen Sie dann einen kleinen Tupfer auf das kurze Ende des Acrylstabs auf (achten Sie darauf, dass Sie einen kleinen Abstand über den Stab legen) und einen kleinen Tupfer auf die Unterseite des Planeten.

Halten Sie die beiden dann zusammen und passen Sie beide an, bis Sie sich mit ihrer Anordnung wohl fühlen. Dazu habe ich eine helfende Hand verwendet, um die Acrylstange an Ort und Stelle zu halten (ich lege ein Stück Sandpapier zwischen die beiden, die abrasive Seite nach außen, um zu verhindern, dass die Krokodilklemme die Stange zerkratzt) und eine Spule Lot, um den Planeten ruhig zu halten.

Sobald das Epoxid vollständig ausgehärtet ist (ich hatte nur Zeit, ihm etwa 15 Stunden zum Aushärten zu geben, aber 24 Stunden wird empfohlen) können Sie die Baugruppe aus der helfenden Hand nehmen und den Sitz in den Planetensäulen testen. Die Dicke der Acrylplatten, die ich verwendet habe, betrug 2,0 mm, also habe ich gleich große Löcher in die Planetensäulen gemacht. Es war eine extrem enge Passform, aber zum Glück konnte ich die Säulen mit ein wenig Schleifen einschieben.

Schritt 4: Verwenden von AT-Befehlen zum Ändern der Bluetooth-Moduleinstellungen

Verwenden von AT-Befehlen zum Ändern der Bluetooth-Moduleinstellungen
Verwenden von AT-Befehlen zum Ändern der Bluetooth-Moduleinstellungen

Dieser Schritt mag etwas unangebracht erscheinen, aber es ist viel einfacher, wenn Sie dies tun, bevor Sie das HC-05-Bluetooth-Modul auf die Platine löten.

Wenn Sie Ihren HC-05 erhalten, möchten Sie wahrscheinlich einige Werkseinstellungen ändern, z..

Der einfachste Weg, diese Einstellungen zu ändern, besteht darin, sich direkt von Ihrem Computer aus mit dem Modul zu verbinden. Dazu benötigen Sie einen USB-zu-TTL-UART-Konverter. Wenn Sie eine herumliegen haben, können Sie diese verwenden. Sie können auch das verwenden, das mit Nicht-USB-Arduino-Boards (Uno, Mega, Diecimila usw.) geliefert wird. Führen Sie vorsichtig einen kleinen Schlitzschraubendreher zwischen dem ATMega-Chip und seinem Sockel auf der Arduino-Platine ein und stecken Sie dann den flachen Kopf von der anderen Seite ein. Heben Sie den Chip von jeder Seite ein wenig an, bis er locker ist und vom Sockel abgezogen werden kann.

Jetzt kommt das Bluetooth-Modul an seinen Platz. Wenn das Arduino von Ihrem Computer getrennt ist, verbinden Sie Arduino RX mit HC-05 RX und TX mit TX. Verbinden Sie Vcc auf dem HC-05 mit 5V auf dem Arduino und GND mit GND. Verbinden Sie nun den State / Key-Pin des HC-05 über einen 10k-Widerstand mit Arduino 5V. Wenn Sie den Schlüsselstift hoch ziehen, können Sie AT-Befehle ausgeben, um die Einstellungen des Bluetooth-Moduls zu ändern.

Verbinden Sie nun das Arduino mit Ihrem Computer und rufen Sie den Serial Monitor von der Arduino IDE oder ein TTY von der Befehlszeile oder ein Terminalemulatorprogramm wie TeraTerm auf. Ändern Sie Ihre Baudrate auf 38400 (die Standardeinstellung für die AT-Kommunikation). Aktivieren Sie CRLF (im seriellen Monitor ist dies die Option "Both CR and LF", wenn Sie die Befehlszeile oder ein anderes Programm verwenden, schauen Sie nach, wie das geht). Das Modul kommuniziert mit 8 Datenbits, 1 Stoppbit, keinem Paritätsbit und keiner Flusskontrolle (wenn Sie die Arduino IDE verwenden, müssen Sie sich darüber keine Gedanken machen).

Geben Sie nun "AT" ein, gefolgt von einem Wagenrücklauf und einem Zeilenumbruch. Sie sollten die Antwort "OK" zurückbekommen. Wenn nicht, überprüfen Sie Ihre Verkabelung und probieren Sie verschiedene Baudraten aus.

Um den Namen des Geräts zu ändern, geben Sie "AT+NAME=" ein, wobei der Name ist, den der HC-05 senden soll, wenn andere Geräte versuchen, sich damit zu koppeln.

Um das Passwort zu ändern, geben Sie "AT+PSWD= " ein.

Um die Baudrate zu ändern, geben Sie "AT+UART=" ein.

Die vollständige Liste der AT-Befehle finden Sie in diesem Datenblatt.

Schritt 5: Entwerfen der Schaltung

Entwerfen der Schaltung
Entwerfen der Schaltung

Das Schaltungsdesign war ziemlich einfach. Da ein Arduino Uno nicht in die Box mit dem Getriebe passen würde, beschloss ich, alles auf eine Platine zu löten und nur einen ATMega328 ohne den ATMega16U2-USB-zu-Uart-Konverter zu verwenden, der sich auf Uno-Boards befindet.

Der Schaltplan besteht aus vier Hauptteilen (außer dem offensichtlichen Mikrocontroller): das Netzteil, der Quarzoszillator, die Schrittmotortreiber und das Bluetooth-Modul.

Energieversorgung

Das Netzteil kommt von einem 3A 5V Netzteil, das ich bei eBay gekauft habe. Es endet mit einem 5,5 mm Außendurchmesser, 2,1 mm Innendurchmesser, mit positiver Spitze. So wird die Spitze an die 5-V-Versorgung angeschlossen und der Ring an Masse gelegt. Es gibt auch einen 1uF Entkopplungskondensator, um jegliches Rauschen von der Stromversorgung zu glätten. Beachten Sie, dass die 5-V-Versorgung sowohl mit VCC als auch mit AVCC verbunden ist und Masse sowohl mit GND als auch mit AGND verbunden ist.

Kristalloszillator

Ich habe einen 16-MHz-Quarzoszillator und 2 22 pF-Kondensatoren gemäß dem Datenblatt für die ATMegaXX8-Familie verwendet. Dieser ist mit den Pins XTAL1 und XTAL2 des Mikrocontrollers verbunden.

Schrittmotortreiber

Diese können wirklich an beliebige Pins angeschlossen werden. Ich habe mich für diese entschieden, weil sie das kompakteste und einfachste Layout bieten, wenn es darum geht, alles auf einer Platine zu platzieren.

Bluetooth-Modul

Der TX des HC-05 ist mit dem RX des Mikrocontrollers und RX mit TX verbunden. Auf diese Weise wird alles, was von einem Remote-Gerät an das Bluetooth-Modul gesendet wird, an den Mikrocontroller weitergeleitet und umgekehrt. Der KEY-Pin wird nicht angeschlossen gelassen, damit es nicht zu einer versehentlichen Neukonfiguration der Einstellungen des Moduls kommen kann.

Anmerkungen

Ich habe einen 10k Pull-Up-Widerstand auf den Reset-Pin gelegt. Dies sollte nicht notwendig sein, aber ich dachte, es könnte verhindern, dass der Reset-Pin länger als 2,5 us niedrig wird. Nicht wahrscheinlich, aber es ist trotzdem da.

Schritt 6: Planung des Stripboard-Layouts

Planung des Stripboard-Layouts
Planung des Stripboard-Layouts

Das Stripboard-Layout ist auch nicht zu komplex. Der ATMega liegt in der Mitte, wobei die Schrittmotortreiber und das Bluetooth-Modul mit den Pins ausgerichtet sind, mit denen sie verbunden werden müssen. Der Quarzoszillator und seine Kondensatoren sitzen zwischen Stepper3 und dem HC-05. Ein Entkopplungskondensator liegt genau dort, wo das Netzteil in die Platine kommt, und einer liegt zwischen Stepper 1 und 2.

Die X markieren eine Stelle, an der Sie ein flaches Loch bohren müssen, um eine Verbindung zu unterbrechen. Ich habe einen 7/64 Bohrer verwendet und nur so lange gebohrt, bis das Loch so breit wie der Bohrerdurchmesser war. Dies stellt sicher, dass die Kupferspur vollständig geteilt ist, aber es vermeidet unnötiges Bohren und stellt sicher, dass die Platine stark bleibt.

Kurze Verbindungen können mit einer Lötbrücke oder durch Anlöten eines kleinen, nicht isolierten Stücks Kupferdraht an jede Reihe hergestellt werden. Größere Sprünge sollten mit isoliertem Draht entweder unten oder oben auf der Platine gemacht werden.

Schritt 7: Löten

Löten
Löten
Löten
Löten
Löten
Löten
Löten
Löten

Hinweis: Dies ist kein Tutorial zum Löten. Wenn Sie noch nie gelötet haben, sind YouTube und Instructables hier Ihre besten Freunde. Es gibt unzählige hervorragende Tutorials, die die Grundlagen und die Feinheiten vermitteln (ich behaupte nicht, die Feinheiten zu kennen; bis vor ein paar Wochen war ich beim Löten blöd).

Das erste, was ich mit den Schrittmotortreibern und dem Bluetooth-Modul gemacht habe, war das Entlöten der gebogenen Stiftleisten und das Löten der geraden Stiftleisten auf die Rückseite der Platine. Dadurch können sie flach auf dem Stripboard liegen.

Der nächste Schritt besteht darin, alle Löcher zu bohren, die zum Unterbrechen der Verbindungen erforderlich sind, falls Sie dies noch nicht getan haben.

Fügen Sie danach alle nicht isolierten Überbrückungsdrähte an der Oberseite der Platine hinzu. Wenn Sie sie lieber unten haben möchten, können Sie dies später tun.

Ich lötete zuerst auf dem IC-Sockel, um einen Bezugspunkt für die restlichen Komponenten zu geben. Beachten Sie unbedingt die Richtung der Steckdose! Die halbkreisförmige Vertiefung sollte dem 10k-Widerstand am nächsten sein. Da es vor dem Löten nicht gerne an Ort und Stelle bleibt, können Sie (natürlich zuerst Flussmittel auftragen) zwei gegenüberliegende Eckpads verzinnen und während Sie die Buchse von der Unterseite halten, die Verzinnung aufschmelzen. Jetzt sollte die Buchse an Ort und Stelle bleiben, damit Sie den Rest der Pins verlöten können.

Bei den Teilen mit Anschlüssen (in diesem Fall Kondensatoren und Widerstände) sollte das Einsetzen der Teile und das anschließende Biegen der Anschlüsse diese beim Löten an Ort und Stelle halten.

Nachdem alles angelötet ist, können Sie mit kleinen Scheren (oder, da ich keine in der Nähe hatte, alte Nagelknipser) die Leitungen abschneiden.

Dies ist nun der wichtige Teil. Überprüfen Sie, überprüfen Sie alle Verbindungen und überprüfen Sie sie dreimal. Gehen Sie mit einem Durchgangsmesser um die Platine, um sicherzustellen, dass alles angeschlossen ist, was angeschlossen werden soll, und nichts angeschlossen ist, das nicht angeschlossen sein sollte.

Setzen Sie den Chip in den Sockel ein und achten Sie darauf, dass sich die halbkreisförmigen Vertiefungen auf der gleichen Seite befinden. Stecken Sie nun das Netzteil in die Wand und dann in die Gleichstrombuchse. Wenn die LEDs an den Stepper-Treibern aufleuchten, ziehen Sie das Netzteil ab und überprüfen Sie alle Verbindungen. Wenn der ATMega (oder irgendein Teil der Platine, sogar das Stromkabel) extrem heiß wird, ziehen Sie das Netzteil ab und überprüfen Sie alle Verbindungen.

Notiz

Lötflussmittel sollten in "Literally Magic" umbenannt werden. Im Ernst, Flussmittel macht die Dinge magisch. Tragen Sie es jederzeit großzügig auf, bevor Sie löten.

Schritt 8: Brennen des Bootloaders auf dem ATMega

Brennen des Bootloaders auf dem ATMega
Brennen des Bootloaders auf dem ATMega

Als ich meine ATMegas bekam, erlaubten sie aus irgendeinem Grund keine Skizzen hochzuladen, also musste ich den Bootloader neu brennen. Es ist ein ziemlich einfacher Prozess. Wenn Sie sicher sind, dass Sie bereits einen Arduino / Optiboot-Bootloader auf Ihrem Chip haben, können Sie diesen Schritt überspringen.

Die folgenden Anweisungen wurden einem Tutorial auf arduino.cc entnommen:

  1. Laden Sie die ArduinoISP-Skizze auf Ihr Arduino-Board hoch. (Sie müssen das Board und den seriellen Port aus dem Menü Tools auswählen, die Ihrem Board entsprechen)
  2. Verdrahten Sie das Arduino-Board und den Mikrocontroller wie in der Abbildung rechts gezeigt.
  3. Wählen Sie "Arduino Duemilanove oder Nano mit ATmega328" aus dem Menü Extras > Board.(Oder "ATmega328 auf einem Steckbrett (8 MHz interner Takt)", wenn Sie die unten beschriebene Minimalkonfiguration verwenden.)
  4. Führen Sie Tools> Bootloader brennen> mit Arduino als ISP aus. Sie sollten den Bootloader nur einmal brennen müssen. Nachdem Sie dies getan haben, können Sie die Jumper-Drähte entfernen, die mit den Pins 10, 11, 12 und 13 der Arduino-Platine verbunden sind.

Schritt 9: Die Arduino-Skizze

Mein gesamter Code ist auf GitHub verfügbar. Hier ist die Arduino-Skizze auf GitHub. Alles ist selbstdokumentiert und sollte relativ einfach zu verstehen sein, wenn Sie zuvor mit den Arduino-Bibliotheken gearbeitet haben.

Im Wesentlichen akzeptiert es eine Eingabezeile über die UART-Schnittstelle, die die Zielpositionen für jeden der Planeten in Grad enthält. Es nimmt diese Gradpositionen ein und betätigt die Schrittmotoren, um jeden Planeten in seine Zielposition zu bewegen.

Schritt 10: Hochladen der Arduino-Skizze

Hochladen der Arduino-Skizze
Hochladen der Arduino-Skizze

Folgendes wird hauptsächlich von ArduinoToBreadboard auf der arduino.cc-Site kopiert:

Sobald Ihr ATmega328p über den Arduino-Bootloader verfügt, können Sie Programme mit dem USB-Seriell-Konverter (FTDI-Chip) auf einem Arduino-Board darauf hochladen. Um dies zu tun, entfernen Sie den Mikrocontroller von der Arduino-Platine, damit der FTDI-Chip stattdessen mit dem Mikrocontroller auf dem Steckbrett kommunizieren kann. Das obige Diagramm zeigt, wie die RX- und TX-Leitungen vom Arduino-Board mit dem ATmega auf dem Steckbrett verbunden werden. Um den Mikrocontroller zu programmieren, wählen Sie "Arduino Duemilanove or Nano w/ ATmega328" aus dem Menü Tools > Board. Dann wie gewohnt hochladen.

Wenn sich das als zu mühsam herausstellt, habe ich den ATMega einfach jedes Mal, wenn ich ihn programmieren musste, in die DIP28-Buchse gesteckt und danach wieder herausgenommen. Solange Sie vorsichtig und sanft mit den Stiften umgehen, sollte es in Ordnung sein.

Schritt 11: Der Android-App-Code

Genau wie der Arduino-Code ist mein Android-Code hier. Auch hier ist es selbst dokumentiert, aber hier ist ein kurzer Überblick.

Es nimmt ein Datum vom Benutzer und berechnet, wo Merkur, Venus und Erde zu diesem Datum waren/sind/werden werden. Es wird von Mitternacht ausgegangen, um es einfacher zu machen, aber vielleicht werde ich bald Zeitunterstützung hinzufügen. Es führt diese Berechnungen mit einer fantastischen Java-Bibliothek namens AstroLib durch, die viel mehr kann als das, wofür ich sie verwende. Sobald es diese Koordinaten hat, sendet es nur den Längengrad (die "Position", an die Sie normalerweise denken, wenn Sie sich auf Planetenbahnen beziehen) für jeden der Planeten an das Bluetooth-Modul. So einfach ist das!

Wenn Sie das Projekt selbst erstellen möchten, müssen Sie Ihr Telefon zunächst in den Entwicklermodus versetzen. Die Anweisungen hierfür können vom Hersteller Ihres Telefons, dem Gerätemodell selbst, wenn Sie einen benutzerdefinierten Mod ausführen usw. abhängen. Normalerweise sollte es jedoch zu Einstellungen -> Über das Telefon gehen und 7 Mal auf "Build-Nummer" tippen. Sie sollten eine Toastbenachrichtigung erhalten, die besagt, dass Sie den Entwicklermodus aktiviert haben. Gehen Sie nun zu Einstellungen -> Entwickleroptionen und aktivieren Sie das USB-Debugging. Schließen Sie nun Ihr Telefon über ein USB-Ladekabel + Datenkabel an Ihren Computer an.

Laden Sie nun das Projekt von GitHub herunter oder klonen Sie es. Sobald Sie es lokal haben, öffnen Sie es in Android Studio und klicken Sie auf Ausführen (die grüne Wiedergabeschaltfläche in der oberen Symbolleiste). Wählen Sie Ihr Telefon aus der Liste aus und klicken Sie auf OK. Auf Ihrem Telefon werden Sie gefragt, ob Sie dem Computer vertrauen, mit dem Sie verbunden sind. Klicken Sie auf "Ja" (oder "Diesem Computer immer vertrauen", wenn es sich um Ihren eigenen, sicheren Computer handelt). Die App sollte kompiliert, auf Ihrem Telefon installiert und geöffnet werden.

Schritt 12: Verwenden der App

Die Nutzung der App ist recht einfach.

  1. Wenn Sie den HC-05 noch nicht mit Ihrem Telefon gekoppelt haben, tun Sie dies unter Einstellungen -> Bluetooth.
  2. Klicken Sie im Optionsmenü in der oberen rechten Ecke auf "Verbinden".
  3. Wählen Sie Ihr Gerät aus der Liste
  4. Nach ein paar Sekunden sollten Sie eine Benachrichtigung erhalten, dass eine Verbindung hergestellt wurde. Wenn nicht, überprüfen Sie, ob das Planetarium eingeschaltet ist und nicht brennt.
  5. Wählen Sie ein Datum. Scrollen Sie in den Kombinationsauswahlen für Monat, Tag und Jahr nach oben und unten und verwenden Sie die Pfeiltasten, um jeweils 100 Jahre vor- oder zurückzuspringen.
  6. Klicken Sie auf Senden!

Sie sollten sehen, dass das Planetarium zu diesem Zeitpunkt beginnt, seine Planeten zu bewegen. Wenn nicht, stellen Sie sicher, dass es eingeschaltet ist.

Schritt 13: Abschließende Bemerkungen

Als mein erstes konkretes Projekt ist es eine Untertreibung zu sagen, dass ich viel gelernt habe. Im Ernst, es hat mich viel über alles gelehrt, von der Wartung der Coderevision über das Löten, die Projektplanung, die Videobearbeitung, die 3D-Modellierung, die Mikrocontroller, bis … Nun, ich könnte weitermachen.

Der Punkt ist, wenn Sie zu USF (Go Bulls!) gehen und sich für diese Art von Dingen interessieren, nehmen Sie am MAKE-Kurs teil. Wenn Ihre Schule etwas Ähnliches anbietet, nehmen Sie es. Wenn Sie nicht in der Schule sind oder keine ähnliche Klasse haben, machen Sie einfach etwas! Ernsthaft, dies ist der schwierigste Schritt. Ideen zu bekommen ist schwer. Aber wenn du eine Idee hast, dann lauf damit. Sagen Sie nicht "Oh, das ist dumm" oder "Oh, ich habe keine Zeit". Denken Sie einfach darüber nach, was diese Idee großartig machen würde, und machen Sie es.

Googeln Sie auch herum, um zu sehen, ob es einen Hackerspace in Ihrer Nähe gibt. Wenn Sie daran interessiert sind, Hardware- und Softwareprojekte zu erstellen, aber nicht wissen, wo Sie anfangen sollen, ist dies ein großartiger Ausgangspunkt.

Ich hoffe, Sie haben dieses Instructable genossen!

Empfohlen: