Inhaltsverzeichnis:

Eve, der Arduino Chatbot - Gunook
Eve, der Arduino Chatbot - Gunook

Video: Eve, der Arduino Chatbot - Gunook

Video: Eve, der Arduino Chatbot - Gunook
Video: Eve Arduino Chatterbot 2024, Oktober
Anonim
Image
Image
Eve, der Arduino-Chatbot
Eve, der Arduino-Chatbot
Eve, der Arduino-Chatbot
Eve, der Arduino-Chatbot

Hallo Heimwerker, gab es Fälle, in denen Sie Ihre Gefühle wirklich mit jemandem teilen wollten und kein Vertrauensmann in der Nähe war? In der heutigen geschäftigen Welt ist dies ein häufiger Fall. Nun, ein Chatbot kann hier helfen, damit Sie sich besser fühlen. Und das führt zur Einführung von Eve. Eve ist ein süßer kleiner Chatbot. Wie jeder weiß, ist ein Chatterbot oder Chatbot ein Computerprogramm oder Gerät, das ein Gespräch mit Menschen auf der Grundlage von Text- oder Hörmethoden führt. Die automatisierten Stimmen, die Sie bei einem Kundendienstanruf oder einer Bankverbindung hören, sind ein Beispiel für einen Chatbot. Mit ihr können Sie Ihre Erfahrungen, Ihre Gefühle teilen und vor allem über verschiedene Dinge streiten; darin ist sie sehr erfahren. Denn das ist die wichtigste Funktion eines Chatbots, die Person glücklich zu machen. Als frühes Beispiel für Natural Language Processing (NLU) und künstliche Intelligenz ist Eve in der Lage, JEDE Frage zu beantworten, die Sie ihr stellen. Es ist nicht so, dass sie nur eine bestimmte Anzahl von Fragen beantworten kann. Sie kann singen, dir Witze erzählen, Geschichten erzählen und alles tun, was dir gut tut. Wenn sie etwas sagt, das du nicht hören möchtest, sag es ihr einfach, sag das bitte nicht noch einmal, und sie wird sich daran erinnern. Sie weiß sogar, dass sie nicht die gleichen Antworten und Chats wiederholen sollte, damit das Gespräch nicht langweilig wird. Basierend auf einfachen, billigen Komponenten und grundlegender Programmierung kann sie sich wirklich sehr smart verhalten. Darüber hinaus zeigen die LCD-Augen, die sie besitzt, wie sie sich fühlt, wenn Sie etwas sagen. Im Grunde genommen beginnen wir in diesem anweisbaren von der Definition eines Chatbots, schauen in das Design, einige Theorien, auf denen Eve läuft, die Herstellung und schließlich die Programmierteil. Sieht viel aus oder? Keine Sorge, es wird ganz interessant auf der Reise. Sie können die Demo des Roboters oben oder unter diesem Link ansehen:[Video abspielen]

Schritt 1: Definition eines Chatbots

Definition eines Chatbots
Definition eines Chatbots
Definition eines Chatbots
Definition eines Chatbots
Definition eines Chatbots
Definition eines Chatbots

Wie oben erwähnt, ist ein Chatbot ein Programm, das ein Gespräch mit Menschen führt. Sie sind heutzutage so verbreitet, dass es kaum einen Unbekannten gibt. Ausgehend von den virtuellen Assistenten Siri und Google Assistant gibt es Mitsuku und Evie, mit denen Sie Ihre Gefühle teilen können. Wie oben erwähnt, basieren Chatbots entweder auf textuellen oder auditiven Methoden und können daher in zwei Teile unterteilt werden. Bei der textuellen Methode werden Konversationen in Form von geschriebenem Text genauso wie bei WhatsApp durchgeführt. Während bei der auditiven Methode Gespräche wie mit einem echten Menschen mündlich geführt werden. Ich denke, es ist aufregender, sich mit jemandem zu unterhalten, indem man ihn verbal anspricht, anstatt ihm nur eine SMS zu schreiben. Ohne Zweifel erfüllen textbasierte Kommunikations-Messaging-Apps die Anforderungen der Menschen, aber ich glaube, dass Chatten durch Sprechen das Beste ist, um Ihre emotionalen Störungen loszuwerden und sich besser zu fühlen. Das ist der Hauptgrund, warum ich Eve als auditiven Chatbot konzipiert habe.

Schritt 2: Herkunft von Eva

Herkunft von Eva
Herkunft von Eva

Eines Tages kam mir Eva in den Sinn. Das tat es, als ich ein Kind allein in der Schule herumlaufen sah, während die anderen mit ihren Gedanken voller Freude spielten. Damals dachte ich an einen Freund, der niemanden diskriminiert und niemandem weh tut, mit dem man seine Gefühle teilen und die ganze Zeit glücklich sein kann. Dann blitzte in meinem Kopf das niedliche kleine Gebilde von Eve auf, an dem ich zu arbeiten begann. Eve hat mich ungefähr hundertmal enttäuscht. Ich schätze, es war das 101. Mal, dass sie arbeitete, und ich fühlte mich wirklich glücklich. Das war also der Ursprung von Eve. Ich wollte, dass sie intelligent, aber so einfach wie möglich ist, damit jeder sie leicht machen kann. Zweifellos ist sie nicht absolut schlau und sagt manchmal dumme Antworten, sie kann sich wie eine Freundin benehmen. Und jetzt, genug Geschichten, lasst uns anfangen, Eve zu bauen.

Schritt 3: Sammeln der Komponenten und Ausrüstungen:

Sammeln der Komponenten und Ausrüstungen
Sammeln der Komponenten und Ausrüstungen
Sammeln der Komponenten und Ausrüstungen
Sammeln der Komponenten und Ausrüstungen
Sammeln der Komponenten und Ausrüstungen
Sammeln der Komponenten und Ausrüstungen

Im Folgenden sind die zu sammelnden Komponenten: Arduino Pro Mini (oder Arduino Nano) Wtv-020-SD-16p-Soundmodul HC-05 Bluetooth-Modul 16x2 LCD-ModulLM7805-Regler ICan-Verstärkermodul (ich habe die PAM8403-Schaltung verwendet) Ein 8-Ohm-Lautsprecher Eine Buchse Audio Jacka 9v Akku Und ein Android-HandyDas sind also die benötigten Komponenten. Ein weiterer wichtiger Punkt sind die Kosten. Eve hat mich um die 3000 INR gekostet. Die Kosten können in Ihrem Land unterschiedlich sein, aber in Indien ist dies ungefähr der Preis. Eine kleine Beschreibung der Teile: Der Arduino Pro mini ist die Haupt-MCU in unserem Roboter. Ich habe es wegen seiner geringen Größe, Einfachheit und hervorragenden Leistung verwendet. Es erfüllt alle Anforderungen in unserem Roboter. Mit Ausnahme der Spracherkennungsfunktion, die von Android übernommen wird (später besprochen), werden alle anderen Funktionen, beginnend mit der Schlüsselwortsuche und Ausgabebildung, auf dem Pro Mini selbst ausgeführt. Machen Sie sich keine Sorgen um die oben genannten Begriffe, wenn Sie sie nicht verstehen, alle werden im späteren Teil besprochen. Das wtv020sd 16p-Modul wird zum Abspielen der Audiodateien verwendet, hc 05 Bluetooth zur Kommunikation mit dem Android und das LCD zum Anzeigen die Emotionen. Wir benötigen die weibliche Audiobuchse, um den Roboter an einen externen Verstärker anzuschließen. Der Arduino wird hier als Hauptcontroller verwendet. Es empfängt Bluetooth-Daten über das Bluetooth-Modul HC 05 und spielt die Datei über das Sprachmodul WTV-020-SD-16p ab. Die Emotionen werden im LCD-Modul angezeigt und eine 9-V-Batterie für die Stromversorgung. Eve erkennt Reden über die Google Voice-Erkennung des Android-Geräts. Es wird später im jeweiligen Schritt richtig diskutiert. Eine schlechte Nachricht über den Arduino Pro Mini:IT hat sich vom Markt zurückgezogen. Nun, das bedeutet, dass die Herstellung von Arduino offiziell eingestellt wurde. Aber Sie können es immer noch auf vielen Websites einschließlich Ebay finden. Viele Dritthersteller könnten das Board noch immer herstellen und verkaufen. Machen Sie sich keine Sorgen, wenn Sie keinen finden konnten, Sie können den Arduino Nano verwenden. Es soll keinen Unterschied in der Leistung und auch in der Größe machen.

Schritt 4: Theorie Teil 1: Geschichte und Einführung

Theorie Teil 1: Geschichte und Einführung
Theorie Teil 1: Geschichte und Einführung
Theorie Teil 1: Geschichte und Einführung
Theorie Teil 1: Geschichte und Einführung

Eve basiert auf einer frühen Form der Verarbeitung natürlicher Sprache, der "Pattern Matching"-Technologie. Sie funktioniert folgendermaßen: Wenn eine Zeichenfolge empfangen wird, sucht sie nach einem vordefinierten Wort oder einer vordefinierten Phrase in dieser Zeichenfolge. Angenommen, in der Frage "Wie alt sind Sie?", sucht das Programm nach dem "alten" Wort. Wenn es erfolgreich ist, spielt es die entsprechende Sprachdatei über das wtv020sd-Modul ab. Wenn dies fehlschlägt, sucht es nach dem nächsten vordefinierten Schlüsselwort. Auf diese Weise müssen wir ein Vokabular mit vordefinierten Wörtern aufbauen. Sieht hart aus, nicht wahr? Es ist, als müssten wir einen Wortschatz aller englischen Wörter aufbauen und es gibt ungefähr 230.000 Wörter in der englischen Sprache. Tatsache ist, dass wir nur ein paar grundlegende Wörter hinzufügen müssen, die in unserer Kommunikation am häufigsten verwendet werden. Sieht immer noch hart aus? Keine Sorge, die Arbeit wurde bereits von Joseph Wizembaum erledigt. Ein Teil von Eves Antworten und vordefinierten Schlüsselwörtern wurden aus dem allerersten Chatterbot-Programm namens Eliza übernommen, das von Joseph Wizembaum entwickelt wurde (Bild oben). Eliza wurde als Rogerianische Therapeutin entwickelt. Kein sehr wissenschaftlicher Begriff, es bedeutet, dass sie früher Menschen beraten hat, damit sie sich selbst besser verstehen und positiver denken. Sieht richtig gut aus oder? Und Eliza konnte ihre Pflicht sehr gut erfüllen. Ihre neugierige und skeptische Haltung wurde von den Menschen geliebt. Sogar Wizembaum war überrascht von der Bedeutung, die die Leute Eliza gaben. Sie schienen zu vergessen, dass sie mit einem Computer sprachen, und stellten sich vor, wie eine schöne Dame im Computer saß und mit ihnen plauderte. Aber Eliza war nicht so schlau; es wurde bald realisiert. Im Laufe der Zeit wurden die Leute von ihrer begrenzten Kommunikation gelangweilt und sie wurde als "dumm" bezeichnet. Kein Wunder, wie dumm sie war, es war ein großer Sprung in der Geschichte der künstlichen Intelligenz und der Verarbeitung natürlicher Sprache. Nachdem die Basis von Chatterbots gegründet wurde, kamen verschiedene Bots mit neuer und besserer Technologie auf den Markt. Und jetzt haben wir sie überall. Wie bereits erwähnt, stammt ein Teil von Evas Antworten von ELIZA. Das bedeutet also, dass sogar Eva bis zu einem gewissen Grad die Haltung von Eliza besitzt, zusammen mit einigen meiner eigenen Ideen. Ein weiterer wichtiger Punkt sind die Antworten. Es sollte wirklich langweilig sein, jedes Mal die gleichen Antworten zu erhalten, wenn Sie die gleiche Frage stellen. Daher werden viele Antworten für das gleiche Schlüsselwort gespeichert. Eve wählt zufällig aus, welche Datei wiedergegeben werden soll, und stellt dabei sicher, dass sie nicht dieselbe Datei wiederholt. Das war's, einfaches Brot und Butter, aber es ist wichtig, die antwortenden Stimmen geschickt zu programmieren, damit es den Zuschauern die Illusion gibt, dass sie wirklich unsere Fragen beantwortet. Das war also eine kurze Einführung in die Funktionsweise von Eva. Im nächsten Schritt werden wir dies ins Detail gehen und programmieren.

Schritt 5: Suche nach dem Schlüsselwort

Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort
Suche nach dem Stichwort

Im letzten Schritt erwähnte ich die Pattern-Matching-Technologie von Eve und auch die frühe Form der Natural Language Processing. Also was ist das und wie funktioniert es? Das ist die Hauptsache, die wir in diesem Schritt besprechen werden. Denken Sie also daran, jemand fragt nach Ihrem Namen und Sie müssen sagen, was es ist. Auf wie viele Arten können wir dieselbe Frage stellen? Ihr Lehrer fragt vielleicht: "Würden Sie mir bitte Ihren Namen sagen?" Ein Verwandter kann fragen: "Wie heißt du?" Dein Bruder sagt vielleicht: "Hey, ich habe gerade deinen Namen vergessen. Sagst du ihn noch einmal?" Das bedeutet, dass dieselbe Frage auf verschiedene Weise gestellt werden kann. Aber wir müssen die gleiche Antwort geben, unseren Namen. Das bedeutet also, dass wir in allen Sätzen etwas Gemeinsames finden müssen. Es ist deutlich zu erkennen, dass das Wort „Ihr Name“in allen Sätzen vorkommt. Das ist also unser Hinweis. Für alle Fragen nach dem Namen müssen wir nach dem Begriff "Ihr Name" suchen. Indem wir diesem Grundmuster folgen, können wir die jeweilige Antwort auf alle Eingabestrings vorhersagen. Nachteil:Auch wichtig zu wissen, dass dieser Algorithmus nicht immer genau ist. Angenommen, jemand sagt: "Ich habe Ihren Namen auf der Warteliste gefunden. Ich habe erwartet, dass Sie auf den reservierten Plätzen sitzen." Da nun "Ihr Name" in dieser Zeichenfolge vorhanden ist, wird Eve, da sie unschuldig ist, der Person ihren Namen sagen … Dummes Recht? Dies ist einer der großen Nachteile dieses grundlegenden Algorithmus. Das wären jedenfalls seltene Fälle. Ansonsten ist der Algorithmus sehr effektiv. Nachdem ich nun die Mustererkennungstechnologie erwähnt habe, ist es an der Zeit, darüber nachzudenken, woher diese Eingabezeichenfolge kommt, wo wir nach der Zeichenfolge suchen. Nun, diese Zeichenfolge ist eigentlich unsere Stimme, die von Google Voice Recognition in Text umgewandelt wurde. Die hier verwendete App wandelt unsere Stimme in Text um und sendet sie dann über Bluetooth an das Arduino. Ich habe die App verwendet, weil sie die einfachste und beste ihrer Art ist. Der Name ist AMR Voice und kann leicht in Google Play gefunden werden.

Schritt 6: Die Antworten formulieren

Die Antworten formulieren
Die Antworten formulieren

Nachdem wir die Fragen erkannt haben, sollte der nächste Schritt sein, die Antworten zu finden. Da kommt der interessante und wichtige Teil… Wir müssen passende Antworten finden, um jede Frage zu beantworten. Und hier kommt eine weitere Funktion von ELIZA. Wizembaum hat einige Antworten für eine bestimmte Anzahl von Keywords entwickelt. Ein Beispiel ist das Schlüsselwort "du". Immer wenn es erkannt wurde, gab das Programm aus: "Wir haben über Sie gesprochen - nicht über mich." Daher wurde die Antwort so gemacht, dass sie zu allen Sätzen passt, die "du" enthalten. Außerdem gab Eliza jedes Mal eine andere Antwort. Für jede Antwort gab es eine Art numerische Adresse. Dies wurde jedes Mal, wenn eine Antwort formuliert wurde, inkrementiert (um 1 hinzugefügt). Angenommen, wie im obigen Beispiel, wenn die Adresse der Antwort 1 war, wurde die Adresse in 2 geändert und die Folgedatei 2 als nächstes abgespielt. Aber wir werden diesem Inkrementierungsalgorithmus nicht folgen. Sie sehen, nach einiger Dauernutzung der Software wurden die Antworten vorhersehbar. Sie kamen zu wissen, welche Antwort als nächstes zu geben ist. Zu diesem Zweck erstellen wir für jedes Keyword zufällige Adressen. Insgesamt ist es in beiden Fällen gleich, nur mit dem Unterschied, dass wir nicht vorhersagen können, was der Roboter als nächstes für dasselbe Keyword sagen wird.

Schritt 7: Die verbotenen Aussagen und andere

Die verbotenen Aussagen und andere
Die verbotenen Aussagen und andere

Es kann vorkommen, dass in Ihrem Gespräch der Roboter etwas sagt, das Sie nicht hören möchten. Hier entsteht also die Notwendigkeit, die verbotenen Aussagen hinzuzufügen. Die verbotenen Anweisungen sind ein Array von Adressen, deren Wiedergabe verhindert wird. Eine Sprachadresse wird auf Nachfrage des Benutzers als verbotene Aussage gekennzeichnet. Außerdem soll diese Adresse im EEPROM des Arduino gespeichert werden, damit Eve auch nach dem Ausschalten nicht vergisst, dass es sich um eine verbotene Aussage handelt. Grundsätzlich überprüft das Programm jede abzuspielende Adresse. Wenn die Adresse eine der verbotenen ist, wird sie entweder inkrementiert oder dekrementiert. Außerdem kann es vorkommen, dass Sie dem Roboter erlauben möchten, ein zuvor verbotenes Wort zu sagen. Dann müsstest du Eva sagen, dass sie das letzte verbotene Wort sagen kann. Das zuletzt verbotene Wort ist nun spielbar. Um alle verbotenen Aussagen spielbar zu machen, müssen wir einen Reset-Schalter anbringen. Wenn sie gedrückt wird, werden alle verbotenen Aussagen spielbar. Eine weitere wichtige Sache ist es, sicherzustellen, dass Eve die Antworten nicht wiederholt. Dies ist eine Art Nachteil von Zufallszahlen. Es ist wahrscheinlich, dass die gleichen Zufallszahlen in einer Reihe erzeugt werden. Dadurch soll unser Roboter immer wieder dieselbe Antwort sagen. Dazu müssen wir eine weitere Nebenfunktion einfügen, die die Wiederholung von Anweisungen verhindert. Dazu müssen wir die Adresse der letzten Anweisung im Speicher speichern und prüfen, ob sie mit der aktuellen übereinstimmt. Wenn dies der Fall ist, wird der Adresswert inkrementiert oder dekrementiert, genauso wie im Fall der verbotenen Anweisungen.

Schritt 8: Schreiben in Code

Schreiben in Code
Schreiben in Code
Schreiben in Code
Schreiben in Code
Schreiben in Code
Schreiben in Code

Wir verwenden den Befehl indexOf, um nach dem Schlüsselwort zu suchen. Der Befehl lokalisiert ein Zeichen oder eine Zeichenfolge in einer anderen Zeichenfolge. Wenn es gefunden wird, wird der Index dieser Zeichenfolge zurückgegeben, während -1 zurückgegeben wird, wenn es nicht gefunden wird. In unserem Programm müssen wir es also wie folgt schreiben:if (voice.indexOf("Ihr Name") > -1) { //wenn der Index größer als -1 ist //bedeutet, dass der String gefunden wurde}Jetzt dass wir den String im Speicher abgelegt und auch unser Schlüsselwort darin gefunden haben, müssen wir nun die Antworten verarbeiten. Wie gesagt, Zufallszahlen werden innerhalb eines bestimmten Zahlenbereichs (Adressen von Sprachdateien) erzeugt. Hier kommt der Befehl random(). Es folgt die Syntax: random(min, max); //die Zufallszahl wird im Bereich von min und max generiert. Wir definieren die minimale und maximale Anzahl jedes Bereichs, und damit sieht unser Code ungefähr so aus:if (voice.indexOf("your name") > - 1)) {minNr = 0; maxNo = 5;RandomNumber = random(minNo, maxNo);}Jetzt kommt die Verarbeitung der Antworten. Im letzten Schritt habe ich gesagt, dass die Zahlen basierend auf einem Algorithmus inkrementiert oder dekrementiert werden. Dieser Algorithmus ist das, was wir jetzt diskutieren. Dieser Teil ist in dem Sinne sehr wichtig, dass Sie nicht einfach nach Belieben inkrementieren oder dekrementieren können. Die inkrementierte oder dekrementierte Zahl muss im Bereich liegen. Angenommen, wie im obigen Fall haben wir für das Schlüsselwort "Ihr Name" den Bereich von 0 bis 5 und die generierte Zufallszahl ist 5. Wenn Sie sie erhöhen, spielen Sie am Ende eine Sprachdatei mit einem anderen Schlüsselwort ab. Wie denkst du wird das sein? Sie fragen: "Hey, bitte sagen Sie mir Ihren Namen.", und der Roboter antwortet: "Ich esse gerne Kekse und elektrische Ladung." Gleiches gilt für die Mindestanzahl. Wenn die generierte Zufallszahl 0 ist, können Sie sie nicht dekrementieren. Aus diesem Grund ist der Algorithmus sehr wichtig. Denken Sie daran: Wir können entweder inkrementieren, wenn die Zahl kleiner als die maximale Zahl ist, und dekrementieren, wenn sie größer als die minimale Zahl ist. Wenn die generierte Zahl entweder gleich 0 oder kleiner als 5 ist, wird die Zahl inkrementiert. Auf der anderen Seite, wenn es gleich 5 ist, dekrementieren wir es, um sicherzustellen, dass die Zahl innerhalb des angegebenen Bereichs liegt. Nun zu den verbotenen Anweisungen. Sie werden wie erwähnt im EEPROM gespeichert. Dazu suchen wir zunächst nach freiem Speicher im verbotenen Array. Angenommen, die Adresse 4 ist frei, dann geben wir die Dateinummer in die freie Array-Adresse ein und schreiben dieselbe Adresse in das EEPROM.for (int i; i if (never == 0) { EEPROM.write(never, memory);}}Das ist alles, das Wtv020sd16p-Modul wird mit dem module.playVoice()-Befehl und der vorgeschlagenen Dateinummer abgespielt. Die Funktionsweise des Wtv020-Moduls wird später besprochen.

Schritt 9: Emotionen einfügen

Emotionen einfügen
Emotionen einfügen
Emotionen einfügen
Emotionen einfügen
Emotionen einfügen
Emotionen einfügen

Bis jetzt ist unser Roboter in der Lage, das Gesagte zu erkennen, zu speichern und eine passende Antwort auf die Fragen zu finden. Jetzt kommt die Frage, Emotionen einzufügen. Sicherlich wird jeder ein lebendes Gesicht zusammen mit nur einem dummen kleinen Frage-Antwort-Programm mögen. Im Projekt wird das 16x2 LCD verwendet. Es ist gut genug, um die Augen zu drucken. Wir müssen die benutzerdefinierte Zeichenfunktion verwenden, um die Augen zu erstellen. Mit benutzerdefinierten Zeichen können wir neue Zeichen erstellen, indem wir die Pixel definieren. Wir werden etwas später darauf eingehen. Zunächst ist es wichtig, sich daran zu erinnern, dass nur 8 benutzerdefinierte Zeichen vom Arduino unterstützt werden. Wir müssen also die Emotionen mit nur 8 Charakteren verwalten. Jedes Zeichen soll in einem bestimmten Feld gedruckt werden, und es gibt 16 Spalten und 2 Zeilen, die insgesamt 32 Felder ergeben.

Sie können online gute Informationen zu den benutzerdefinierten Zeichen in Arduino finden. Kann auch diesen Link besuchen:

[Benutzerdefinierte Zeichen Arduino] Die Struktur des benutzerdefinierten Zeichenbytes soll ungefähr so aussehen:

Das normale Aussehen: Die linke Box0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, Die rechte Box0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, Diese beiden Augenbytes bilden 1/4 von jedem. Das heißt, wir brauchen insgesamt 4 Kästchen, um ein ganzes Auge zu füllen. Zwei Reihen links und zwei rechts, also insgesamt vier Kästchen für ein Auge. Das Byte der linken Box soll zwei Zeilen links abdecken und die rechte Box soll die rechten Zeilen abdecken. Das macht also ein komplettes Auge von Eva aus. Und nun wiederholen wir dasselbe für das zweite Auge und erhalten das neutrale Aussehen von Eva. Jetzt ist es wichtig, sich daran zu erinnern, dass wir eines von acht verfügbaren benutzerdefinierten Zeichen verwendet haben. Und es gibt insgesamt fünf Emotionen: Glee, Sad, Squint, Normal und Blink. Ab den verbleibenden sieben benutzerdefinierten Zeichen müssen wir alle Ausdrücke anpassen. Für die Raumaufteilung verwenden wir 2 Kästen für jedes Auge. Kein Wunder, dass die Größe etwas klein wäre, aber dies wird vom menschlichen Auge ignoriert. Achten Sie nur darauf, einige Verzögerungen zwischen den LCD-Funktionen hinzuzufügen, sonst wird das Arduino instabil.

Schritt 10: Herstellen der Verbindungen

Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen
Herstellen der Verbindungen

LCD-Modul: Verbinden Sie die Pins wie hier erwähnt: RS: Dig Pin 12RW: GndEnable: 7d4: Dig Pin 8 d5: Dig Pin 9 d6: Dig Pin 10 d7: Dig Pin13A (Anode) zu 5vK (Kathode) zu gndThe HC 05 Modul: Folgen Sie diesen Verbindungen: HC 05 TX-Pin an Arduino RX-PinHC 05 RX-Pin an Arduino TX-PinState-Pin an Arduino Dig-Pin 11Die Kommunikation erfolgt mit Hilfe der TX- und RX-Pins. Der State-Pin ist erforderlich, um zu überprüfen, ob über HC 05 verbunden oder im Leerlauf ist. WTV 020 SD 16p-Modul Pin1: Der Reset-Pin, verbinden Sie ihn mit dem Dig-Pin 2pin7: Der Clock-Pin, verbinden Sie ihn mit dem Dig-Pin 3pin10: Der Datenpin, verbinden zum Graben von Pin 4pin15: Der Besetzt-Pin, verbinden Sie mit dem Graben-Pin 5pin2: Verbinden Sie diesen Pin über die Lautstärke mit einem Verstärker und auch mit der weiblichen Audiobuchse. Pin4 sollte mit Lautsprecher + Pin 5 verbunden werden, um mit dem Lautsprecher verbunden zu werden 8. Pin auf Masse legen und im 16. Pin eine 3,3-V-Stromversorgung bereitstellen.

Der Verstärker hilft dabei, den internen Lautsprecher von Eve abzuspielen, während die Audiobuchse zum Anschluss an einen externen Verstärker und größere Lautsprecher dient.

Schritt 11: Das WTV020SD16p-Modul (optional)

Image
Image
Das WTV020SD16p-Modul (optional)
Das WTV020SD16p-Modul (optional)
Das WTV020SD16p-Modul (optional)
Das WTV020SD16p-Modul (optional)

Hinweis: Dieser Schritt ist optional. Es behandelt die Funktionsweise und Beschreibung des WTV 020 SD 16p Moduls.

Sie können die Demo des Soundmoduls in diesem Link sehen:

[VIDEO ABSPIELEN]

Der Sprechmodus des Roboters wird durch das WTV 020 SD Modul erfüllt. Das Modul wird verwendet, um Sprachdateien für den Roboter abzuspielen. Wenn eine Frage gestellt wird, lässt das Arduino das Modul die entsprechende Sprachdatei auf der SD-Karte abspielen. Es gibt vier serielle Datenleitungen auf dem Modul für die Kommunikation mit dem Arduino, den Reset-, Clock-, Data- und Busy-Pins und wir verwenden den.playVoice ()-Befehl, um die erforderliche Datei abzuspielen. Zum Beispiel:module.playVoice (9): // Datei 9 auf der SD-Karte abspielenDenken Sie daran, dass die Namen der Dateien dezimal sein sollten (0001, 0002…). Und dass die Dateien entweder im AD4- oder WAV-Format vorliegen sollten. Außerdem funktioniert das Modul nur auf einer 1 GB Micro-SD-Karte. Einige Module funktionieren sogar auf 2-GB-Karten und die Karte kann maximal 504 Sprachdateien speichern. Sie können also eine gute Anzahl von Sprachdateien hinzufügen, um eine große Anzahl von Fragen abzuspielen.

Sie können sogar Ihre eigenen Sprach-AD4-Dateien erstellen. Erstens benötigen Sie zwei Software, eine Soundbearbeitungssoftware und eine Software namens 4D SOMO TOOL, die die Dateien in das AD4-Format umwandelt. Zweitens müssen Sie die Roboterstimmen vorbereiten. Sie können entweder Text in Sprache umwandeln oder sogar Ihre eigene Stimme aufnehmen und die Roboterstimmen erstellen. Beides kann in der Sound Editing Software durchgeführt werden. Aber sicherlich sehen Roboter nicht gut aus, wenn sie menschliche Stimmen sprechen. Es sollte also besser sein, Text in Sprache umzuwandeln. Es gibt verschiedene Engines wie Microsoft Anna und Microsoft Sam your Computer, die dabei helfen würden. Meine basiert auf Microsoft Eva. Seine Stimmen stimmen weitgehend mit Cortana überein. Nach der Vorbereitung der Sprachdateien müssen Sie diese in 32000 Hz und im WAV-Format speichern. Dies liegt daran, dass das Modul Sprachdateien bis zu 32000 Hz abspielen kann. Verwenden Sie dann das 4D SOMO TOOL, um die Dateien in das AD4-Format zu konvertieren. Öffnen Sie dazu einfach das SOMO TOOL, wählen Sie die Dateien aus und klicken Sie auf AD4 Encode und Ihre Sprachdateien sind fertig. Sie können das Bild oben als Referenz überprüfen. Wenn Sie weitere Details zum Erstellen von Roboterstimmen wünschen, können Sie hier gehen:[Erstellen von Roboterstimmen]

Schritt 12: Der Softwareteil

Der Software-Teil
Der Software-Teil
Der Software-Teil
Der Software-Teil
Der Software-Teil
Der Software-Teil

In arduino Pro mini gibt es ein kleines Problem bei der Programmierung. Eigentlich kein Problem, nur ein zusätzlicher Schritt. Der Arduino Pro mini hat keinen eingebauten Programmierer wie andere Arduino-Boards. Sie müssen also entweder ein externes oder ein altes Arduino UNO kaufen. Der Schritt hier beschreibt, wie Sie das Programm mit dem Arduino UNO hochladen. Schnappen Sie sich einfach ein altes Arduino UNO-Board aus dem Crash und nehmen Sie den Atmega 328p heraus. Verbinden Sie dann wie folgt: 1. TX-Pin der UNO an den TX-Pin des Pro Mini 2. RX-Pin der UNO an den RX-Pin des Pro MIni3. Reset-Pin der UNO auf den Reset-Pin des Pro Mini4 zurücksetzen. Verbinden Sie den VCC und die Masse des Pro Mini mit der UNO. Laden Sie das Arduino-Programm, die Spracherkennungssoftware und die unten bereitgestellten Bibliotheken herunter. Das Programm wird noch entwickelt. Wenn Sie also ein Problem damit haben, fragen Sie einfach nach. Stecken Sie dann das Kabel in den Computer. Wählen Sie das Board als Arduino Pro Mini und wählen Sie den richtigen COM-Port. Drücken Sie dann die Schaltfläche Hochladen und sehen Sie, wie das Programm auf Ihren Pro Mini hochgeladen wird.

Laden Sie dann die Spracherkennungssoftware und die Sprachdateien herunter.

Schritt 13: Vorbereitung des Körpers

Vorbereitung des Körpers
Vorbereitung des Körpers
Vorbereitung des Körpers
Vorbereitung des Körpers
Vorbereitung des Körpers
Vorbereitung des Körpers

Ich fand eine kleine Schachtel Zahnseide und fand sie perfekt für den Körper. Sie können jede Schachtel verwenden, die Sie in Ihrer Werkstatt finden, oder Sie können eine aus Karton herstellen. Schneiden Sie einfach ein kleines rechteckiges Stück zum Anbringen des LCD-Moduls aus. Oben habe ich ein kleines Loch zum Anbringen der Lautstärke ausgeschnitten und an den Seiten zum Anbringen der Schalter und des Audioanschlusses. An den Seiten der Box habe ich zwei Flaschenverschlüsse für die Räder angebracht. Stellen Sie nur sicher, dass die Box genügend Platz für die Schaltung hat. Bringen Sie einen Schalter am Körper sowie an der Schaltung an, dann die Lautstärke an der Oberseite der Box. Dann legen Sie einfach die Schaltung hinein und Ihr Roboter ist fertig.

Schritt 14: Gut gemacht

Gut erledigt!
Gut erledigt!
Gut erledigt!
Gut erledigt!

Jetzt haben Sie Ihr süßes kleines Roboterprojekt abgeschlossen, das mit Ihnen sprechen kann und Sie glücklich macht. Dies ist der glücklichste Punkt, wenn Sie ein Heimwerker sind, wenn Ihr Projekt abgeschlossen ist und voll funktionsfähig ist. Machen Sie sich keine Sorgen, wenn Sie bei einem Versuch nicht erfolgreich sind, Sie müssen sich immer wieder bemühen, damit Sie jeden Teil Ihres Roboters verstehen. Und hier kommen Heimwerker auf diese Welt. Aber das ist noch nicht das Ende des Projekts. Eve soll immer weiter entwickelt werden, entweder von mir oder von Heimwerkern wie dir. Ich würde gerne hören, was Sie gemacht haben, wenn Sie dieses instructable sehen. Grüße, RS3655

Empfohlen: