-
        
+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Bei RN-Speak Adressierung nicht möglich

  1. #1

    Bei RN-Speak Adressierung nicht möglich

    Hallo,
    nach dem Aufbau des RN_Speak Moduls habe ich folgendes Problem:
    Das Aufspielen der Sounddaten verlief problemlos.
    Die Funktionen über die RS232 Schnitstelle mit den Befehlen RNP (Play) sowie RNQ (Reset) und RNH (Hilfe) konnten angesprochen werden.
    Beim Komando RNM (Message) jedoch zeigt das Modul keine Funktion.
    Bei der Eingabe von RNM erscheint die Meldung "Message(Zahl)".
    Nach Eingabe einer Zahl von 0....253 sollte hier die Ausgabe der dort abgelegten Sounddatei erfolgen. Hier tut sich leider nichts
    Bitte um Hilfe
    Danke
    Kämmi

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Die Zahl muß binär übermittelt werden. Übe rein Terminalprogramm ginge das zum Beispiel schlecht.
    Wenn Du zum Beispiel die Message 15 abrufen willst, so müsste "RNM" und danach der Basic Befehl CHR(15) benutzt werden.
    Dann klappts!

    Gruß frank

  3. #3
    Hallo Frank,
    vielen Dank für die schnelle Antwort. Leider hat es nicht geklappt.
    Ich habe jetzt den RN-Speak huckepack auf den RNBFRA V1.2 montiert und am I2C Bus
    angeschlossen. Alle mitgelieferten Testprogramme zum RNBFRA V1.2 laufen fehlerfrei.
    Evtl. lässt sich der RN-Speak mit Bascom über die I2C Schnittstelle besser ansprechen.
    Da ich erst angefangen habe, mich mit Bascom zu beschäftigen, wäre ich für ein kleines
    Beispielprogramm zur Ansteuerung des RN_Speak über den RNBFRA V1.2 Controller sehr dankbar.
    Gruß
    Kämmi

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi,

    also das mit dem RS232 Befehl muß eigentlich auch gehen, vieleicht kannst du bei Gelegenheit mal deinen Code zur Ansteuerung posten.

    Was I2C betrifft, so hab ich fertiges Demo auf die schnelle gerade nicht zur Hand. Aber ich poste mal einige Bascom Unterroutinen aus einem meiner Programme. Die könnte man sowohl bei RN-Control oder RNBFRA nehmen.
    Am besten ein einfaches Grunddemo nehmen und ergänzen. Wichtig ist eigentlich nur noch das die I2C-Ports und QUarzfrequenz richtig festgelegt wird. Ansonsten kann man sich schnell ein Demo zimmern.


    Code:
    Declare Sub Spreche(byval Message As Byte)
    Declare Sub Sprechezahl(byval Zahl As Integer)
    Declare Sub Sprechelongzahl(byval Zahl As Long)
    Declare Sub Spreche_begruessung
    
    
    Sub Spreche(message As Byte)
      I2cstart
      I2cwbyte &H52
      I2cwbyte Message
      I2cstop
      Waitms 50
    End Sub
    
    'Für Temperaturansage nützlich
    Sub Sprechezahl(zahl As Integer)
       If Zahl < 0 Then
          Spreche 32                                            'Minus
       End If
       Zahl = Abs(zahl)
       If Zahl < 31 Then
          Me = Zahl + 1
          Spreche Me
       Else
          S = Str(zahl)
          Le = Len(s)
          For I = 1 To Le
             Zeichen = Mid(s , I , 1)
             Me = Val(zeichen)
             Me = Me + 1
             Spreche Me
             Spreche 0
          Next
       End If
    End Sub
    
    'Selbe wie oben, jedoch mit long Parameter
    Sub Sprechelongzahl(zahl As Long)
       If Zahl < 0 Then
          Spreche 32                                            'Minus
       End If
       Zahl = Abs(zahl)
       If Zahl < 31 Then
          Me = Zahl + 1
          Spreche Me
       Else
          S = Str(zahl)
          Le = Len(s)
          For I = 1 To Le
             Zeichen = Mid(s , I , 1)
             Me = Val(zeichen)
             Me = Me + 1
             Spreche Me
             Spreche 0
          Next
       End If
    End Sub
    
    
    
    
    Sub Spreche_begruessung()
       Zufall = Rnd(4)
       Select Case Zufall
         Case 0:
                Spreche 33                                      ' Grüss Gott
         Case 1:
                Spreche 36                                      ' Hallo
         Case 2:
                Spreche 38                                      ' Na du, auch mal wieder hier
         Case 3:
                Spreche 39                                      ' Was für eine freude dich hier zu sehen
    
       End Select
    
    End Sub


    Ich gehe mal davon aus das bei dir die Play Taste an RN-Speak funktioniert. Also wenn du diese hintereinander drückst, müssen nacheinander alle Messages ausgesprochen werden. Das ist erst mal Voraussetzung das die Software-Anwahl geht.
    Die Tasten gehen nur im RS232 Mode. Für I2C muß man dann zwei Tasten drücken um in den I2C Mode umzuschalten.
    Sollten die Tasten nicht funktionieren, dann sind eventuell die Brücken falsch im Board eingelötet. Je nach Version des Betriebsystemes müssen nämlich zwei Brücken eingelötet oder weggelassen werden. Dazu ist ein Readme auf der CD.


    Gruß Frank

  5. #5
    Hallo,
    nach mehreren Versuchen ist es mir noch nicht gelungen den RN-Speak über ein Programm zum Sprechen zu bewegen
    Nach dem Aufbau funktioniert die Ansteuerung über Tasten problmlos.
    Auch über die RS232 Schnittstelle mit einem Terminalprogramm läuft die Sprachausgabe mit den Komandos RNP (für Play) RNQ (für Reset) ebenfalls. Die Adressierung mit RNM (x) funktioniert jedoch nicht.
    Anschliessend habe ich versucht die Ausgabe über den I2C Bus zu programmieren.

    Leider spricht RN-Speak hiermit nicht. Was fehlt hier ?

    Bitte nochmal um Hilfe

    Gruß Kämmi

    Hier mein Programm:
    Code:
     ' RNB-SpeakTest
    
    $regfile = "m162def.dat"
    $crystal = 8000000                                          '  Quarzfrequenz
    $baud = 9600
    Config Scl = Portc.0
    Config Sda = Portc.1
    
    Declare Sub Spreche(byval Meldung As Byte)                  '  Unterfunktion anmelden
    
    Dim Zufallszahl As Byte                                     '  Varialble zufallszahl anmelden
    
    
    I2cinit
    
    Sub Spreche(meldung As Byte)                                '   Unterprogramm IC2 Ausgabe
      I2cstart
      I2cwbyte &H52
      I2cwbyte Meldung
      I2cstop
      Waitms 200
    End Sub
    
    
       Zufallszahl = Rnd(4)                                     '  Zufallszahl zwischen 0 und 4 erzeugen
    
       Select Case Zufallszahl                                  ' Auswahl Zufallszahl
         Case 0:
                Spreche 5
         Case 1:
                Spreche 6
         Case 2:
                Spreche 8
         Case 3:
                Spreche 9
    
       End Select
    
    End

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi Kämmi,

    wenn die Tasten und alles andere geht, sollte auch RNM-Befehl gehen. Aber achte darauf das die Zahl X nicht in ASCII Ziffern ausgeschrieben wird, sondern als Binärwert angegeben werden muß. Übe rein Terminalprogramm ist das immer schwierig. Per Befehl würde es in etwas so aussehen:
    print "RNM"; chr(x)

    Für I2C-fehlt eigentlich nix. Wenn nix geht, könnte das verschiede Ursachen haben, zum Beispiel flasch eingelötete Lötbrücken. Den Readme-Hinweis auf CD beachten:

    Sollten Sie bereits die neuste Firmware von
    RN-SPEAk Version 1.3 erhalten haben
    (steht auf dem IC Aufkleber)
    dann bitte beachten:

    Die eingezeichneten Brücken auf der Bestückungsseite
    J1,J2 und J3 müssen alle eingelötet werden!

    Sollten Sie eine ältere Firmware besitzen, so
    dürfen die Brücken J1 und J3 nicht eingelötet sein!
    Zudem ist zu beachten das es in Bascom Version 1.11.7.4
    noch einen Bug in einer I2C-Lib gibt. Daher sollte in dieser Version die neuere Lib http://www.roboternetz.de/download/bascomi2clib.zip
    ins LIB Verzeichnis kopiert werden

    Weiterhin auch die Jumperstellungen auf RN-Speak genau beachten. Ab Version 1.1 sind die Jumperstellungen mit B auf der Platine markiert. Bei dem Vorgängerboard genau die Doku beachten.

    Gruß Frank

+ Antworten

Berechtigungen

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