Hallo Allerseits,
dieser Thread beschäftigt sich mit der exorbitant guten Soaundausgabe des ASURO.
Vorgestellt werden Programme, die Melodien Stereo auf den beiden Motoren abspielen.
Viel Spaß damit !
Druckbare Version
Hallo Allerseits,
dieser Thread beschäftigt sich mit der exorbitant guten Soaundausgabe des ASURO.
Vorgestellt werden Programme, die Melodien Stereo auf den beiden Motoren abspielen.
Viel Spaß damit !
Hier befindet sich der Sourcecode, Falls jemand Lust hat, ein eigenes Stück umzusetzen.
Hallo,
ich habe jetzt noch blinkende LEDs eingebaut
siehe Anhang
Gruss
M.
nett gemacht :)
Jaaaa, Stereo ist super. =D>
Hallo robo.fr,
großes Lob. Ich finde deinen Stereo Sound Generator auch sehr gelungen. Mit deinem Einverständnis würde ich die Funktion gerne in die Asuro Lib übernehmen.
Hallo m.a.r.v.i.n,
kannst Du gerne machen, warum nicht, ist ja schliesslich "Open Source". Es freut mich, wenn auch andere Spass daran haben.
Gruss,
robo
Hallo robo,
kann es sein, dass man in das array "melody[]" nicht beliebig viele Werte (Noten) schreiben kann? Wo ist denn die Obergrenze?
Gruss
M.
Sehr sehr lustig, ist dir echt gelungen !!!
Danke, das hört man gerne.Zitat:
Sehr sehr lustig, ist dir echt gelungen !!!
In der Routine begrenzt der 1KB-Ram Speicher die Anzahl der Noten, da alle Arrays im RAM liegen. Man könnte wesentlich mehr Noten unterkriegen, wenn man die Noten im Flash ablegt. Das geht mit progmem ....Zitat:
kann es sein, dass man in das array "melody[]" nicht beliebig viele Werte (Noten) schreiben kann? Wo ist denn die Obergrenze?
Gruß,
robo
XD
das ist ja mal geil :D :-({|= :-({|= :-({|= :-({|=
Freut mich, dass es Dir auch gefällt O:)
Da meine musikalischen Fähigkeiten leider etwas begrenzt sind, habe ich ein "alle meine Entchen" und ein Stück, welches ich irgendwo im Internet gefunden habe und ein weing wie "die Simpsons" klingt, eingetippt.
Meine Hoffnung ist ein wenig, dass sich noch irgendjemand mit Noten auskennt und hier mal ein kleines Beispilel abgibt. Da das Programm ja zeistimmig spielt, könnte man auch einen Kanon abspielen. Da ist mir nur aus meiner Kindheit "Bruder Jakob" eingefallen. Aber es gibt bestimmt auch schönere Stücke. :Ostern
ich hätte nur eine frage der asuro hat ja eig. keine tonausgabe oder wo/wie spielt er dann ton ab?
Das Programm ist wirlich toll.
Soweit ich weiß kann der Asuro mit dem Motoren Sound erzeugen.
Hihi, das Programm is cool!!!
Bin grad dabei Fluch der Karibik-Filmusik in Amf (ASURO music file) umzuschreiben...
^^
MfG,
Adrian
wenn man den motoren zu weinig spannung gibt, um zu fahren, dann geben die ein pfeifen von sich. damit kann man durchaus musik machen =)
Hallo,
am Samstag hat mein Sohn zwei Lieder geschrieben.
Bruder Jakob, Kanon, zweistimmigZitat:
Zitat von robo.fr
und
Amazing Grace, zweistimmig.
Da wir an der 1KB-Ram Speicher - Hürde gescheitert sind, haben wir jedes Lied in einem eigenen Programm untergebracht.
Danke, ich werde mich, sobald ich Zeit habe mit "progmem" auseinandersetzen.Zitat:
Zitat von robo.fr
Gruss
M.
Hier die beiden .hex - Dateien:
@M1.R
Vielen Dank an deinen Sohn.
Mein Sohn kann es nicht fassen, was der Asuro alles kann. (Ich bin auch immer überrascht.)
Sehr geniale Idee, gefällt mir!
Hier noch 2 Lieder.
Die Noten sind meiner Meinung nach etwas zu schnell, ich hab ein bisschen an der Notenlänge geschraubt:
Code:#define EIGHTH 300
#define QUARTER 600
#define HALF 1200
#define FULL 2400
Code:/*Für Elise*/
uint16_t hs_lied[]={
E6,EIGHTH,
ES6,EIGHTH,
E6,EIGHTH,
ES6,EIGHTH,
E6,EIGHTH,
H5,EIGHTH,
D6,EIGHTH,
C6,EIGHTH,
A5,EIGHTH,
_OFF,EIGHTH,
C5,EIGHTH,
E5,EIGHTH,
A5,EIGHTH,
H5,QUARTER,
_OFF,EIGHTH,
E5,EIGHTH,
AS5,EIGHTH,
H5,EIGHTH,
C6,QUARTER,
_OFF,QUARTER,
E6,EIGHTH,
ES6,EIGHTH,
E6,EIGHTH,
ES6,EIGHTH,
E6,EIGHTH,
H5,EIGHTH,
D6,EIGHTH,
C6,EIGHTH,
A5,EIGHTH,
_OFF,EIGHTH,
C5,EIGHTH,
E5,EIGHTH,
A5,EIGHTH,
H5,QUARTER,
_OFF,EIGHTH,
E5,EIGHTH,
C6,EIGHTH,
H5,EIGHTH,
A5,HALF,
STOP,STOP
};
Grüße,Code:/*Oh when the sains*/
uint16_t sains[]={
F5,QUARTER,
A5,QUARTER,
B5,QUARTER,
C6,FULL,
F5,QUARTER,
A5,QUARTER,
B5,QUARTER,
C6,FULL,
F5,QUARTER,
A5,QUARTER,
B5,QUARTER,
C6,HALF,
A5,HALF,
F5,HALF,
A5,HALF,
G5,FULL,
A5,QUARTER,
A5,QUARTER,
G5,QUARTER,
F5,HALF,
F5,QUARTER,
A5,HALF,
C6,HALF,
C6,QUARTER,
B5,FULL,
B5,QUARTER,
A5,QUARTER,
B5,QUARTER,
C6,HALF,
A5,HALF,
F5,HALF,
G5,HALF,
F5,FULL,
STOP,STOP
};
Harri
Und schon ist es raubkopiert.
Natürlich auch mit Dank an harry3
Super! wieder ein 2 Musikstücke mehr für den ASURO!Zitat:
Hier noch 2 Lieder.
Die Noten sind meiner Meinung nach etwas zu schnell, ich hab ein bisschen an der Notenlänge geschraubt:
Eigentlich keine schlechte Idee, ein Programm mal in deutscher Sprache zu halten. Es gibt tatsächlich einige Leute, die mittlerweile der Meinung sind, in der Muttersprache zu schreiben und zu denken führt zu wesentlich besseren Ergebnissen.Zitat:
Arrowhsasuro.h
Ansonsten gibt es in der Lib2.70 auch schon Turn und Go.
Gruß,
stochri
das war ich, bald kommt auch noch ein Video in's Internet O:)Zitat:
Zitat von M1.R
Hallo Rasias,
willkommen im Club der Musikanten, bzw. bei den Asuro-und Roboter-Fan's. Mach weiter mit der Musik und dem Asuro und lass die Video's sein. Du wirst bald keine Zeit mehr für so einen Schnick-Schnack haben, wenn du erst einmal mit dem Asuro angefangen hast. Soll eine aufmunternde 'Warnung' sein. ;-)
Natürlich werden ich mir aber auch deine Videos ansehen. :)
Ich werde mich wahrscheinlich eh nicht so viel damit beschäftigen da ich kaum Zeit habe und keine lust habe mir den ASURO zusammenzubauen,Zitat:
willkommen im Club der Musikanten, bzw. bei den Asuro-und Roboter-Fan's. Mach weiter mit der Musik und dem Asuro und lass die Video's sein. Du wirst bald keine Zeit mehr für so einen Schnick-Schnack haben, wenn du erst einmal mit dem Asuro angefangen hast. Soll eine aufmunternde 'Warnung' sein.
Natürlich werden ich mir aber auch deine Videos ansehen.
das programmieren macht mir eh mehr spaß(hab zwar noch nicht viel gemacht aber ich werd damit anfangen).
Na ja weiß nich ob ich noch mal so ein Video mach
Hier ist der Link zum Thred von den Videos:
https://www.roboternetz.de/phpBB2/vi...26715d018ff3bc
na dann mach mal - der ASURO M1.R freut sich schon auf deine Programme!:wink:Zitat:
Zitat von Rasias
Gruss
M.
@Rasias & @M1.R
Videos gefunden und für gut erklärt.
Die Küchenerkundung sieht super aus durch die 'Suchbewegungen' die der Asuro so zwischendurch einlegt.
@M1.R
Das nenne ich mal ein großzügiges Angebot. (Aber bestimmt erst wenn die Schulaufgaben fertig sind?)
(Aber bestimmt erst wenn die Schulaufgaben fertig sind?)
Das wird kaum ein Problem sein.
Zimmer aufraümen usw. wird eher ein problem
Oh backe,
das kommt mir sehr bekannt vor. (An meine Zeit kann ich mich noch gut erinnern, da ich das nun auch von meinen beiden Rackern immer wieder vorgeführt bekomme.)
Komisch ist es aber, dass immer Zeit für Kumpel's übrig bleibt. Scheint irgend ein Naturgesetzt zu sein ;-)
Tja!
Zeit hab ich auch immer noch,
aber eher um an den Computer zu gehen!
Na ist doch super!
Dann kann das Angebot von M1.R von ja in die Tat umgesetzt werden ;-)
Oder sind da eher die bösen, böösen, bööööösen Spiele am PC, die zu ihm hin ziehen? :-$
Hallo zusammen,
da ich auch ein Asuro-Musiker werden wollte, gibt es hier auch mal etwas von mir.
Nachdem ich da so ein paar Noten eintippen wollte, meine Frau aber erst stundenlang nach der Schreibweise in den Notenblättern ausquetchen musste und mein Sohn dann die Geduld aufbrachte mir die ersten Noten zu übersetzen habe ich beschlossen nicht auf den 'guten Ton', sondern auf 'mehr Ton' umzusatteln.
Eigendlich sollte "The entertainer" eure Ohren erreichen, nun sind es die ersten beiden Notenzeilen, und die noch falsch,
---> aber dafür verbrauche ich nun pro Note nur noch EIN BYTE, und nicht mehr VIER BYTE.
Das zumindest wollte ich euch nicht vorenthalten.
Kleiner Tipp, für die, die es nocht nicht wissen: Wenn man beim abspielen die Zahnräder mit den ODO-Scheiben leicht festhält, dann ist das Scheppern gerade im Bass-Bereich gut zu unterdrücken.
P.S.: Beim Einschalten des Asuros unbedingt die Ohren zuhalten.
P.P.S.: Weitere Erklärungen sind im Source enthalten. Is ja schon spät geworden ;-)
So böse sind die auch nicht!Zitat:
Zitat von Sternthaler
Aber vor allem sind es andere foren die midh zu ihm ziehen
Hallo Sternthaler,
super!Zitat:
Zitat von Sternthaler
guter Tipp!Zitat:
Zitat von Sternthaler
Mit deiner Hilfe wird der ASURO ja noch zum Profi-Musiker!Zitat:
// Werte von B7 und H7 getauscht, da falsch definiert.
// Neue Toene von H2 bis AS4, und C8
// C8 weil es am Klavier die letzte Taste ist.
// Runter bis H2, da dann genau 62 Toene plus _OFF und STOP-Code vorhanden sind.
// Die Formel: RUNDEN (25,957 * EXP (0,0577620678 * [Tonnummer]); 0) ergibt
// fehlerfrei die passende Frequenz.
// Die [Tonnummer] ergibt sich aus: [Tonindex] + 25
// Der Tonindex beginnt bei 0, und somit die Tonnummer bei 25 mit dem Ton A2,
// da dies laut http://www.sengpielaudio.com/Rechner-notennamen.htm nun mal
// so ist.
// Die Toene mit den Tonnummern 1 bis 25 sind auf der Bass-Seite vom Klavier
// auch noch vorhanden, koennen aber hier nicht mehr dargestellt werden, da
// sonst mehr als 64 Toene/_OFF/STOP und somit mehr als 6 Bits benoetigt
// wuerden. Dies geht aber nicht, da die restlichen 2 Bits fuer die Tondauer
// benutzt werden.
Nun mal eine dumme Anfänger-Frage:
du definierst erst auf "herkömmliche" Art:
uint16_t rechts []
uint16_t links []
später "sparsam":
uint8_t rechts []
uint8_t links []
abgespielt wird das:
StereoSound (rechts, links);
mir ist nicht klar welche Variante der ASURO jetzt abspielt.
Bei unseren Liedern gibt noch die Unterscheidung angestossene und gebundene Töne und ausserdem Triolen:
Die Originalfunktion von robo.fr ist ohne blinkende LEDs.Code:#define zweig 1500 //g : gebunden
#define vierg 750
#define achtg 375
#define triog 250
#define einsa 2980 // a : angestossen
#define zweia 1480
#define viera 730
#define achta 355
#define trioa 230
#define anst 20 // anstoss
#define _OFF 0
#define STOP 0
//-------------------------------------------------------------------------------------------------
//amzaing grace 1.Stimme
uint16_t amazing_grace_1[]={
C5,achtg,
F5,achtg,
_OFF,anst,
F5,zweia,
_OFF,anst,
A5,trioa,
G5,triog,
F5,triog,
_OFF,anst,
A5,zweia,
_OFF,anst,
A5,achta,
G5,achtg,
_OFF,anst,
F5,zweia,
_OFF,anst,
D5,viera,
_OFF,anst,
C5,zweia,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
C5,achta,
F5,achtg,
_OFF,anst,
F5,zweia,
_OFF,anst,
A5,trioa,
G5,triog,
F5,triog,
_OFF,anst,
A5,zweia,
_OFF,anst,
G5,achta,
A5,achtg,
_OFF,anst,
C6,zweia,
C6,zweig,
C6,vierg,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
A5,achta,
C6,achtg,
_OFF,anst,
C6,zweia,
_OFF,anst,
A5,trioa,
G5,triog,
F5,triog,
_OFF,anst,
A5,zweia,
_OFF,anst,
A5,achta,
G5,achtg,
_OFF,anst,
F5,zweia,
_OFF,anst,
D5,viera,
_OFF,anst,
C5,zweia,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
C5,achta,
F5,achtg,
_OFF,anst,
F5,zweia,
_OFF,anst,
A5,trioa,
G5,triog,
F5,triog,
_OFF,anst,
A5,zweia,
_OFF,anst,
G5,viera,
_OFF,anst,
F5,zweia,
F5,zweig,
F5,vierg,
STOP,STOP
};
//-------------------------------------------------------------------------------------------------
//amzaing grace 2.Stimme
uint16_t amazing_grace_2[]={
C5,achtg,
A4,achtg,
_OFF,anst,
A4,zweia,
_OFF,anst,
C5,trioa,
H4,triog,
A4,triog,
_OFF,anst,
C5,zweia,
_OFF,anst,
C5,achta,
DES5,achtg,
_OFF,anst,
D5,zweia,
_OFF,anst,
H4,viera,
_OFF,anst,
A4,zweia,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
C5,achta,
A4,achtg,
_OFF,anst,
A4,zweia,
_OFF,anst,
C5,trioa,
H4,triog,
A4,triog,
_OFF,anst,
C5,zweia,
_OFF,anst,
E5,achta,
F5,achtg,
_OFF,anst,
E5,zweia,
E5,zweig,
E5,vierg,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
F5,achta,
A5,achtg,
_OFF,anst,
A5,zweia,
_OFF,anst,
F5,trioa,
C5,triog,
D5,triog,
_OFF,anst,
C5,zweia,
_OFF,anst,
DES5,viera,
_OFF,anst,
D5,zweia,
_OFF,anst,
H4,viera,
_OFF,anst,
A4,zweia,
//-------------------------------------------------------------------------------------------------
_OFF,anst,
C5,achta,
A4,achtg,
_OFF,anst,
A4,zweia,
_OFF,anst,
C5,trioa,
H4,triog,
A4,triog,
_OFF,anst,
C5,zweia,
_OFF,anst,
H4,achtg,
_OFF,anst,
A4,zweia,
A4,zweig,
A4,vierg,
STOP,STOP
};
Diese habe ich laienhaft (nach dem Prinzip Versuch u. Irrtum) eingebaut.
Vielleicht kannst du dir das mal anschauen und evtl. verbessern (die StatusLED geht immer erst nach dem ersten Ton an.)? - Wäre nett!
Gruss
M.
Hallo M1.R,
es gibt keine dummen Fragen, nur dumme Antworten.
Such mal im Source nach "USE_FREQUENCE".Zitat:
Zitat von M1.R
Hinter dem Versions-Kommentar sind 2 alternativ zu verwendende Zeilen:
//#define USE_FREQUENCE JA
#undef USE_FREQUENCE
Wenn du nun weiter im Source sucht, tauchen die Stellen Code auf, die dann alternativ beim compilieren übersetzt werden. Somit wird bei der hier vorgenommenen Einstellung nur das übersetzt, was hinter den 'unscheinbaren' #else-Zeilen im Code steht.
Schreibst du:
#define USE_FREQUENCE JA
//#undef USE_FREQUENCE
dann werden die Teile hinter "#ifdef USE_FREQUENCE" (bis zum #else) kompiliert.
Ach du meine Güte. Davon hat mir meine Frau gar nichts gesagt.Zitat:
Zitat von M1.R
Tut mir leid das geht so nun nicht bei meiner aktuellen Version.
Wenn ich mir die von dir angegeben Defines ansehe, beziehen sich die Namen (angestossen, ..) ja auf die Tonlängen.
Genau hier habe ich aber nur 2 Bit's zur Verfügung und somit eben nur 4 verschieden Zeitmöglichkeiten.
Mal sehen, ob man die Daten pro Note 'irgendwie' auf 10 oder 11 Bit's erweitern kann. (Natürlich komprimiert, so dass man nicht 2 Byte verbraucht) Dann hätte man für die Zeitangaben 4 oder 5 Bit's (16 oder 32) Zeitangaben zur Verfügung.
P.S.: Ist schon toll, was ihr mit Noten zaubert. Geduld, Wissen und ein gutes Ohr fehlen mir da für die Musik.
P.P.S.: Die Blinkefunktion ist doch ganz in Ordnung. Aber mal sehen, was da noch zu 'verbessern' ist.
Bis später.
Hallo Sternthaler,
aha! danke!Zitat:
Zitat von Sternthaler
meine Led - Blinkerei scheint doch nicht richtig zu funktionieren:
bei deinem Lied bleibt die rechte BackLED immer an, obwohl in deiner rechten Melodie auch OFF-Töne sind.
Eigentlich sollte die Rechte nur bei rechten Tönen, die Linke nur bei linken Tönen leuchten... ???
ganz toll wäre auch noch die Lautstärke zu definieren
wie hier: void Sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude);
und wenn dann noch der letze Ton leiser werden würde...
Gruss
M.
Hallo M1.R,
ich bin bis jetzt noch nicht dazu gekommen nach den LED's zu sehen. Es kann aber natürlich sein, dass ich bei meiner Version etwas kaputt gemacht habe und die LED deshalb jetzt nicht mehr ausgeht. Bitte noch etwas Geduld.
Wo hast denn du den Funktionsaufruf her?
Amplitude bei den Motoren kann ich mir ja jetzt nur über verschiedenen Motor-Leistungen vorstellen.
Wenn das Sinn macht, bleibt nur noch die Frage wie viele Lautstärkestufen sollen es den sein?
2 Bit wären da eine datentechnisch gute Lösung.
- 6 Bit Frequenz (62 Möglichkeiten; 1 Ton aus; 1 Stop)
- 4 Bit Dauer (16 Möglichkeiten. Müsten auch deine angestossenen Töne beinhalten)
- 2 Bit Lautstärke (Also 4 Möglichkeiten + Ton aus)
------
= 12 Bit bzw 1,5 Byte. Damit kann man relativ einfach komprimieren.
Lib 2.7: asuro.h - sound.cZitat:
Zitat von Sternthaler
GrussCode: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)
M.
Peinlich :oops:
Genau die LIB beacker ich ja mit.
(Mal nachsehen, ob ich dafür die Kommentare geschrieben/formatiert habe. --> Leider ja. Sound scheint bis vor kurzem nicht so mein Hauptaugenmerk gewesen zu sein. Immerhin war meine Vermutung schon ganz gut, dass es über die Motorleistung geht.)
Was ist mit den 2 Bit? Würden dir die reichen?
So, eine neue Version.
Ich habe mal ein bisschen 'ausgemistet' und einiges in H-Dateien verlegt.
Ausserdem ist diese Version AKTUELL NICHT allgemein zu nutzen, sondern soll nur 4 verschiedene Lautstärken demonstrieren.
Die Lautstärke kommt noch nicht aus den Daten zu jeder einzelnen Note, sondern wird erst mal nur als Parameter an die Funktion StereoSound() weitergegeben.
Die Blinkerei mit den LED's beginnt nun auf alle Fälle schon mit der ersten Note.
Hallo Sternthaler,
du bist aber schnell!Zitat:
Zitat von Sternthaler
Da es mir ebenso geht wie dirZitat:
Zitat von Sternthaler
bin ich in dieser Hinsicht leider vollkommen abhängig von meinem Sohn. Er wird sagen können, wieviele verschiedene Lautstärken man braucht. Bis morgen abend ist er allerdings noch weg.Zitat:
Zitat von Sternthaler
Um rauszufinden, ab welcher "Geschwindigkeit" man überhaupt etwas hört, habe ich ein Testprogramm (nur 1 Motor) geschrieben.
Mit "bloßen" Ohren höre ich ab ungefähr 20 etwas. Mit Mikro und Verstärker schon ab 1!
nochmal zu unseren gebundenen und angestoßenen Tönen:Code:// lautstärke test
#include "asuro.h"
void Sound1(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, 0);
for(n=0;n<k;n++)
{
MotorDir(FWD,FWD);
Sleep(wait_tics);
MotorDir(RWD,RWD);
Sleep(wait_tics);
}
MotorSpeed(0,0);
}
int main(void)
{
Init();
BackLED(ON,ON);
StatusLED(RED);
Sound1 (1000, 1000, 1);
StatusLED(YELLOW);
Sound1 (1000, 1000, 2);
StatusLED(GREEN);
Sound1 (1000, 1000, 3);
StatusLED(RED);
Sound1 (1000, 1000, 4);
StatusLED(YELLOW);
Sound1 (1000, 1000, 5);
StatusLED(GREEN);
Sound1 (1000, 1000, 6);
StatusLED(RED);
Sound1 (1000, 1000, 7);
StatusLED(YELLOW);
Sound1 (1000, 1000, 8);
StatusLED(GREEN);
Sound1 (1000, 1000, 9);
BackLED(OFF,OFF);
StatusLED(RED);
Sound1 (1000, 1000, 10);
StatusLED(YELLOW);
Sound1 (1000, 1000, 20);
StatusLED(GREEN);
Sound1 (1000, 1000, 30);
StatusLED(RED);
Sound1 (1000, 1000, 40);
StatusLED(YELLOW);
Sound1 (1000, 1000, 50);
StatusLED(GREEN);
Sound1 (1000, 1000, 60);
StatusLED(RED);
Sound1 (1000, 1000, 70);
StatusLED(YELLOW);
Sound1 (1000, 1000, 80);
StatusLED(GREEN);
Sound1 (1000, 1000, 90);
StatusLED(RED);
Sound1 (1000, 1000, 100);
StatusLED(YELLOW);
Sound1 (1000, 1000, 110);
StatusLED(GREEN);
Sound1 (1000, 1000, 120);
StatusLED(RED);
Sound1 (1000, 1000, 130);
StatusLED(YELLOW);
Sound1 (1000, 1000, 140);
StatusLED(GREEN);
Sound1 (1000, 1000, 150);
StatusLED(RED);
Sound1 (1000, 1000, 160);
StatusLED(YELLOW);
Sound1 (1000, 1000, 170);
StatusLED(GREEN);
Sound1 (1000, 1000, 180);
StatusLED(RED);
Sound1 (1000, 1000, 190);
StatusLED(YELLOW);
Sound1 (1000, 1000, 200);
StatusLED(GREEN);
Sound1 (1000, 1000, 210);
StatusLED(RED);
Sound1 (1000, 1000, 220);
StatusLED(YELLOW);
Sound1 (1000, 1000, 230);
StatusLED(GREEN);
Sound1 (1000, 1000, 240);
StatusLED(RED);
Sound1 (1000, 1000, 250);
StatusLED(OFF);
while (1);
return 0;
}
für jede Tonlänge gibt es ja beide Varianten, wobei sich der angestoßene Ton aus zwei Tönen zusammensetzt: 20ms aus und dann Länge angestoßen = gebundener Ton - 20ms.
Das bedeutet, dass man in der Melodie für die angestoßenen Töne immer zwei Töne schreiben muss.
Beispiel:
#define vierg 750 //viertel gebunden
#define viera 730 //viertel angestoßen
#define anst 20 //Anstoßzeit = Differenz
Ein angestoßener Ton::
_OFF,anst,
F5,viera,
Vielleicht fällt dir hierzu ja auch noch eine Vereinfachung ein?
Gruss
M.
PS: Wenn es dir gelingt, den ASURO gleichzeitig während er Musik macht auch noch fahren zu lassen, bekommst du von mir einen ASURO-MUSIK-ORDEN! :wink: