Inhaltsverzeichnis:

Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar - Gunook
Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar - Gunook

Video: Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar - Gunook

Video: Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar - Gunook
Video: Land Rover Discovery | Elektrische Innere Heckklappe 2024, Juli
Anonim
Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar
Gestengesteuerter Rover mit einem Beschleunigungsmesser und einem HF-Sender-Empfänger-Paar

Sie da, Haben Sie sich schon immer gewünscht, einen Rover zu bauen, den Sie mit einfachen Handgesten steuern können, aber nie den Mut aufbringen konnten, sich in die Feinheiten der Bildverarbeitung zu wagen und eine Webcam mit Ihrem Mikrocontroller zu verbinden, ganz zu schweigen von dem mühsamen Kampf um die Überwindung schlechter Reichweiten und Reichweiten. Sehprobleme? Nun, keine Angst … denn es gibt einen einfachen Ausweg! Siehe, wie ich dir den mächtigen ACCELEROMETER präsentiere! *ba dumm tsss*

Ein Beschleunigungsmesser ist ein wirklich cooles Gerät, das die Gravitationsbeschleunigung entlang einer linearen Achse misst. Er stellt dies als einen zwischen Masse und der Versorgungsspannung schwankenden Spannungspegel dar, den unser Mikrocontroller als Analogwert einliest. Wenn wir unser Gehirn ein wenig anwenden (nur ein wenig Mathematik und etwas Newtonsche Physik), können wir damit nicht nur die lineare Bewegung entlang einer Achse messen, sondern auch den Neigungswinkel bestimmen und Vibrationen wahrnehmen. Mach dir keine Sorgen! Wir werden weder Mathematik noch Physik brauchen; wir haben es nur mit Rohwerten zu tun, die der Beschleunigungsmesser ausspuckt. Tatsächlich müssen Sie sich in Bezug auf die technischen Details eines Beschleunigungsmessers für dieses Projekt nicht viel Gedanken machen. Ich werde nur ein paar Besonderheiten ansprechen und nur so viel ausführen, wie Sie das Gesamtbild verstehen müssen. Wenn Sie jedoch daran interessiert sind, seine innere Mechanik zu studieren, schauen Sie hier.

Sie müssen dies nur im Hinterkopf behalten: Ein Beschleunigungsmesser ist das Gizmo (oft in Verbindung mit einem Gyroskop), das die Türen zu all den Bewegungssensorspielen öffnet, die wir auf unseren Smartphones spielen; ein Autorennen-Spiel zum Beispiel, bei dem wir das Fahrzeug einfach durch Neigen unserer Geräte in eine beliebige Richtung lenken. Und genau diesen Effekt können wir nachahmen, indem wir einen Beschleunigungsmesser (natürlich mit ein paar Hilfsmitteln) auf einen Handschuh kleben. Wir ziehen einfach unsere magischen Handschuhe an und neigen unsere Hände nach links oder rechts, nach vorne oder hinten und sehen unsere Rover zu unseren Melodien tanzen. Alles, was wir hier tun müssen, ist, die Messwerte des Beschleunigungsmessers in digitale Signale zu übersetzen, die die Motoren des Rovers interpretieren und einen Mechanismus entwickeln können, um diese Signale an den Rover zu übertragen. Um dies zu erreichen, rufen wir den guten alten Arduino und seine Helfer für das heutige Experiment auf, ein HF-Sender-Empfänger-Paar, das mit 434 MHz arbeitet und dadurch eine Reichweite von etwa 100-150 m im freien Raum ergibt, was uns auch vor Line-of- Sehprobleme.

Ein ziemlich raffinierter Hack, oder? Tauchen wir ein…

Schritt 1: Sammeln Sie Ihre Vorräte

Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
Sammeln Sie Ihre Vorräte
• Arduino-Nano x1
• Beschleunigungsmesser (ADXL335) x1
• 5-V-Gleichstrommotor + Räder je x2
• Rinderrad* x1
• L293D-Motortreiber + 16-poliger IC-Sockel je x1
• 434 MHz HF-Sender x1
• 434 MHz HF-Empfänger x1
• HT-12E Encoder-IC + 18-poliger IC-Sockel x1 je
• HT-12D Decoder-IC + 18-poliger IC-Sockel je x1
• LM7805 Spannungsregler x1
• Druckknopfschalter x2
• Rote LED + 330O Widerstand je x2
• Gelbe LED + 330O Widerstand x1 je
• Grüne LED + 330O Widerstand (optional) x4 je
• 51kO- und 1MO-Widerstände je x1
• 10µF Radialkondensatoren x2
Batterien, Batterieanschlüsse, USB-Kabel, Überbrückungsdrähte, Buchsenleisten, 2-polige Schraubklemmen, PCB, Gehäuse und Ihr übliches Lötzubehör

Wenn Sie sich fragen, warum wir ein Rinderrad verwenden, die Sache ist die, dass die HF-Sender- und -Empfängermodule nur 4 Datenpins haben, was bedeutet, dass wir nur 2 Motoren antreiben können und daher die Verwendung eines Rinderrades die Struktur unterstützen. Wenn Sie jedoch der Meinung sind, dass Ihr Rover mit vier Rädern ein bisschen cooler aussehen würde, machen Sie sich keine Sorgen, es gibt eine Lösung! In diesem Fall kratzen Sie einfach das Rinderrad von der Liste und fügen ein weiteres Paar 5-V-Gleichstrommotoren hinzu, die jeweils von einem Rad begleitet werden, und achten Sie auf den einfachen Hack, der gegen Ende von Schritt 3 besprochen wird.

Schließlich gibt es für die Mutigen noch Spielraum für eine weitere leichte Änderung im Design, bei der es darum geht, Ihr eigenes Arduino zu entwickeln. Gehen Sie im nächsten Schritt zum Bonusbereich und überzeugen Sie sich selbst. Sie benötigen auch ein paar zusätzliche Verbrauchsmaterialien: einen ATmega328P, einen 28-Pin-IC-Sockel, einen 16-MHz-Quarzoszillator, zwei 22pF-Keramikkappen, einen weiteren 7805-Spannungsregler, zwei weitere 10μF-Radialkappen und 10kΩ, 680Ω, 330Ω Widerstände und ja, minus der Arduino!

Schritt 2: Verdrahten Sie den Sender

Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender
Verdrahten Sie den Sender

Wir werden das Projekt in zwei Bestandteile aufteilen: die Sender- und die Empfängerschaltungen. Der Sender besteht aus einem Beschleunigungsmesser, einem Arduino und einem HF-Sendermodul, das mit einem HT-12E-Encoder-IC gekoppelt ist, alle gemäß dem beigefügten Schaltplan verdrahtet.

Der Beschleunigungsmesser dient, wie bereits erwähnt, dazu, unsere Handgesten zu erkennen. Wir werden einen dreiachsigen Beschleunigungsmesser (im Wesentlichen drei einachsige Beschleunigungsmesser in einem) verwenden, um unsere Anforderungen zu erfüllen. Es kann verwendet werden, um die Beschleunigung in allen drei Dimensionen zu messen, und wie Sie vielleicht schon vermutet haben, liefert es nicht einen, sondern einen Satz von drei analogen Werten relativ zu seinen drei Achsen (x, y und z). Eigentlich brauchen wir nur die Beschleunigung entlang der x- und y-Achse, da wir den Rover nur in vier Richtungen fahren können: vorwärts oder rückwärts (also entlang der y-Achse) und links oder rechts (also entlang der x-Achse). Beim Bau einer Drohne hätten wir die z-Achse gebraucht, um auch deren Auf- oder Abstieg durch Gesten steuern zu können. In jedem Fall müssen diese analogen Werte, die der Beschleunigungsmesser liefert, in digitale Signale umgewandelt werden, um die Motoren antreiben zu können. Dafür sorgt der Arduino, der diese Signale bei der Konvertierung auch über das HF-Sendemodul an den Rover überträgt.

Der HF-Sender hat nur eine Aufgabe: die an Pin 3 verfügbaren „seriellen“Daten aus der Antenne an Pin 1 zu übertragen. Dies empfiehlt den Einsatz des HT-12E, eines 12-Bit-Parallel-zu-Seriell-Datenkodierers, der bis zu 4 Bits paralleler Daten vom Arduino an den Leitungen AD8 bis AD11, wodurch wir Platz für bis zu 24 = 16 verschiedene E / A-Kombinationen im Gegensatz zum einzelnen Datenpin am HF-Sender schaffen. Die restlichen 8 Bit, entnommen aus den Leitungen A0 bis A7 am Encoder, bilden das Adressbyte, das die Paarung des HF-Senders mit einem entsprechenden HF-Empfänger erleichtert. Die 12 Bit werden dann zusammengefügt und serialisiert und an den Datenpin des HF-Senders weitergegeben, der die Daten wiederum ASK-moduliert auf eine 434MHz Trägerwelle und über die Antenne an Pin 1 ausschießt.

Konzeptionell sollte jeder HF-Empfänger, der mit 434 MHz abhört, in der Lage sein, diese Daten abzufangen, zu demodulieren und zu decodieren. Die Adressleitungen des HT-12E und die des HT-12D-Gegenstücks (ein 12-Bit-Seriell-zu-Parallel-Datendecoder) ermöglichen es uns jedoch, ein HF-Sender-Empfänger-Paar einzigartig zu machen, indem die Daten nur an die beabsichtigten Empfänger, wodurch die Kommunikation mit allen anderen eingeschränkt wird. Wir müssen lediglich die Adressleitungen an beiden Fronten identisch konfigurieren. Da wir beispielsweise alle Adressleitungen für unser HT-12E geerdet haben, müssen wir das gleiche für das HT-12D auf der Empfangsseite tun, sonst kann der Rover die Signale nicht empfangen. Auf diese Weise können wir auch mehrere Rover mit einer einzigen Senderschaltung steuern, indem wir die Adressleitungen der HT-12Ds an jedem der Empfänger identisch konfigurieren. Oder wir könnten zwei Handschuhe anziehen, an denen jeweils eine Senderschaltung angebracht ist, die eine bestimmte Adressleitungskonfiguration enthält (z hoch und die andere mit zwei geerdeten Leitungen, während die verbleibenden sechs hochgehalten werden, oder eine beliebige andere Kombination davon) und jeder steuert mehrere identisch konfigurierte Rover. Spielen Sie den Maestro in einer Android-Symphonie!

Eine wichtige Sache, die beim Zusammenbau der Schaltung zu beachten ist, ist der Wert von Rosc. Das HT-12E verfügt über eine interne Oszillatorschaltung zwischen den Pins 15 und 16, die durch Anschließen eines Widerstands namens Rosc zwischen diesen Pins aktiviert wird. Der für Rosc gewählte Wert bestimmt tatsächlich die Oszillatorfrequenz, die je nach Versorgungsspannung variieren kann. Die Wahl eines geeigneten Wertes für Rosc ist entscheidend für die Funktion des HT-12E! Idealerweise sollte die Oszillatorfrequenz des HT-12E das 1/50-fache der des HT-12D-Gegenstücks betragen. Da wir mit 5V arbeiten, haben wir daher 1MΩ- und 51kΩ-Widerstände als Rosc für die HT-12E- bzw. HT-12D-Schaltungen gewählt. Falls Sie beabsichtigen, die Schaltungen mit einer anderen Versorgungsspannung zu betreiben, beziehen Sie sich auf das Diagramm „Oszillatorfrequenz vs. Versorgungsspannung“auf Seite 11 des beigefügten HT-12E-Datenblatts, um die genaue Oszillatorfrequenz und den zu verwendenden Widerstand zu bestimmen.

Als Randnotiz verwenden wir hier auch Buchsenleisten (die einem ähnlichen Zweck wie IC-Sockel dienen), um den Beschleunigungsmesser, den HF-Sender und den Arduino in die Schaltung einzustecken, anstatt sie direkt auf die Platine zu löten. Die Absicht ist die Unterbringung einer kleinen Wiederverwendbarkeit der Komponente. Sagen Sie, es ist eine Weile her, seit Sie Ihren gestengesteuerten Rover entwickelt haben und er nur halb mit Staub bedeckt auf Ihrem Trophäenregal sitzt, und Sie stolpern über ein weiteres großartiges Instructable, das die Wirksamkeit eines Beschleunigungsmessers nutzt. Also, was machst du? Sie ziehen es einfach aus Ihrem Rover und schieben es in Ihre neue Schaltung. Keine Notwendigkeit, die "Amazons" zu beschwören, um dir eine neue zu besorgen:-p

Bonus: Weg mit dem Arduino, und doch nicht

Nur für den Fall, dass Sie sich ein wenig abenteuerlustiger fühlen und vor allem, wenn Sie denken, dass es ein bisschen übertrieben ist, dieses wunderschön gestaltete Wunder (das Arduino natürlich) für eine so triviale Aufgabe wie unsere auszugeben, haben Sie noch etwas Geduld mit mir; und wenn nicht, können Sie gerne mit dem nächsten Schritt fortfahren.

Unser Ziel hier ist es, den Arduino (eigentlich das Gehirn des Arduino; ja, ich spreche vom ATmega IC!) zu einem festen Mitglied des Teams zu machen. Der ATmega würde so programmiert werden, dass er immer wieder nur eine einzige Skizze ausführt, so dass er als ständiger Teil der Schaltung dienen könnte, genau wie der HT-12E - ein bloßer IC, der nur da sitzt und tut, was er soll. Sollte nicht so ein echtes eingebettetes System sein?

Wie auch immer, um mit diesem Upgrade fortzufahren, ändern Sie einfach die Schaltung gemäß dem zweiten beigefügten Schaltplan. Hier ersetzen wir einfach die Buchsenleisten für den Arduino durch einen IC-Sockel für den ATmega, fügen am Reset-Pin (Pin 1) des ICs einen 10K-Pull-Up-Widerstand hinzu und pumpen ihn mit einem externen Takt zwischen den Pins 9 und 10. auf Wenn wir den Arduino abschaffen, lassen wir leider auch seine eingebauten Spannungsregler los; ergo müssen wir auch hier die LM7805-Schaltung nachbauen, die wir für den Empfänger verwendet hatten. Darüber hinaus verwenden wir auch einen Spannungsteiler, um die 3,3 V zu ziehen, die für die Stromversorgung des Beschleunigungsmessers erforderlich sind.

Der einzige andere Haken hier ist, den ATmega so zu programmieren, dass er seinen Job macht. Sie müssen jedoch bis Schritt 4 darauf warten. Also bleibt gespannt…

Schritt 3: Und der Empfänger

Und der Empfänger
Und der Empfänger
Und der Empfänger
Und der Empfänger
Und der Empfänger
Und der Empfänger
Und der Empfänger
Und der Empfänger

Der Empfänger besteht aus einem HF-Empfängermodul, das mit einem HT-12D-Decoder-IC gekoppelt ist, und einem Paar Gleichstrommotoren, die mit Hilfe eines L293D-Motortreibers betrieben werden, alle gemäß dem beigefügten Schaltplan verdrahtet.

Die einzige Aufgabe des HF-Empfängers besteht darin, die Trägerwelle (empfangen über seine Antenne an Pin 1) zu demodulieren und die abgerufenen „seriellen“Daten an Pin 7 zu rendern, von wo sie vom HT-12D zur Deserialisierung abgeholt werden. Unter der Annahme, dass die Adressleitungen (A0 bis A7) am HT-12D identisch konfiguriert sind wie beim HT-12E, werden die 4 parallelen Datenbits extrahiert und über die Datenleitungen (D8 bis D11) am HT-12D an den Motortreiber, der diese Signale wiederum interpretiert, um die Motoren anzutreiben.

Achten Sie auch hier auf den Wert von Rosc. Auch das HT-12D hat zwischen den Pins 15 und 16 eine interne Oszillatorschaltung, die durch Anschließen eines Widerstands, genannt Rosc, zwischen diesen Pins aktiviert wird. Der für Rosc gewählte Wert bestimmt tatsächlich die Oszillatorfrequenz, die je nach Versorgungsspannung variieren kann. Die Wahl eines geeigneten Wertes für Rosc ist entscheidend für die Funktion des HT-12D! Idealerweise sollte die Oszillatorfrequenz des HT-12D das 50-fache der des HT-12E-Gegenstücks betragen. Da wir mit 5V arbeiten, haben wir daher 1MΩ- und 51kΩ-Widerstände als Rosc für die HT-12E- bzw. HT-12D-Schaltungen gewählt. Sollten Sie beabsichtigen, die Schaltungen mit einer anderen Versorgungsspannung zu betreiben, beziehen Sie sich auf das Diagramm „Oszillatorfrequenz vs. Versorgungsspannung“auf Seite 5 des beigefügten HT-12D-Datenblatts, um die genaue Oszillatorfrequenz und den zu verwendenden Widerstand zu bestimmen.

Vergessen Sie auch nicht die Buchsenleisten für den HF-Empfänger.

Optional kann eine LED über einen 330Ω Strombegrenzungswiderstand an jeden der 4 Datenpins des HT-12D angeschlossen werden, um das an diesem Pin empfangene Bit zu bestimmen. Die LED würde aufleuchten, wenn das empfangene Bit HIGH (1) ist, und würde herunterdimmen, wenn das empfangene Bit LOW (0) ist. Alternativ könnte eine einzelne LED an den VT-Pin des HT-12D angeschlossen werden (wieder über einen 330Ω Strombegrenzungswiderstand), die bei einer gültigen Übertragung aufleuchten würde.

Wenn Sie nun nach dem Hack mit den Motoren suchen, über den ich in Schritt eins gesprochen habe, ist es verdammt einfach! Verdrahten Sie einfach die beiden Motoren in jedem Satz parallel, wie im zweiten Schaltplan gezeigt. Dies funktioniert so, wie es soll, da die Motoren in jedem Satz (der vordere und hintere Motor links und der vordere und hintere Motor rechts) niemals in entgegengesetzte Richtungen angetrieben werden. Das heißt, um den Rover nach rechts zu drehen, müssen der vordere und der hintere Motor links beide vorwärts angetrieben werden und der vordere und der hintere Motor rechts müssen beide rückwärts angetrieben werden. Um den Rover nach links drehen zu lassen, müssen der vordere und der hintere Motor links beide rückwärts angetrieben werden und der vordere und der hintere Motor rechts müssen beide vorwärts angetrieben werden. Daher ist es sicher, beide Motoren eines Satzes mit dem gleichen Spannungspaar zu versorgen. Und der Weg, dies zu erreichen, besteht darin, die Motoren einfach parallel zu schalten.

Schritt 4: Auf zum Code

Weiter zum Kodex
Weiter zum Kodex

Es gibt nur noch eine Sache, um den Rover zum Laufen zu bringen. Ja, Sie haben es richtig erraten! (Ich hoffe, Sie haben es getan) Wir müssen die Beschleunigungsmesser-Messwerte noch in eine Form übersetzen, die der Motortreiber interpretieren kann, um die Motoren anzutreiben. Wenn Sie denken, dass wir, da die Beschleunigungsmesser-Messwerte analog sind und der Motortreiber digitale Signale erwartet, eine Art ADC implementieren müssen, naja, technisch nicht, aber das müssen wir irgendwie tun. Und es ist ganz einfach.

Wir wissen, dass ein Beschleunigungsmesser die Erdbeschleunigung entlang einer linearen Achse misst und dass diese Beschleunigung als ein zwischen Masse und der Versorgungsspannung schwankender Spannungspegel dargestellt wird, den unser Mikrocontroller als Analogwert zwischen 0 und 1023 einliest. Aber da wir Wenn Sie den Beschleunigungsmesser mit 3,3 V betreiben, ist es ratsam, die analoge Referenz für den 10-Bit-ADC (der im ATmeaga an Bord eines Arduino integriert ist) auf 3,3 V einzustellen. Es macht die Dinge nur einfacher zu verstehen; obwohl es für unser kleines Experiment nicht viel ausmacht, selbst wenn wir es nicht getan haben (wir müssen nur den Code ein wenig optimieren). Dazu verdrahten wir aber einfach den AREF-Pin am Arduino (Pin 21 am ATmega) auf 3,3V und kennzeichnen diese Codeänderung durch Aufruf von analogReference(EXTERNAL).

Wenn wir nun den Beschleunigungsmesser flach legen und analog die Beschleunigung entlang der x- und y-Achse ablesen (erinnern Sie sich? wir brauchen nur diese beiden Achsen), erhalten wir einen Wert von etwa 511 (dh auf halbem Weg zwischen 0 und 1023), was nur a. ist Weise zu sagen, dass es entlang dieser Achsen 0 Beschleunigung gibt. Anstatt in die Details der Tatsache einzudringen, stellen Sie sich dies einfach als die x- und y-Achsen in einem Diagramm vor, wobei der Wert 511 den Ursprung und 0 und 1023 die Endpunkte bezeichnet, wie in der Abbildung dargestellt; Richten Sie den Beschleunigungsmesser so aus, dass seine Stifte nach unten zeigen und näher an Sie gehalten werden, da Sie sonst die Achsen invertieren/vertauschen. Dies bedeutet, dass wir, wenn wir den Beschleunigungsmesser nach rechts neigen, einen Wert größer als 511 entlang der x-Achse lesen sollten, und wenn wir den Beschleunigungsmesser nach links neigen, sollten wir einen Wert kleiner als 511 entlang der x-Achse erhalten. Wenn wir den Beschleunigungsmesser nach vorne neigen, sollten wir einen Wert über 511 entlang der y-Achse ablesen, und wenn wir den Beschleunigungsmesser nach hinten neigen, sollten wir einen Wert unter 511 entlang der y-Achse ablesen. Und so leiten wir im Code die Richtung ab, in die der Rover gefahren werden soll. Das bedeutet aber auch, dass wir den Beschleunigungsmesser wirklich ruhig und parallel zu einer ebenen Fläche ausgerichtet halten müssen, um eine 511 entlang beider Achsen lesen zu können um den Rover still zu parken. Um diese Aufgabe etwas zu erleichtern, definieren wir bestimmte Grenzwerte, die eine Grenze bilden, wie in der Abbildung dargestellt, damit der Rover stationär bleibt, solange die x- und y-Messwerte innerhalb der Grenzen liegen und wir mit Sicherheit wissen, dass der Rover eingestellt werden muss Bewegung, sobald die Schwelle überschritten wird.

Wenn die y-Achse beispielsweise 543 anzeigt, wissen wir, dass der Beschleunigungsmesser nach vorne geneigt ist, also müssen wir den Rover nach vorne lenken. Wir tun dies, indem wir die Pins D2 und D4 HIGH und die Pins D3 und D5 LOW setzen. Da diese Pins nun direkt mit dem HT-12E verdrahtet sind, werden die Signale serialisiert und der HF-Sender abgefeuert, nur um von dem auf dem Rover sitzenden HF-Empfänger aufgefangen zu werden, der mit Hilfe des HT-12D die Signale deserialisiert und gibt sie an den L293D weiter, der diese Signale wiederum interpretiert und die Motoren vorantreibt

Sie können diese Schwellenwerte jedoch ändern, um die Empfindlichkeit zu kalibrieren. Eine einfache Möglichkeit besteht darin, Ihren Beschleunigungsmesser einfach mit Ihrem Arduino zu verbinden und eine Skizze auszuführen, die die x- und y-Messwerte auf den seriellen Monitor ausspuckt. Bewegen Sie jetzt einfach den Beschleunigungsmesser ein wenig, sehen Sie sich die Messwerte an und entscheiden Sie sich für die Schwellenwerte.

Und das ist es! Laden Sie den Code auf Ihren Arduino hoch und genießen Sie !! Oder vielleicht nicht so bald:-(Wenn Sie den Bonusabschnitt nicht übersprungen haben, würde das Hochladen des Codes auf Ihren ATmega etwas mehr Arbeit bedeuten. Sie haben zwei Möglichkeiten:

Option A: Verwenden Sie ein USB-zu-Seriell-Gerät wie das FTDI FT232 Basic Breakout Board. Führen Sie einfach die Drähte vom TTL-Header zu den entsprechenden Pins am ATmega gemäß der folgenden Zuordnung:

Pins auf dem Breakout Board Pins auf dem Mikrocontroller
DTR/GRN RST/Reset (Pin 1) über 0,1µF-Kappe
Rx Tx (Stift 3)
Tx Rx (Stift 2)
Vcc +5V Ausgang
CTS (ungebraucht)
Gnd Boden

Stecken Sie nun ein Ende eines USB-Kabels in das Breakout-Board und das andere in Ihren PC und laden Sie den Code wie gewohnt hoch: Starten Sie die Arduino IDE, wählen Sie einen geeigneten seriellen Port aus, stellen Sie den Board-Typ ein, kompilieren Sie die Skizze und klicken Sie auf Upload.

Option B: Verwenden Sie eine UNO, wenn Sie irgendwo eine herumliegen haben. Stecken Sie einfach Ihren ATmega in die UNO, laden Sie den Code wie gewohnt hoch, ziehen Sie den IC heraus und schieben Sie ihn zurück in den Senderstromkreis. So einfach wie Kuchen!

Jede dieser Optionen sollte funktionieren, vorausgesetzt, Sie waren schlau genug, den Bootloader vorher auf Ihren ATmega zu brennen, oder, wenn Sie noch schlauer waren, einen ATmega mit bereits installiertem Bootloader zu kaufen. Wenn nicht, fahren Sie fort und befolgen Sie die hier beschriebenen Schritte.

Andddd, wir sind offiziell fertig! Ich hoffe, Sie haben dieses bizarr lange instructable genossen. Fahren Sie nun fort, bauen Sie Ihren Rover fertig, wenn Sie noch nicht fertig sind, spielen Sie eine Weile damit und kommen Sie zurück, um den Kommentarbereich unten mit Fragen und / oder konstruktiver Kritik zu überfluten.

Vielen Dank

PS Der Grund, warum ich keine Bilder des fertigen Projekts hochgeladen habe, ist, dass ich es nicht selbst abgeschlossen habe. Nach der Hälfte des Aufbaus dachte ich an einige Erweiterungen, wie Geschwindigkeitskontrolle, Hindernisvermeidung und vielleicht ein LCD am Rover, was eigentlich nicht so schwierig ist, wenn wir sowohl auf der Sende- als auch auf der Empfangsseite einen Mikrocontroller verwenden. Aber warum nicht auf die harte Tour?! Also arbeite ich gerade in diese Richtung und werde ein Update posten, sobald es Früchte trägt. Ich habe den Code und das Design jedoch mit Hilfe eines schnellen Prototyps getestet, den ich mit Modulen aus einem meiner früheren Projekte erstellt habe; das Video kannst du dir hier anschauen.

Empfohlen: