- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Sprachsteuerung für Roby!!!?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2003
    Ort
    Aachen
    Alter
    45
    Beiträge
    19

    Sprachsteuerung für Roby!!!?

    Anzeige

    Praxistest und DIY Projekte
    Hallo !
    Ich habe an meinem Roby ein Spracherkennungsmodul (VD 364 ) angebaut,
    das Programm habe ich von dem Projekt Lallus (WDR Computerclub).
    Verbunden habe ich das Spracherkennungsmodul mit Port 9 – 12 über 4 Pull Up
    Widerständen mit dem Roby.Mit dem Programm und der Seriellen Schnittstelle
    kann ich im Hyper Terminal Worte b.z.w Befehle speichern und erkennen lassen.
    Wen das Spracherkennungsmodul Worte die ich vorher gespeichert habe (bis zu 60 Worte)
    Erkennt dann gibt er über das Terminal z.b die Kennung 255 3 0 1 4 aus.
    Die Kennung setz sich wie folgt zusammen - Synchronbyte 255, Längenbyte 3, 0 = kein Fehler,1 ist die Zeigerposition, Checksum 4.
    So jetzt meine Frage an euch wie kann ich die Antwort umsetzten so das ich damit dem Roby steuern kann b.z.w das er auf die Befehle eine Funktion durchführt????

    Vielen Dank schon mal im voraus!!!!!

    Hier das Programm
    Code:
    define reset port[9]
    define shs port[10]
    define data port[12]
    define mhs port[11]
    define wert byte
    define anzahl byte
    define check byte
    define i byte
    define j byte
    define offset byte
    define taste byte
    define segment byte
    define wort byte
    define manda byte
    define erkannt bit[192]
    define speek bit[191]
    define sagen bit[190]
    #init
    deact shs : reset =off : reset =on
    pause 30
    #anzeige
    print
    print "Namen erkennen <A> [B] Pointer lesen"
    print "Namen trainieren <C> <D> Kommunikation ??"
    print "Get Entry status <E> <F> Version abfragen"
    print "Wort sagen <G> <H> Directory lesen"
    print "Startbeep ein [I] <J> Startbeep aus"
    print "Increment pointer<K> <L> Decrement pointer"
    print "Clear current p. <M> <N> Swap curr. pointer"
    print "Restore curr. p. <O> 
    
     Delete curr. entry"
    print "Delete all words <Q> <R> Power down !RESET!"
    print "NEAR <S> <T> FAR"
    print "QUIET <U> <V> AUTOMOTIVE"
    print "Speech (PWM) aus <W> <X> Speech (PWM) ein"
    print "Automatik ein <Y> <Z> Automatik aus"
    print "Menüanzeige <Leertaste>"
    print
    #main
    taste=0
    if not rxd then goto main
    get taste
    if taste=32 then goto anzeige
    if taste <65 then goto main
    if taste >96 then taste = taste-32
    offset = (taste-65)*5
    if offset = 120 then goto automatik
    if offset=30 then sagen =on
    if sagen=on then goto sprechen else goto ausführen
    #sprechen
    print "Mandatory prompt list <0> "
    print "Optional prompt list <1> "
    input manda
    if manda>1 then goto sprechen
    if manda = 0 then print "Das gewünschte Wort (1 -208) eingeben."
    if manda = 1 then print "Das gewünschte Wort (1 -240) eingeben."
    input wort
    #ausführen
    print "Kommando"
    looktab command,offset,anzahl
    wert=255 : gosub schreiben
    wert = anzahl + 1 : gosub schreiben
    check = wert
    for j = 1 to anzahl
    looktab command,j+offset,wert
    if sagen=on and j=2 then wert=wort
    if sagen=on and j=3 then wert=manda
    check = check + wert
    gosub schreiben
    next j
    sagen=off
    manda=0
    wert=check : gosub schreiben
    print
    #antwort
    print "Antwort"
    gosub lesen : gosub lesen
    anzahl=wert
    for j = 1 to anzahl
    gosub lesen
    next j
    print
    goto main
    #lesen
    wert=0
    deact data
    for i = 7 to 0 step -1
    wait not shs
    if data then wert = wert + (1 shl i)
    mhs = off : wait shs : mhs = on
    next i
    print wert;" ";
    return
    #schreiben
    for i = 7 to 0 step - 1
    if wert and 1 shl i then data =on else data = off
    wait shs
    mhs = off
    wait not shs
    mhs = on
    wait shs
    next i
    print wert; " ";
    return
    #automatik
    offset = 0
    if rxd then get taste
    if taste=90 or taste=122 then goto anzeige
    if taste >96 then taste=taste-32
    if taste =91 then goto anzeige
    print "Kommando"
    looktab command,offset,anzahl
    wert=255 : gosub schreiben
    wert = anzahl + 1 : gosub schreiben
    check = wert
    for j = 1 to anzahl
    looktab command,j+offset,wert
    check = check + wert
    gosub schreiben
    next j
    wert=check : gosub schreiben
    print
    print "Antwort"
    gosub lesen : gosub lesen
    anzahl=wert
    for j = 1 to anzahl
    gosub lesen
    if j=1 and wert=0 then erkannt=on
    next j
    print
    if erkannt=on then goto erkannt
    goto automatik
    #erkannt
    erkannt=off
    print "Erkennung"
    wert=255 : gosub schreiben
    wert=2 : gosub schreiben
    wert=38 : gosub schreiben
    wert=40 : gosub schreiben
    print
    print "Antwort"
    gosub lesen : gosub lesen
    anzahl=wert
    for j = 1 to anzahl
    gosub lesen
    if j=2 then segment=wert+1
    next j
    print
    print "Erkennung"
    wert=255 : gosub schreiben
    wert=5 : gosub schreiben
    wert=48 : gosub schreiben
    wert=90+segment:gosub schreiben
    wert=1 : gosub schreiben
    wert=1 : gosub schreiben
    wert=5+48+90+segment+1+1: gosub schreiben
    print
    print "Antwort"
    gosub lesen : gosub lesen
    anzahl=wert
    for j = 1 to anzahl
    gosub lesen
    next j
    print
    goto automatik
    table command
    4 16 121 0 1 ' recognize word
    1 38 0 0 0 ' return pointer
    4 2 121 0 1 ' train a name
    1 0 0 0 0 ' no operation
    1 42 0 0 0 ' get entry status
    1 1 0 0 0 ' get version
    3 48 7 0 0 ' say a prompt
    1 43 0 0 0 ' query directory
    3 65 8 1 0 ' beep ein
    3 65 8 0 0 ' beep aus
    1 33 0 0 0 ' increment pointer
    1 34 0 0 0 ' decrement pointer
    1 32 0 0 0 ' clear current pointer
    1 37 0 0 0 ' swap current pointer
    1 36 0 0 0 ' restore current pointer
    1 39 0 0 0 ' delete current entry
    2 40 85 0 0 ' delete all stored words
    1 64 0 0 0 ' power down
    3 65 0 254 0 ' environment near
    3 65 0 255 0 ' environment far
    3 65 0 243 0 ' environment quiet
    3 65 0 12 0 ' environment automotive
    3 65 7 1 0 ' speech pwm aus
    3 65 7 2 0 ' speech pwm ein
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken roby_210.jpg  

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.01.2004
    Ort
    München
    Alter
    74
    Beiträge
    214
    Was ist denn das VD364? Wo gibt's das, und was kostet es?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2003
    Ort
    Aachen
    Alter
    45
    Beiträge
    19
    Hallo,

    das Modul gibt es unter anderen bei Conrad Kostet 51 €. Die Bestellnummer ist 189150-14
    Hier die Beschreibung von Conrad-

    Die Technik des Moduls liefert eine Spracherkennungs-Technologie in einem kostengünstigen, flexiblen Modul-Format. Das Spracherkennungs-Modul kann schnell und einfach in bereits existierende Produkte oder neue Entwicklungen eingebettet werden. Es kann sowohl im Stand-Alone-Modus (pin-konfigurierbar) als auch zur Anbindung an einen Mikroprozessor für die Signalweitergabe betrieben werden. Mit einem Minimum an externer Beschaltung ist es ideal für eine Vielzahl von Konsumerprodukten geeignet (elektrische Schalter, Desktop-Anwendungen, Geräte mit Sprachaktivierung usw.). Die vorher eingelernten Worte werden mit einer Genauigkeit von mehr als 99% erkannt. Weiterhin kann die Sensitivität der Personen-Stimmenerkennung über einen externen Dip-Schalter eingestellt werden. Dadurch ist es möglich, dass ein Befehl sowohl von mehreren Personen oder nur von einer berechtigten Person akzeptiert wird und ein Schaltvorgang ausgelöst wird. Aktiviert wird dieses Modul ohne zusätzliche Synchronisation aus dem Kontext! Die Ansagetexte des Moduls sind in Deutsch gespeichert. Technische Daten: Betriebsspannung 5,0 V · Imax = 20 mA · Betriebstemperatur -20 bis +70 ºC. Im Lieferumfang enthalten ist das Spracherkennungs-Modul, ein Spezialmikrofon, ein Lautsprecher und eine ausführliche, deutsche Anleitung mit Schaltungsbeispielen.

    Jetz nochmal meine Frage, kann mir jemand bei dem Programm helfen!!!!!!!!!!!!!!!

    mfg Christian

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.01.2004
    Beiträge
    222
    Ich kann dir leider nicht helfen,
    aber ich hab ma kein Conrad geschaut, da gibt es ein Spracherkennungs-IC für 3,55 ?. Wie man den jetzt ansteuern muss weiß ich net.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    68
    Beiträge
    398
    Hallo chris!
    Was nutzt eine Spracherkennung, die nur in ein Meter Stimmen erkennt?
    Und was soll sie auf Robby?
    Bei dem Geräuschpegel?
    Wie willst Du den da deine Stimme erkennen?
    MfG
    janpeter

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2003
    Ort
    Aachen
    Alter
    45
    Beiträge
    19
    Hallo JanPeter,
    ich bin Neuling auf diesem Gebiet und habe mir Weinachten den Roby gekauft .Habe noch nicht viel erfahrung auf diesem , es macht mir aber sehr viel Spaß !
    Das Spracherkennungsmodul habe ich mal vor nen Jahr gekauft- so zum rumspielen wie auch der Roby, nun habe ich mir gedacht wenn das ja so bei mir rumliegt könnte ich es ja mal mit dem Roby verbinden.
    Das das Spracherkennungsmodul keine große Reichweite hat u. das man es vergessen kann wenn er fährt- das ist mir schon klar,ich habe an so einfache Dinge gedacht wie das man ihn sagen kann drehe dich oder fahre vorwärts eine bestimmte Strecke u.s.w.
    Ich möcht ja nur das mir mal jemand helfen kann bei der Programmierung.
    Wie kann ich aus irgend welchen emfangenen Zahlen vom Spracherkennungsmodul auf dem Hyper Terminal den Roby Steuern?????
    Es wäre schön wenn mir jemand mir nen bischen helfen könnte!!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    05.01.2004
    Ort
    Waldenbuch
    Alter
    53
    Beiträge
    63
    Hallo Chris,
    ich versteh dich nicht ganz, du bekommst schon die erkennung eines wortes ueber die rp5 RS232 auf dem hyperterminal angezeit?
    dann ist es doch ein leichtes diese kennung auszuwerten, dann brauchst du doch nur noch für 2s die motoren anzusteuern in die richtung des erkannten wortes und das wars. Aber du musst ein anderes Problem haben?!

    Bernd

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2003
    Ort
    Aachen
    Alter
    45
    Beiträge
    19
    Hallo,
    vielen Dank für deine Antwort,
    ich bin Anfänger und blicke irgend wie nicht dahinter wie ich mit den emfangenen Daten den Roby steuern kann.
    -was bedeutet segment byte,wort byte manda byte,anzahl byte???
    -ich kann mit den emfangenen Zahlen nicht so richtig was anfangen ?
    -wie funktioniert das mit dem Hypertiminal das aus Bits 0 u. 1Zahlen werden?
    Bitte helft mir?????

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    05.01.2004
    Ort
    Waldenbuch
    Alter
    53
    Beiträge
    63
    hallo chris,
    puh das sind aber viele unklarheiten auf einmal. Wenn du anfangen willst Roboter zu programmieren, solltest du dir erst mal ein Buch kaufen um einmal die grundlagen des programmierens zu lernen. Alle Sprachen fangen dann mit dem Thema bit, byte usw an. Letztendlich ist es egal ob du mit basic, c oder sonstnochwas anfaengst.
    Dann lern mal schoen,
    Bernd

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2003
    Ort
    Aachen
    Alter
    45
    Beiträge
    19
    Hallo,
    ich habe mir in der letzten Zeit einige Bücher über Programmieren angeschaut,leider war nicht´s passendes für mich dabei! Kann mir jemand ein gutes Einführungsbuch empfehlen????
    Was ist das eigendlich für ne Programmiersprache für Robi cc-Basic???? ,warum findet man keine Bücher darüber????
    Im Handel gibt es nur c,c#,c++ Visual Basic u.s.w!!!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad