Inhaltsverzeichnis:

DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET - Gunook
DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET - Gunook

Video: DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET - Gunook

Video: DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET - Gunook
Video: Анна Куцеволова - гиперреалистичный жулик. Часть 12. 2018 год. 2024, November
Anonim
DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET
DAS EMOTIONALE HINDERNISSE, DAS ROBOTER VERMEIDET

Der emotionale Roboter. Dieser Roboter zeigt Emotionen mit Neopixeln (RGB-LEDs) wie Traurigkeit, Freude, Wut und Angst an, er kann auch Hindernissen ausweichen und während seiner bestimmten Emotion bestimmte Bewegungen ausführen. Das Gehirn dieses Roboters ist ein Arduino Mega. Denken Sie daran, dass dies mein erster programmierter Roboter ist, den ich je gebaut habe, und ich habe mich in die Programmierung verliebt. Der Code selbst ist sehr Anfänger und könnte höchstwahrscheinlich vereinfacht werden.

Schritt 1: TEILE

TEILE
TEILE

-3,2 Fuß eines Neopixel-Streifens

-HC-SR04 Ultraschallsensor (oder jeder andere Ultraschallsensor)

-Kippschalter

-3 3,7 V Lithium-Ionen-Akku (18650)

-Boost-Konverter (erklärt in der Leistungsstufe)

-Fotowiderstand (beliebiger Wert)

-analoger Schallsensor

-2 Gleichstrommotoren 6V

-l293d (Motortreiber)

-Kunststoffplatte

-Karton

-Laufrad

Schritt 2: Neopixel

Neopixel
Neopixel
Neopixel
Neopixel

Aufgrund meines knappen Budgets sind Neopixel der einfachste und billigste Weg, um die Emotionen meiner Roboter zum Leben zu erwecken. Sie haben nur 3 Ein- und Ausgänge. die drei Pins am Eingang sind mit 5V, DIN (Dateneingang) und GND (Masse) beschriftet; der Ausgang wird genauso beschriftet wie der Eingang, aber anstelle von Daten in seinem DO (Datenausgang). Die Art und Weise, wie Sie diese LEDs verbinden, besteht darin, sie parallel miteinander zu verbinden, so dass 5 V mit 5 V an der anderen LED und GND mit der anderen LED verbunden ist GND, DO der ersten LED ist mit DIN der zweiten LED verbunden und dann Dieser Vorgang wird fortgesetzt, bis Sie Ihre gewünschte LED-Streifenlänge erreicht haben. Ein ganzer Neopixelstreifen benötigt nur einen digitalen Ausgangspin vom Eingang, denn DO und DIN sind in einer langen Kette verbunden, so dass sie alle Daten miteinander teilen. Dies ist notwendig, da wir bestimmte LEDs zu bestimmten Zeiten ein- und ausschalten müssen. Eine hilfreiche Anleitung dazu ist NEOPIXEL HELP

Schritt 3: Der Schaltplan

Der Schaltplan
Der Schaltplan

Die Schaltung ist sehr einfach, da der größte Teil des Roboters nur programmiert wird, die Motoren laufen mit einem 1293d-Motortreiber auf nahe 7 V, um die Motoren vorwärts oder rückwärts zu steuern. Die anderen Anschlüsse sind die Sensoren zum Arduino. Und das ist es!

Schritt 4: Der Code

Als erstes habe ich die benötigten Bibliotheken heruntergeladen, um die Codierung etwas zu erleichtern, die von mir verwendeten Bibliotheken sind "FastLED.h" und "NewPing.h". Die schnelle LED ist für die LEDs und die neue Ping für die Ultraschallsensoren. Als nächstes habe ich alle Definitionen für die verwendeten Pins gemacht, danach war das Void-Setup, hier habe ich die Pin-Modi und den Neostrip "FastLED.addLeds(leds, NUM_LEDS);" eingerichtet. Ich habe die NUM_LEDS als 56 definiert, da ich 56 LEDs verwendet habe, werden die Konfigurationen der LEDs im Gesichtsschritt erklärt. Ich habe dann eine Reihe von Funktionen für meinen Roboter erstellt, um sich vorwärts und rückwärts zu bewegen und auch seine bestimmte Emotion zu haben, danach komme ich zur Void-Schleife, hier rufe ich alle meine Funktionen in einer bestimmten Reihenfolge auf, die ich möchte, zum Beispiel Wenn ich wollte, dass mein Roboter lächelt, würde ich smile(); setzen. Wenn ich eine bestimmte LED einschalten wollte, würde ich setzen, leds[45] = CRGB::Green;, wird die LED 45 auf grün gesetzt. Wenn ich die Farbe auf Schwarz stelle, bedeutet es nur aus. Denken Sie daran, dass dies eines meiner ersten Programme ist, also offensichtlich nicht perfekt, aber es funktionierte trotzdem.

DER CODE

Schritt 5: Das Gesicht

Das Gesicht
Das Gesicht

Für das Gesicht habe ich 56 LEDs verwendet, was fast ein voller 3,2 Fuß Neopixel-Streifen ist. Ich schneide den Streifen in 7 Streifen von 8 LEDs, ich habe die ersten 3 Streifen für die Augen und die letzten 4 für den Mund verwendet. Ich habe die Streifen in einer Schlangenform verbunden, mit dem Diagramm werden Sie hoffentlich besser verstehen. Als ich das Gesicht fertig hatte, legte ich dann eine dünne Plastikfolie (ca. 2 mm dick) über die LED-Streifen.

Schritt 6: Glückliche Funktion

Happy-Funktion
Happy-Funktion

Diese Funktion ist die einfachste von allen, da sie keine Sensoren verwendet. Sobald Sie den Bot einschalten, lächelt er Sie sofort an. Aber es lächelt nicht nur; Wenn er lächelt, ist er auch im Hindernisvermeidungsmodus. Der Hindernisvermeidungsmodus wird in meinem Code als Funktion Roam dargestellt. Der Hindernisvermeidungsmodus oder Roaming funktioniert durch die Verwendung von zwei Ultraschallsensoren auf der Roboterseite, wenn der Sensor 30 cm an etwas herankommt, würde er zurückweichen und je nach Sensor, der dem Objekt am nächsten ist, entweder nach rechts oder links gehen.

Schritt 7: Traurige Funktion

Traurige Funktion
Traurige Funktion
Traurige Funktion
Traurige Funktion

Damit der Roboter traurig wird, musste ich mir ein Persönlichkeitsmerkmal für diesen Roboter überlegen, also beschloss ich, ihn traurig zu machen, wenn er in einer dunklen Umgebung ist. Dazu habe ich einen Fotowiderstand verwendet, um Licht zu erfassen. Je dunkler die Umgebung, desto höher der Widerstand und je heller die Umgebung, desto geringer der Widerstand. Die Schaltung arbeitet als Spannungsteiler, das ist eine Schaltung mit zwei in Reihe geschalteten Widerständen zu +5V und GND, am Mittelpunkt der Widerstandsverbindung liegt eine Spannung, die durch diese Gleichung bestimmt werden kann: Eingangsspannung*(R2/R1+R2). Wenn der Arduino Analog Pin diesen Wert liest, wandelt er die Spannung in einen Bereich von 0 bis 1023 um.

Schritt 8: Wütende Funktion

Wütende Funktion
Wütende Funktion
Wütende Funktion
Wütende Funktion

Um den Roboter wütend zu machen, entschied ich mich, ihn umzudrehen. Dies funktioniert mit einem Neigungsschalter, und ein Neigungsschalter ist im Grunde ein normaler Schalter, aber anstelle eines Knopfes oder einer Wippe haben Sie eine Quecksilberkugel, die, wenn sie in einem bestimmten Winkel geneigt wird, die beiden Kontakte verbindet und einschaltet; der Wert daraus ist also entweder 0 oder 1, 0 für aus und 1 für an. Wenn der Roboter wütend ist, ignoriert er auch den Hindernisvermeidungsmodus und rammt aufgrund seiner Wut alles in Sichtrichtung nach vorne.

Schritt 9: Erschrockene Funktion

Angstfunktion
Angstfunktion
Angstfunktion
Angstfunktion

Für die letzte Funktion des Roboters ist die Angstfunktion, die einen Schallsensor verwendet, der direkt auf dem Roboter platziert wird. Immer wenn der Roboter ein Ladegeräusch hört, bekommt er Angst und zittert beim Rückwärtsfahren. Der Schallsensor arbeitet mit einem Kondensatormikrofon, bei dem es sich um ein Mikrofon handelt. Wenn es Geräusche oder Vibrationen wahrnimmt, wird eine kleine Spannung erzeugt, normalerweise etwa 100 mV. Diese Spannung wird dann verstärkt und über den analogen Pin des Arduino gelesen, je höher die Spannung oder lauter der Ton, je höher der Analogwert und umgekehrt.

Schritt 10: Leistung

Leistung
Leistung
Leistung
Leistung

Jetzt, wo Sie alles gebaut haben, was Sie brauchen, um es mit Strom zu versorgen, habe ich ursprünglich versucht, es mit 8 AA-Batterien zu betreiben, aber es war einfach zu sperrig und unpraktisch. Ich habe dann 3 Lithium-Ionen-Batterien verwendet, die jeweils etwa 3,5 V halten, ich habe eine Batterie an einen Aufwärtswandler angeschlossen, der ein Spannungsverstärker ist es zu den Motoren und LEDs, dies ist keine so gute Idee, da die Spannung nicht geregelt wurde, aber ich hatte keinen Spannungsregler herumliegen, wenn Sie versuchen, dies zu bauen, empfehle ich die Verwendung eines Spannungsreglers, der 5 V leisten kann bei etwa 2-3 Ampere ist ein Beispiel dafür der LM78S05. Oder Sie können den LM7805 verwenden, um den Arduino mit Strom zu versorgen und stattdessen einen Abwärtswandler oder Abwärtswandler zu verwenden, um die Spannung zu senken und die LEDs und Motoren mit Strom zu versorgen.

Schritt 11: Viel Spaß !

Ich hoffe, Sie bauen diesen Roboter und haben viel Spaß. Ich hoffe auch, dass Sie diesem Roboter Ihre eigene Note verleihen und Ihre eigenen Emotionen erzeugen, um ihn LEBENDIG zu machen !!!

Empfohlen: