-         

+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Problem mit Sound

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2007
    Alter
    49
    Beiträge
    13

    Problem mit Sound

    Anzeige

    Hallo Asurogemeinde,

    kann mir jemand sagen, warum bei mir der Sound nicht richtig funktioniert? Egal wie ich die Parameter für Frequenz und Dauer auch setze, es kommt immer nur ein sehr kurzer Beep für ca. 200 ms. Das Sounddemo von Henk als HEX direkt geflasht funktioniert super!

    Gruß
    Arthur
    Code:
    #include "myasuro.h"
    #include "asuro.h"
    
    int main(void)
    {
      Init();
      EncoderInit();
     
      int i;
      for(i=0;i<4;++i)
      {
        Go( 1000,150); // 1 Meter
    	Msleep (750); // warten
    	Sound ( 1000, 1500, 250); // 1000 Hz, 1500 ms
    	Msleep (750); //warten
    	Turn( 90,150); // 90 Grad Kurve
          }
     
      while(1);
      return 0;
    }

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.05.2007
    Alter
    25
    Beiträge
    183
    Ich kenne das Modul, das du verwendest nicht, aber kann es sein, dass man das erst initialisieren muss?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2007
    Alter
    49
    Beiträge
    13
    Initialisieren??? Nicht das ich wüsste. Sonst keiner mehr eine Idee oder einen Tip? Kann mir nicht vorstellen, dass das Problem nur bei mir auftritt.

    Gruß
    Arthur

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.057
    Hallo Arthur,

    In der Lib scheint sich ein Fehler eingeschlichen zu haben. Möglicherweise kommt es aber auch zu einem Rechenfehler, weil im Compiler bezügl. Type-Cast etwas geändert wurde und es dadurch zu anderen Rundungen kommt.

    Hier mal eine veränderte Version der Funktion "Sound"

    Code:
    /***************************************************************************
    *	void sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
    *	
    *	use motors as loudspeaker and create a sound
    *
    *   input
    *	frequency: 	uint16_t freq
    *	duration:	uint16_t duration_msec
    *	amplitude:	uint8_t  amplitude
    *
    *	example: sound(1000, 100, 255);
    *	1Khz, 100ms, max. amplitude
    *
    *	last modification:
    * 	Ver.     Date         Author           Comments
    * 	-------  ----------   --------------   ---------------------------------
    * 	sto2     1.09.2006    stochri          first version
    *       sto3    17.6.2007     stochri          type cast to remove time duration error
    * 	-------  ----------   --------------   ---------------------------------
    *
    ***************************************************************************/
    void Sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
    {
    	uint16_t wait_tics;
    	uint32_t n,k,period_usec,dauer_usec;
    
    	period_usec=1000000L/freq;
    	dauer_usec=1000*(uint32_t)duration_msec;
    	k=dauer_usec/period_usec;
    
    	//IR Interuptfreq=36KHz
    	//Wavefreq=18KHz
    
    	wait_tics=18000/freq;
    
    	MotorSpeed(amplitude,amplitude); 
    
    	for(n=0;n<k;n++)
    	{
    		MotorDir(FWD,FWD);
    		Sleep(wait_tics);
    		MotorDir(RWD,RWD);
    		Sleep(wait_tics);
    	}
    	MotorSpeed(0,0); 
    
    }
    
    #define BEEP Sound(1000, 100, 255)
    
    
    
    /***************************************************************************
     *   
     *   (c) 2006 stochri
     *
     ***************************************************************************
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   any later version.                                                    *
     ***************************************************************************/
    
    Damit sollte es eigentlich gehen. Im Anhang noch ein Zip-File mit Hex-Datei und einem Beispiel. Gruss, stochri
    Angehängte Dateien Angehängte Dateien

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2007
    Alter
    49
    Beiträge
    13
    Vielen Dank Storchi,
    werde es bei nächster Gelegenheit ausprobieren. Muss mir erstmal Klarheit darüber verschaffen, wie ich mit deinem Pack umzugehen habe. Wenn ich jetzt damit anfange, dann ist wahrscheinlich der Abend gelaufen, weil ich nicht aufhören kann bevor es klappt. Am Compi läüft die Zeit immer so schnell

    Gruß
    Arthur

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2007
    Alter
    49
    Beiträge
    13
    Sorry für das Storchi. Hatte nicht verarbeitet, dass es STOCHRI heissen muss.
    Konnte es nicht lassen und habe doch noch etwas gespielt. Der Integer (uint32_t) hat tatsächlich geholfen! Die Soundfunktion funktioniert so. Sollte man nicht jetzt die 2.70 im Download aktualisieren, damit nicht noch mehr Neulinge am Sound hängen bleiben? Es gibt da ja auch noch die Sache mit dem Unterschied der Setup und der ZIP Version bezüglich makelib.

    Vielen Dank für die Hilfe.

    Gruß
    Arthur

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    60
    Beiträge
    674
    Ja, ich denke auch, es ist Zeit für eine Version 2.80, vor allem auch mit Ultraschall.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.057
    Tja, ich hoffe, dass Sternthaler oder m.a.r.v.i.n hier mitlesen. Beide haben am meisten an der Lib gearbeitet.

    @Arthur
    Falls Du ein paar interessante Tonfolgen erzeugst, kannst Du sie ja als Sound-Demo für die neue Lib vorschlagen.

    Gruß,
    stochri

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.246
    Hi,

    ein Udate der Lib ist schon in Arbeit. Dort werden auch Funktionen für die Ultraschall Erweiterung dabei sein.

+ Antworten

Berechtigungen

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