Was hat Sound denn mit Motoren zu tun?
Hallo,
in der ASURO Library gibt es ja eine sogenannte sound.c Funktion.
Leider kann man mit diesem Befehl nur einen Mono Sound erzeugen.
Falls jemand weiß wie man den Befehl so umschreiben kann, dass man einen Stereo Sound hin bekommt, wäre das genial.
Im Grunde genommen muss man die Funktion doch so umschreiben, dass man beide Motoren unterschiedlich ansteuern kann, oder?
Ich wäre über eine Antwort sehr erfreut.
ps: Beweg mich hier noch relativ auf Neuland.
Was hat Sound denn mit Motoren zu tun?
Hallo!
@ Jannik18
Bei echtem stereo (Raumton nicht über Kopfhörer) muss ziemlich großer Abstand zwischen Tonquellen sein. Bei dicht zueinander liegenden Tonkquellen ist es unmöglich.![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
@ PICture
Danke für die die Antwort. Jedoch habe ich trotzdem gelesen, dass es möglich ist die genannte Funktion sich umschreiben lässt, sodass man die Motoren mit unterschiedlichen Frequenzen ansteuern kann. Demnach ergibt sich dann vielleicht kein richtiges Stereo, dennoch erzeugen die Motoren jeweils einen Ton. Mein Problem ist hierbei das Umschreiben, damit man nun die Motoren einzeln ansteuern kann.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
... Mein Problem ist hierbei das Umschreiben ...Stimmt - nur ist es eben so, dass ausgefeilte Vorlagen für sehr spezielle persönliche Projekte selten verfügbar sind.Die Frage ist nur, wie ...
Genau - und vorher am Besten den ersten Satz im Kleingeschriebenen unter den Postings von PICture lesen.... Im Grunde ... Funktion ... dass man beide Motoren unterschiedlich ansteuern kann ...
Ciao sagt der JoeamBerg
Das ganze ist recht einfach zu ändern:
Hier ist die original Funktion:
http://www.asurowiki.de/pmwiki/pub/html/sound_8c.html
Code:Sound( uint16_t freq, uint16_t duration_msec, uint8_t amplitude)00069 {0070 uint16_t wait_tics;0071 uint32_t n,k,period_usec,dauer_usec;0072 0073 period_usec = 1000000L / freq;0074 dauer_usec = 1000 * (uint32_t) duration_msec;0075 k = dauer_usec / period_usec;0076 0077 //IR Interuptfreq=36KHz0078 //Wavefreq=18KHz0079 0080 wait_tics = 18000 / freq;0081 0082 MotorSpeed (amplitude, amplitude);0083 0084 for (n = 0; n < k; n++)0085 {0086 MotorDir (FWD, FWD);0087 Sleep (wait_tics);0088 MotorDir (RWD, RWD);0089 Sleep (wait_tics);0090 }00091 MotorSpeed (0, 0); 00092 }
Eigentlich doch recht offensichtlich, was die Funktion macht. Es werden beide Motoren zum erzeugen des selben Tons genutzt. Übergibt man dem rechten und linken Motor andere Parameter, sollten auch 2 verschiedene Töne bei raus kommen.
Einzig bei dem Sleep bzw. der For-Schleife muss man aufpassen, da man ja 2 Frequenzen hat. Das könnte etwas kniffliger werden, weil man 2 unterschiedliche Perioden hat. Hier müsste man vorher die Frequenzen filtern und entsprechend die waits anpassen.
Übernehmen wird dir die Arbeit aber vermutlich keiner.
Da liegt wohl der Hase (ne ganze Rotte !!) im Pfeffer. WENN ich mit waits die Frequenz MotorLinks ändere, dann ändert sich wohl die Frequenz MotorRechts gleich mit. Die Routine ist eben für EINE Tonfolge entworfen, zwei parallele würde man (würde ich) ähnlich wie Servobedienung mit Timern machen. Das könnte für Jannik18 erstmal etwas schwierig werden, aber man wächst ja an seinen Aufgaben. Na ja, gut, auch für waits gäbs ne simple Lösung : waitmotre = tonwert-waitmotli - - oder so ähnlich; nur als Denkanstoß.... 2 Frequenzen ... etwas kniffliger ... unterschiedliche Perioden ... die waits anpassen ...
Ciao sagt der JoeamBerg
Lesezeichen