KFBASIS01_sinus
(EN google-translate)
(PL google-translate)
Auf je einem Stereo-Kanal können Amplitude, Frequenz und Phase eines Sinustones abhängig von Werten des drei-achsigen Beschleunigungssensors verändert werden.
Es ist ein kleines Beispiel in das Framework eingefügt.
Funktion zum Ändern
Funktion, die Sensordaten bekommt und Sinusfrequenzen und -amplituden liefert.
Laden Sie den Sketch und experimentieren Sie mit dieser Funktion
/** * <pre><code> * INPUT sanfte Drehung: * Orientierung Smartphone, resultierende Werte: * xyz: float-Werte, Ausrichtung der Erdbeschleunigung * w1 2 3 4 5 6: wie Augen auf Würfel, true, wenn oben * x y z w1 w2 w3 w4 w5 w6 * auf Tisch liegend: 0 0 1 true * auf Tisch mit Display nach unten: 0 0 -1 true * stehend, Kamera oben (wie beim telefonieren) 0 1 0 true * stehend, Kamera unten 0 -1 0 true * Querformat, Knöpfe oben 1 0 0 true * Querformat, Knöpfe unten -1 0 0 true * * INPUT ruck/schlagartige Bewegung * Variable schlag: 0=kein Schlag, 1=leicht, 2=mittel, 3=stark, 4=sehr stark * * OUTPUT linker Kanal * float[] sinlinks_amp_freq = {amplitude [0..1], frequenz [0..]} * * OUTPUT rechter Kanal * float[] sinrechts_amp_freq = {amplitude [0..1], frequenz [0..]} * </code></pre> */ public void sensorsound(//INPUT: float x, float y, float z, boolean w1, boolean w2, boolean w3, boolean w4, boolean w5, boolean w6, int schlag, //OUTPUT: float[] sinlinks_amp_freq, float[] sinrechts_amp_freq ) { if(schlag>0) { sinlinks_amp_freq[0] = 0.8f; sinrechts_amp_freq[0] = 0.8f; } else { sinlinks_amp_freq[0] *= 0.9f; sinrechts_amp_freq[0] *= 0.9f; } sinlinks_amp_freq[1] = 500.0f + 250.0f*x; sinrechts_amp_freq[1] = 500.0f + 250.0f*y; }
Code 0-1: Funktion, die Sensordaten bekommt und Sinusfrequenzen und -amplituden liefert.