-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: kleiner Wettbewerb: ASURO Sound Lib

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2

    kleiner Wettbewerb: ASURO Sound Lib

    Anzeige

    Hallo Zusammen,
    dieser Thread wendet sich an die künstlerisch begabten unter euch:
    Wer produziert den schönsten ASURO-Sound ?
    Mit den Motoren kann man ja bekanntlich Töne erzeugen. Mit etwas Kreativität lassen sich sehr interessante Laute produzieren, ja sogar ein kleiner ASURO-Synthisizer wäre denkbar.
    Die Töne kann man z.B. mit den Tasten oder den Liniensenosren steuern.

    Ich habe mal eine sehr einfache Funktion ( die meiner Meinung nach schon lange in der offizielen ASURO-Lib fehlt ) geschrieben, die aber schon Töne beliebiger Tonhöhe und Frequenz erzeugen kann.

    Code:
    #include "asuro.h"  
    /*************************************************************************
    	
    	SOUND Testprogram
    	
    	
    	Vers.: 1.0 
    	
    	9.2006 stochri	
    	
    **************************************************************************/
    
    void sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
    {
    	uint16_t n,k,wait_tics;
    	uint32_t period_usec,dauer_usec;
    
    	period_usec=1000000L/freq;
    	dauer_usec=1000*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)
    
    void main()
    {
    	uint16_t n;
    	
    	Init();
    
    	//sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude)
    	for(n=0;n<255;n++)	sound(1000, 100, n);
    
    	for(n=100;n<1000;n++)	sound(n, 100, 255);
    
    	while(1)
    	{
    		BEEP;
    		Msleep(1000);
    	}
    }
    
    /***************************************************************************
     *   
     *   (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.                                                    *
     ***************************************************************************/

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2
    Wie sieht's aus, will keiner ein wenig mit dem ASURO Krach machen ?
    Ist das Thema zu langweilig ?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    05.09.2006
    Beiträge
    644
    Hi,
    brauch man die neue Lib. ?

    Viele Grüße
    mfg Jonas

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2
    Wie meinst Du das? Die Routinen in auro.c ?
    Eigentlich müßte die obige Routine mit jeder Lib funktionieren. Ich bin mir allerdings nicht ganz sicher, ob in älteren Versionen der IR-Interrupt für die Timerroutinen auf 72Khz anstatt 36Khz eingestellt war. Im schlimmsten Fall sind die Töne dann halt doppelt so hoch.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2006
    Beiträge
    102
    Ist dein code fehlerhaft oder unfolständig?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2
    Wieso, was klappt nicht ? Du muss natuürlich die Datei asuro.c und asuro.h noch zusätzich verwenden.
    Du kannst ja einfach ein altes Projekt nehmen und die Hauptdatei ( die mit main() ) durch den Code oben ersetzen.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.07.2006
    Ort
    Bielefeld
    Beiträge
    166
    Moin Storchi,

    hast du das auch schon auf die chromatische Tonleiter umgerechnet? Ich habe mir mal ein Program aus den Netz geladen das den Asuro Lieder spielen läßt, war aber nicht der Hit. Wie wärs mit IR, die Tastatur vom Rechner als Keyboard und Asuro macht den Sound?


    Viele Grüße,

    (Michael)

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2006
    Beiträge
    102
    Wieso, was klappt nicht ? Du muss natuürlich die Datei asuro.c und asuro.h noch zusätzich verwenden.
    Du kannst ja einfach ein altes Projekt nehmen und die Hauptdatei ( die mit meain() ) durch den Code oben ersetzen.
    Wie meinst du das

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.062
    Blog-Einträge
    2
    Wie meinst du das
    So wie oben beschreiben.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    24.10.2007
    Ort
    San Jose
    Beiträge
    43
    Finde ich echt gut.Habe mir das Programm auch mal draufgeflasht und is echt krass.nachtrag:funkt jetzzt nicht mehr.Hat jmd. funktionierendes HEX-file?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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