Inhaltsverzeichnis:

Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf! - Gunook
Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf! - Gunook

Video: Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf! - Gunook

Video: Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf! - Gunook
Video: Datafox Zutrittsprojekt EVO Intera II (Funk vs. Verkabelung) 2024, Juli
Anonim
Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf!
Bauen Sie einen Arduino-betriebenen sprechenden Roboterkopf!

Dieser Roboterkopf wurde ursprünglich als Jahresabschlussprojekt für meinen physischen Computerkurs gebaut, aber im Laufe des Sommers hat er das Sprechen "gelernt". Der Kopf wird von zwei Freeduinos, 3 TLC5940NT-Chips und einem Wave Shield von Adafruit Industries angetrieben, das Sie hier finden: www.ladyada.net/make/waveshield/. Der Kopf ist derzeit über zwei USB-Kabel mit einem Computer verbunden, eines für die Stromversorgung und eines zum Senden von seriellen Befehlen, was zu sagen / zu senden ist. Sobald der Kopf die eingegebenen Befehle zum Sagen/Emote empfängt, spielt er die einzelnen Wortdateien ab, um einen Satz oder mehrere Sätze zu erstellen. Es ändert auch seine Emotionen entsprechend den vom Computer gesendeten emotionalen Befehlen. Dieser Roboterkopf ist eine Grundlage für viele mögliche Anwendungen, da er alles sagen kann, wofür er das Vokabular hat. Im Moment arbeite ich daran, es mit dem Internet zu verbinden und meine E-Mails per PHP-Skript zu überprüfen und zu lesen. Ich werde dieses Instructable aktualisieren, während ich damit fortschreite. Hier ist ein Video davon in Aktion: Der Kopf ist immer noch ein laufendes Projekt, daher sind Kommentare zu allem hier mehr als willkommen! Besonderer Dank geht an Liz Arum, die mir bei allem geholfen hat! Update: Auf vielfachen Wunsch habe ich jetzt hinzugefügt ein Video des Roboters, der spricht und sich ausdrückt! Genießen Sie in Ihrer Freizeit!

Schritt 1: Kompilieren Sie alle Materialien/Teile/Elektronik

Dieser Roboterkopf verwendet: 1 Steckbrett (Es muss mehr als 48 Reihen lang sein, mit einer Lücke in der Mitte der Platine, um IC-Chips anzuschließen. Ein Strom- und Massebus, der entlang der Seite des Steckbretts verläuft, ist ebenfalls erforderlich.) 2 RGB-LEDs (für die bunten Augen) Gemeinsame Anode. 1,50 - 1,95 $ pro Stück. 2 x 1,75 $ = 3,5036 $ Rote LEDs (für den Mund) irgendwo in der Preisspanne von 40-50 Cent für jede. 36 X $ 0,45 = $16.202 HXT900 Micro Servos (zum Bewegen der Augenbrauen) Zu finden unter: https://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 2 X $3.65 = $7.303 TLC5940NTs (To fahren/leuchten Sie alle LEDs und steuern Sie die Servos) finden Sie bei Digi-key https://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND, wo sie preislich angegeben sind bei 4,28 $. 3 X 4,28 $ = 12,84 $ oder Mouser https://www.mouser.com/ProductDetail/Texas-Instruments/TLC5940NT/?qs=sGAEpiMZZMu8%252bGBKj8XSFEjwsgnt5grMZ49G/W4nR14%3d3 Servos) Geborgen aus einem alten Computer-Netzteil. Free2 Original Freeduinos oder Arduinos. Die Freeduinos können unter https://www.freeduino.org/buy.html gekauft werden. Sie kosten jeweils 23,99. 2 X 23,99 $ = 47,98 $ Oder www.sparkfun.com/commerce/product_info.php für Arduinos. Preis pro Stück 29,95 $. 2 X 29,95 $ = 59,90 $. Achtung: Die Freeduinos erfordern einige Lötkenntnisse, wenn Sie Ihre Platinen nicht löten möchten, dann kaufen Sie einen Arduino. Warnung: Dieses Instructable erfordert sowieso einige Lötkenntnisse, also warum nicht jetzt anfangen?:) 1 Waveshield von Adafruit Industries (Um dem Roboter das Sprechen zu ermöglichen) Kann gekauft werden unter: https://www.ladyada.net/make/waveshield/ Preis je 22 $. Geschätzte Gesamtkosten aller High-Tech-Teile (ohne Versand) wenn Sie Freeduinos anstelle von Arduinos gekauft haben, ist…. $109,82!Die Gesamtkosten aller High-Tech-Teile, wenn Sie Arduinos anstelle von Freeduinos gekauft haben, betragen…. $121.74!Und was die Low-Tech-Materialien angeht, die Sie benötigen: Eine Pappschachtel in der gleichen Größe, die Ihr Kopf haben soll aus HolzBohrmaschine. Wärmeschrumpfschlauch zum Isolieren der freiliegenden Drahtleitungen und etwas, das heiße Luft bläst, um es mit (Heißluftpistole)Kastenschneider zu schrumpfen.

Schritt 2: Alle Leiterplatten und Abschirmungen zusammenbauen und verlöten

Montieren und löten Sie alle Leiterplatten und Abschirmungen
Montieren und löten Sie alle Leiterplatten und Abschirmungen

Löten Sie die Freeduinos (wie ich) oder ignorieren Sie diese Zeile, wenn Sie ein Arduino gekauft haben. Hier ist der Link zu ihrer Montageanleitung für alle Käufer von Freeduinos: mcukits.com/2009/03/12/assembling-the-freeduino-board-kit/Solder the Waveshields. Lady Ada hat eine sehr gute Anleitung dazu auf ihrer Website unter https://www.ladyada.net/make/waveshield/solder.htmlHinweis: Zusätzlich zum Zusammenlöten des Waveshields wie beschrieben. Fügen Sie einen langen Draht hinzu, der auf den Widerstand R7 auf der Seite am nächsten zum Verstärkerchip gelötet ist. Dieser wird mit dem Analogeingang 1 des Freeduino verbunden, der die LEDs des Roboterkopfs steuert. (Mach dir keine Sorgen darüber, wo du das andere Ende des Drahtes stecken sollst, das wird später im Detail erklärt.) Sehen Sie sich das Bild an, um zu klären, wo der Draht gelötet werden soll.

Schritt 3: Entwerfen Sie den Roboterkopf

Entwerfen Sie den Roboterkopf
Entwerfen Sie den Roboterkopf

Nehmen Sie den Karton, den Sie als Kopf gewählt haben, und markieren Sie die Stellen, die Sie für die Augen und den Mund ausschneiden möchten, indem Sie Papierstücke ausschneiden und auf Ihre Schachtel legen. Wenn Sie mit dem Arrangement zufrieden sind, können Sie mit dem Schneiden fortfahren.

Schritt 4: Entwerfen Sie Ihren Roboterkopf: Schneiden Sie die Augen aus

Entwerfen Sie Ihren Roboterkopf: Schneiden Sie die Augen aus
Entwerfen Sie Ihren Roboterkopf: Schneiden Sie die Augen aus

Kleben oder markieren Sie die Stücke an ihrer endgültigen Position auf die Schachtel und schneiden Sie sie aus. (Bewahren Sie das Stück Papier auf, mit dem Sie den Mund dargestellt haben, Sie werden es später brauchen.)

Schritt 5: Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund

Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund
Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund
Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund
Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund
Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund
Entwerfen Sie Ihren Roboterkopf: Erstellen Sie eine LED-Matrix für den Mund

