PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sprachmodul für den RP6 mit SpeakJet



basteluwe
17.03.2014, 14:45
Am Wochenende ist mein Sprachmodul für den RP6 fertig geworden. Hier einige Bilder:

27799

27800

27801

Details (falls Interesse) gibt es hier (http://www.galepp.com/basteln/speakjet/speakjet.htm). Video folgt noch, sobald fertig und auf Youtube hochgeladen.

Gruß Uwe

Dirk
18.03.2014, 06:30
Hi Uwe,

interessantes Projekt!
Ich habe es mal im RN-Wissen-Artikel verlinkt: Klick (http://www.rn-wissen.de/index.php/RP6_-_Programmierung#Einzelne_Projekte)

fabqu
18.03.2014, 08:42
Hey Uwe,

gefällt mir sehr gut, was du da gemacht hast!!! Eine Anmerkung: Eine kurze Einkaufsliste wäre für Nachahmer klasse.
Zwar sind so Sachen wie Widerstände und Kondensatoren recht simpel; wo du allerdings das Poti z.B. her hast, wäre der Bauform wegen interessant zu wissen ;)

Grüße!

basteluwe
18.03.2014, 10:37
Nun gibt es auch zwei kleine Videos. Bitte das Volume aufdrehen, sonst hört ihr leider nicht viel. In Wirklichkeit ist die Lautstärke aber dicke ausreichend!

Video 1 (http://youtu.be/eJKt3lv4Zlo)
Hier ist der Demo Modus aktiv. Er wiederholt ständig alle Soundschnipsel, die er von Hause aus kann. Vom USB kommt nur die Spannung.

Video 2 (http://youtu.be/bAUcEHTOxZw)
Hier wird er seriell von der Phrase-A-Lator Software angesteuert. Daten und Spannung kommen über den USB.

Gruß Uwe

- - - Aktualisiert - - -


Eine Anmerkung: Eine kurze Einkaufsliste wäre für Nachahmer klasse.
Zwar sind so Sachen wie Widerstände und Kondensatoren recht simpel; wo du allerdings das Poti z.B. her hast, wäre der Bauform wegen interessant zu wissen ;)
Hallo fabqu,
von den Potis habe ich vor längerer Zeit mal eine Hand voll bei Conrad gekauft. Dieses war noch übrig. Genau den gleichen Typ habe ich da jetzt nicht mehr gefunden aber dieses (http://www.conrad.de/ce/de/product/674846/TT-Electronics-AB-Kohleschicht-Trimmer-HA-06SM065-601040-100-k-stehend-01-W-30-) komm meinem ziemlich nahe. Die Leiterplatten habe ich hier (http://www.ebay.de/itm/280811804212?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649) gekauft. Die Qualität ist wirklich gut.
Für den Rest braucht es sicher keine Stückliste.
Ach ja: die LEDs sind sehr flache rechteckige, die nebeneinander in 2,54mm Lochabstand passen. 3mm runde wären bei mir zu dick gewesen. Ich habe meine irgendwann mal aus einer elektronischen Glückwunschkarte "recycelt" :p

Gruß Uwe

RolfD
21.03.2014, 10:11
Ich hatte bei Fabqus IO-Board - als hier das Brainstorming lief, was man wie drauf baut - schon mal vorgeschlagen ein Speakjet IC dort zu verwenden, bedauerlicher Weise ist das nicht umgesetzt worden. Um so mehr freu ich mich das du sowas umgesetzt hast. Es gibt solche Boards auch für Arduino aber leider existiert auch immer noch kein RP6 Adapterbord für Arduino Shilds. Man ist bisher auf den eigenen Lötkolben & Hirnschmalz angewiesen.
Ich finde Idee und Umsetzung jedenfalls \\:D/ =D>
Gruß

fabqu
21.03.2014, 10:21
Hi!
Um da mal kurz einzuhaken: Ich habs gerade auf die ToDo für eine (eventuelle) V2.0 der Multi-IO gestellt :D
Gerade bin ich leider noch enorm eingespannt in der Uni und einem anderen Projekt: www.rgoesspace.net (http://www.rgoesspace.net). Aber sobald ich wieder Zeit habe (Ende des Sommers?) wollte ich mich da mal ran setzen und auch an meine LabVIEW-Fernsteuerung.

Grüße

basteluwe
01.04.2014, 19:11
Inzwischen bin ich etwas weiter mit meinem Speakjet.
Am Computer und angesteuert von der Hersteller-Software war ja alles kein Problem, aber bevor ich ihn auf den RP6 baue, wollte ich wissen, wie das denn nun mit der Ansteuerung vom eigenen Prozessor funktioniert.
Die Wahl fiel auf einen Mega8 und da ich mit C gerade erst anfange, hab ich es erst mal mit Bascom probiert. Es ist echt simpel:


$regfile "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 9600

Wait 1

Printbin 20 ; 96 ; 21 ; 114 ; 22 ; 88 ; 23 ; 5 ; 191 ; 131 ; 8 ; 187 ; 191 ; 255 'Phrase "Test"

Waitms 500

End
Die 9600er Baudrate ist wichtig, daher muß der Takt 8Mb sein. Mit geringerer Frequenz macht der Speakjet Unfug oder gar nichts!
Nach dem Einschalten meldet sich der SJ immer mit "ready". Das hat der Hersteller verbrochen und hat nichts mit diesem Programm zu tun. Deshalb die Pause von ca. 1 Sek am Anfang des Programs, damit er die Ready-Meldung vernünftig los wird, bevor der programmierte Text kommt.
Der Pintbin Befehl in Bascom sendet die danach gelisteten Daten in binärem Format an die UART Schnittstelle (PD1 = Pin3) des Mega8. Von dort geht's direkt in den SJ (Pin10).
Die Ziffernreihe 20 - 255 im Testprogramm sind die Daten, die an den SJ gesendet werden. Generell ist laut Datenblatt jeder einzelne Befehl eine 3-stellige Zahl (000 - 255). Führende Nullen werden nicht gesendet. Daher gibt es hier auch 1- und 2-Stellige Zahlen. Die erste 20 ist also eigentlich 020 (Befehl für Lautstärke, hier mit Wert 96).
Ab der 191 beginnt die Phrase. In diesem Fall endet sie auch mit einer 191 (Das Wort ist "Test" = t-Laut am Anfang und Ende). Die 255 ist ein Reset-Befehl, der die Einstellungen des SJ wieder zurück setzt.

In diesem Video (http://youtu.be/sPmorFsPVDw) läuft das beschriebene Programm, allerdings erweitert um eine Tastenabfrage für verschiedene Phrasen.

Uwe