Jede LED im Mund leuchtet unabhängig voneinander. Dazu müssen Sie eine LED-Matrix für den Mund erstellen. (Für eine Idee, was eine LED-Matrix ist, siehe Bild 1) Nehmen Sie das Blatt Papier, das der Mund sein soll, und teilen Sie das Blatt Papier mit einem Bleistift und einem Lineal in 36 Teile (9 x 4) auf. Eine für jede LED im Raster. Nachdem Sie das getan haben, kleben Sie das Stück Papier auf ein Stück Holz und achten Sie darauf, nicht durch den Boden zu bohren (Dies ist mir passiert, daher empfehle ich, auf einem Karton zu bohren.) Bohren Sie Löcher, wo sich die Linien mit einem 1/4-Zoll-Bohrer schneiden, damit Ihre LEDs eng anliegen. Die Größe des Bohrers hängt natürlich von der Größe Ihrer LEDs ab. Verwenden Sie daher einen kleineren Bohrer für kleinere LEDs. (Fang klein an und arbeite dich hoch!) Schauen Sie sich die Bilder 2 & 3 an, um die Bohrungen / Markierungen zu verdeutlichen.

Schritt 6: Herstellung der Mund-LED-Matrix: Löten in den LEDs

Herstellung der Mund-LED-Matrix: Löten der LEDs
Herstellung der Mund-LED-Matrix: Löten der LEDs
Herstellung der Mund-LED-Matrix: Löten der LEDs
Herstellung der Mund-LED-Matrix: Löten der LEDs
Herstellung der Mund-LED-Matrix: Löten der LEDs
Herstellung der Mund-LED-Matrix: Löten der LEDs

Bevor Sie etwas anderes tun, überprüfen Sie, ob alle Ihre LEDs durchgebrannt oder gedimmt sind. Sie können dies tun, indem Sie eine kleine 3-V-Knopfbatterie finden und die Beine der LEDs an die Batterie halten (Denken Sie daran, dass das lange Bein positiv ist, das kurze negativ). Als nächstes setzen Sie die LEDs eine Reihe nach der anderen in Ihre ausgebohrte Rasterlehre ein. Falten Sie die langen Beine parallel zueinander und löten Sie sie Reihe für Reihe ein (Siehe Bilder 2 & 3). Löten Sie die langen Beine zusammen, da Sie TLCs verwenden, um diese LEDs zu steuern, und die TLCs Stromsenken sind. Dies bedeutet, dass sie die LEDs steuern, indem sie die Spannungsdifferenz zwischen Strom und Masse ändern.

Schritt 7: Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs

Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs
Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs
Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs
Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs
Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs
Herstellung der Mund-LED-Matrix: Löten von Steuerdrähten auf die LEDs

Löten Sie lange Drähte, die in ein Steckbrett (22 Gauge) passen, auf alle LED-Kathodenleitungen. Diese Drähte steuern die LEDs. Anschließend alle einzelnen Drähte mit Isolierband (kein Spaß) oder Schrumpfschlauch (empfohlen) isolieren. Zusätzlich zum Löten von Drähten auf alle LEDs Kathodenkabel, löten Sie 2 oder 3 Drähte auf den Anodenteil des Gitters (Das Teil, das alle zusammen gelötet ist). Diese Drähte dienen als Netzteile, die den Strom im gesamten Netz verteilen. Sie werden an 5V angeschlossen.

Schritt 8: Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs

Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs
Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs
Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs
Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs
Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs
Installieren Sie die Servos zum Bewegen der Augenbrauen im Inneren des Roboterkopfs

Bevor Sie Ihre Mini-Servos in Ihren Roboterkopf einbauen, kleben Sie einen langen starken (aber immer noch biegbaren) Draht auf den Servoarm. Dieser Draht wird im Inneren Ihres Roboters nach oben gehen, oben herauskommen und wieder nach unten kriechen, um die Augenbrauen zu bewegen. (Siehe die Bilder zur Verdeutlichung.) Nehmen Sie Ihre Mini-Servos (mit den angeschlossenen Drähten) und kleben Sie sie an die Innenseite Ihres Roboterkopfs, direkt unter den Augen, und stellen Sie sicher, dass sich die Drähte von einer Seite zur anderen bewegen können.

Schritt 9: Installieren Sie das Gitter im Inneren des Roboterkopfs

Installieren Sie das Gitter im Inneren des Roboterkopfs
Installieren Sie das Gitter im Inneren des Roboterkopfs
Installieren Sie das Gitter im Inneren des Roboterkopfs
Installieren Sie das Gitter im Inneren des Roboterkopfs

Kleben Sie das Gitter auf ein Stück Pappe, in das Sie Löcher gebohrt haben, und kleben Sie es auf die Innenseite des Roboterkopfes.

Schritt 10: Löten Sie die RGB-LEDs

Löten Sie die RGB-LEDs
Löten Sie die RGB-LEDs

Löten Sie das gemeinsame Anoden-RGB-LED-Kabel an einen langen Draht. Dann löten Sie ein farbiges Kabel (rot, grün, blau) an das entsprechende RGB-LED-Kabel an (Die Farbe eines einzelnen Kabels kann ermittelt werden, indem eine 3V-Knopfbatterie verwendet wird, um jedes LED-Kabel der Reihe nach zu beleuchten). Vergessen Sie nicht, die Drähte zu isolieren!

Schritt 11: Installieren Sie die RGB-LEDs im Roboterkopf

Installieren Sie die RGB-LEDs im Inneren des Roboterkopfs
Installieren Sie die RGB-LEDs im Inneren des Roboterkopfs
Installieren Sie die RGB-LEDs im Inneren des Roboterkopfs
Installieren Sie die RGB-LEDs im Inneren des Roboterkopfs

Installieren Sie die LEDs im Roboterkopf, indem Sie sie dort platzieren, wo Sie sie haben möchten, und dann die Drähte falten und an die Innenseite der Box kleben. Einen Trinkhalm unter die LED zu legen hilft auch, sie an Ort und Stelle zu halten. (Siehe Bilder zur Verdeutlichung)

Schritt 12: Fertigstellen der Augen

Beenden Sie die Herstellung der Augen
Beenden Sie die Herstellung der Augen
Beenden Sie die Herstellung der Augen
Beenden Sie die Herstellung der Augen

Kleben Sie ein quadratisches Blatt Papier, das etwas größer ist als das ausgeschnittene Loch. Kleben Sie es über das Loch, um das Loch und die LED dahinter abzudecken. Vielleicht möchten Sie auch einige Blätter Papiertuch an die Innenseite der Augenlöcher kleben, um das von den LEDs kommende Licht zu streuen.

Schritt 13: Verdrahten Sie die TLC5940NT-Chips

Verdrahten Sie die TLC5940NT-Chips
Verdrahten Sie die TLC5940NT-Chips
Verdrahten Sie die TLC5940NT-Chips
Verdrahten Sie die TLC5940NT-Chips
Verdrahten Sie die TLC5940NT-Chips
Verdrahten Sie die TLC5940NT-Chips

In diesem Schritt müssen Sie 3 TLC5940NTs miteinander verketten, um insgesamt 42 LED-Ausgänge (36 für den Mund, 6 für die bunten Augen) anzusteuern. Die Leute auf dem Arduino-Spielplatz haben eine sehr gut dokumentierte Anschlussanleitung zum Gänseblümchen Verketten Sie 3 TLC5940NTs miteinander. Hier in komprimierter Form: Arduino Pin 13 -> SCLK (TLC Pin 25) Arduino Pin 11 -> SIN (TLC Pin 26) Arduino Pin 10 -> Blank (TLC Pin 23) Arduino Pin 9 -> XLAT (TLC Pin 24) Arduino Pin 3 -> GSCLK (TLC Pin 18) --------------U------------LED Out 1 | 1 28 | LED-Ausgang 0LED-Ausgang 2 | 2 27 | GNDLED Out 3 | 3 26 | SIN (Ard-Pin 11.)LED Out 4 | 4 25 | SCLK (Ard-Pin 13)… | 5 24 | XLAT (Ard-Pin 9)… | 6 23 | BLANK (Ard-Pin 10)… | 7 22 | Masse… | 8 21 | VCC (5V)… | 9 20 | 2K Widerstand gegen Masse… | 10 19 | 5V… | 11 18 | GSCLK (Ard-Pin 3)… | 12 17 | SOUT (Verbunden mit der SIN des nächsten TLC in der Daisychain)… | 13 16 | XERR-Ausgang 14 | 14 15 | LED Out 15 -------------------------- Hinweis: Wir verketten 3 TLCs, sodass die SIN des ersten TLC mit Arduino verbunden ist Pin 11. Der Rest der TLCs hat ihren SIN mit dem SOUT des davorliegenden TLCs verbunden. Alle BLANKs sind miteinander verbunden (BLANK von TLC1 ist mit BLANK von TLC2 verbunden usw.) Alle XLATs sind verbunden. Alle SCLKs sind verbunden. Alle GSCLKs sind verbunden. Alle XERRs sind verbunden. Schließen Sie auch 2 oder 3 Elektrolytkondensatoren an Masse und Strom des Steckbretts an (Negativ auf dem Kondensator, der auf Masse geht, positiv auf 5 V). Die Ladungsmenge, die es hält, ist nicht so wichtig, aber es sollte für 5 V oder mehr ausgelegt sein. Diese Kondensatoren wirken als Filter und filtern alle Unvollkommenheiten (Rauschen) in der Spannungsversorgung heraus, die die TLCs erzeugen. Dies ist wichtig, da der Waveshield, den wir verwenden werden, die gleiche Masse wie die TLCs hat und WIRKLICH kein elektrisches Rauschen mag (es macht ein seltsames, klickendes Geräusch).

Schritt 14: Verdrahten Sie die LEDs mit den TLCs

Verdrahten Sie die LEDs mit den TLCs
Verdrahten Sie die LEDs mit den TLCs
Verdrahten Sie die LEDs mit den TLCs
Verdrahten Sie die LEDs mit den TLCs

Schließen Sie alle LEDs Reihe für Reihe an die TLCs an, beginnend mit der in der oberen linken Ecke und weiter zur LED direkt rechts. Hier ist ein Raster aller mitgelieferten LED-TLC-Pin-Belegungen. Siehe Bilder zur Verdeutlichung. Mund: 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Jetzt ist auch ein guter Zeitpunkt, um Ihre RGB-LED-Augen an die TLCs anzuschließen, also hier die Pinbelegung… RGB-LED-Augen: Links: RGB Rechts: RGB 36 40 38 37 41 39Nicht vergessen um die universellen Stromkabel für The Grid und RGB LEDs an 5V anzuschließen!

Schritt 15: Verdrahten Sie die Servos mit den TLCs

Verdrahten Sie die Servos mit den TLCs
Verdrahten Sie die Servos mit den TLCs

Verbinden Sie Strom und Masse der Servos mit Strom und Masse auf Ihrem Steckbrett. Verbinden Sie das Steuerkabel des linken Servos (Ihre linke Seite, während Sie dem Roboter zugewandt sind.) an Pin 43 (Denken Sie daran, bei Null zu beginnen.) und das rechte Servo an Pin 44. Sie müssen einen 3,3 K Ohm Widerstand von diesen beiden Pins anschließen auf 5 V, da die TLCs Stromsenken sind und Strom benötigen, um zu sinken.

Schritt 16: Sie betreten jetzt das Land der Software und des Codes! (meist)

Bitte kein Hausfriedensbruch…

Schritt 17: Laden Sie die TLC-Bibliothek herunter

Die neueste TLC-Bibliothek für den Arduino finden Sie auf der Google-Codepage unter: code.google.com/p/tlc5940arduino/. Laden Sie die neueste Bibliothek herunter und fügen Sie den entpackten Ordner "Tlc5940" in [Ordner der neuesten Arduino-Version]/hardware/ ein. Bibliotheken/

Schritt 18: Testen Sie die TLCs

Laden Sie meine serielle Ausdruckstestskizze, die Sie unten herunterladen können. Laden Sie es in das Freeduino und geben Sie einige Befehle in den seriellen Monitor ein, um zu testen, ob das Ganze funktioniert. Hier ist die Liste der Befehle: behappybesadbemadfullmouthlinemouthoffmouthoffeyesbluegreeneyesredeyesblueeyesopenmouthtalkmouth (Es spricht nicht, aber es macht Mundbewegungen)

Schritt 19: Laden Sie die verbesserte Waveshield-Bibliothek mit hoher Kapazität (etwas) herunter

Laden Sie den neuen verbesserten Adafruit Waveshield von Google-Code herunter (Danke Herr Fat16 für die Erstellung dieser verbesserten Bibliothek): code.google.com/p/wavehc/ Stecken Sie den entpackten Ordner erneut in den Ordner hardware/libraries/.

Schritt 20: Formatieren und laden Sie Ihre SD-Karten

Legen Sie Ihre SD-Karten in Ihren Computer ein und formatieren Sie sie mit dem Dateityp FAT oder FAT16. NICHT FAT32! Laden Sie dann Ihre SD-Karten mit Sprachdateien von der großartigen Text-to-Speech-Site von AT&T www.research.att.com/~ttsweb/tts/demo.php#top Benennen Sie die Dateien in den Namen des Wortes um, das in der Datei gesprochen wird, und kürzen Sie dieser Dateiname zu etwas, das 6 oder weniger Buchstaben enthält. (Der Waveshield kann nur Dateien verarbeiten, deren Dateinamen maximal 6 Zeichen lang sind.) Bsp. Wenn Sie die Datei für "Instructables.com" herunterladen -> benennen Sie sie instrc.wavIf hello -> hello.wav

Schritt 21: Testen Sie Ihr Waveshield

Laden Sie meine serielle Waveshield-Testskizze herunter und führen Sie sie aus. Sie sollten in der Lage sein, über das serielle Terminal einen Satz einzugeben und den Waveshield abspielen zu lassen (solange er die benötigten.wav-Dateien enthält). Es nimmt das erste Wort, fügt das ".wav" hinzu und spielt es ab, bevor es zum zweiten übergeht. Beispiel: Sie geben ein: Hallo, mein Name ist Bob Es wird gespielt: hello.wavmy.wavname.wavis.wavbob.wav Hinweis: Testen Sie das Waveshield auf dem anderen Freeduino (dem, das nicht mit den TLCs verbunden ist), da sowohl das Waveshield als auch die TLCs die Pins 13, 12, 11 und 10 (auf dem Freeduino) verwenden. Dies liegt daran, dass diese Pins Hardwareunterstützung für eine Schnittstelle namens Serial Peripheral Interface (SPI) bieten, die sowohl für die TLCs als auch für das Waveshield erforderlich ist. Diese Pins können nicht zwischen ihnen geteilt werden, daher müssen wir zwei Freeduinos über die I2C-Schnittstelle miteinander verbinden, damit sie Informationen zwischen ihnen austauschen können. Mehr dazu in Schritt 22.

Schritt 22: Verdrahten Sie die I2C-Schnittstelle zwischen beiden Freeduinos

Verdrahten Sie die I2C-Schnittstelle zwischen beiden Freeduinos
Verdrahten Sie die I2C-Schnittstelle zwischen beiden Freeduinos

Warten Sie… Warum müssen wir eine I2C-Schnittstelle zwischen zwei Freeduinos verdrahten? Warum können wir das Waveshield und die TLCs nicht einfach in ein Freeduino stecken? Hier ist der Grund: Sowohl das Waveshield als auch die TLCs verwenden die Pins 13, 12, 11 und 10 auf dem Freeduino. Der Grund dafür ist, dass diese Pins Hardwareunterstützung für eine Schnittstelle namens Serial Peripheral Interface (SPI) bieten, die sowohl die TLCs als auch das Waveshield benötigen und nicht teilen können. Das bedeutet, dass wir zwei Freeduinos über eine Art Datenverbindung miteinander verbinden müssen, damit sie beide zusammenarbeiten. Seriell war keine Option, da mein Computer bereits damit mit dem Waveshield Freeduino kommunizierte, so dass ich nach intensivem Googeln eine bemerkenswert bequeme und einfache Kommunikationsmethode fand. I2C! So verdrahten Sie die Schnittstelle: Verbinden Sie den Analogeingangsstift 4 an beiden Freeduinos (Dies ist die SDA- oder serielle Datenleitung.) Verbinden Sie den Analogeingangsstift 5 an beiden Freeduinos (Dies ist die SCL- oder serielle Taktleitung). Verbinden Sie die Masse auf beiden Freeduinos (Sonst funktioniert die I2C-Schnittstelle nicht.) Verbinden Sie den Draht, den Sie zu Beginn dieses Instructable vom Widerstand R7 auf dem Waveshield gelötet haben, mit dem Analogeingangsstift 1 des TLC, der Freeduino steuert (Dieser Draht dient zur Überprüfung der Lautstärke von die vom Waveshield gesprochenen Worte und ist nicht Teil der I2C-Schnittstelle). (Siehe Bild zur Verdeutlichung)

Schritt 23: Aktivieren Sie I2C auf dem TLC, der Freeduino steuert

Aktivieren Sie I2C auf dem Freeduino, mit dem Sie die TLCs gesteuert haben, indem Sie diese Skizze herunterladen. Es empfängt Informationen über Ausdrücke vom Waveshield und überprüft auch die Lautstärke der Sprachausgabe auf dem Waveshield Freeduino und bewegt den Mund, um das Sprechen abhängig von der Lautstärke des gesprochenen Wortes zu simulieren. I2C-Definition: I2C ist auch als TWI bekannt (Two Wire Interface) Es ist eine einfache Möglichkeit, mehrere Geräte (bis zu 128!) Der Roboter blinkt nun wie ein Mensch in Intervallen von 2-11 Sekunden.

Schritt 24: Testen Sie die I2C-Schnittstelle

Laden Sie diese Skizze herunter und laden Sie sie auf das Waveshield Freeduino, es sendet die Worte "behappy"; und dann "Perlen"; über die I2C-Schnittstelle an den TLC, der Freeduino im Zwei-Sekunden-Intervall steuert, was den Roboter hoffentlich im Zwei-Sekunden-Intervall von glücklich zu traurig macht.

Schritt 25: Ihr fast fertig! Nur etwas Code zum Laden…

Laden Sie die endgültige Version des Waveshield Freeduino-Codes. Es sollte alle Wörter, die Sie in den seriellen Monitor eingeben, aufnehmen und aussprechen (sofern die.wav-Dateien dafür vorhanden sind) und Ausdrucksbefehle wie "behappy" übergeben; und "Perle;" auf das Freeduino, das die TLCs über die I2C-Schnittstelle steuert. Hinweis: Die Befehlsliste ist die gleiche für den früheren TLC-Testcode (siehe Schritt 17), außer dass Sie jedem Ausdrucksbefehl ein Semikolon hinzufügen müssen. Bsp. Wenn Sie möchten, dass der Roboter traurig ist und sagt "Ich fühle mich traurig", dann geben Sie ein: besad; Ich bin traurig. Update: Die Waveshield-Skizze verwendet jetzt richtig Satzzeichen (d. h. Punkte und Kommas, aber keine Ausrufezeichen).

Schritt 26: Alles an der Robot Head Box montieren und fertig

Alles an der Robot Head Box montieren und fertig!
Alles an der Robot Head Box montieren und fertig!
Alles an der Robot Head Box montieren und fertig!
Alles an der Robot Head Box montieren und fertig!

Montieren Sie alle Freeduinos mit Drähten auf der Rückseite der Box. Schließen Sie die obere Klappe der Box mit Drähten und fertig! Wenn es nur meine E-Mails checken könnte. Hmmmm……. Vielen Dank für das Lesen dieses Instructable! Kommentare sind immer willkommen zu allem!

Zweiter Preis beim Arduino-Wettbewerb

Empfohlen: