#include "math.h"
float pi = 3.14159265359;
int bi = 2*pi;
float frq = 1;
float ind [384];
float frd = 512;
float amplt = 5;
byte r = 3;
int n = 30;
#define apot 1
#define fpot 2
void setup() {
Serial.begin(9600);
}
void loop() {
amplt=analogRead(apot);
frq=analogRead(fpot)/64;
for (int i = 0; i<frd; i++) {
switch (r) {
case 1:
Serial.println(sin ( 2 * pi / frd * i * frq)*amplt);
delay(1);
break;
case 2:
if (sin (2 * pi / frd * i *frq)>0){
Serial.println(amplt);
}
else if (sin (2 * pi / frd *i*frq)<0){
Serial.println(-1*amplt);
}
else if (sin (2 * pi / frd * i*frq) == 0){
Serial.println(0);
}
delay(3);
break;
case 3:
Serial.println(asin (sin (pi / frd * i*frq))*4/pi*amplt);
delay(3);
break;
case 4:
//ind[i]=pow((-1),1)/1*sin(pi/frd*i*1)+pow((-1),2)/2*sin(pi/frd*i*2)+pow((-1),3)/3*sin(pi/frd*i*3)+pow((-1),4)/4*sin(pi/frd*i*4)+pow((-1),5)/5*sin(pi/frd*i*5)+pow((-1),6)/6*sin(pi/frd*i*6)+pow((-1),7)/7*sin(pi/frd*i*7)+pow((-1),8)/8*sin(pi/frd*i*8)+pow((-1),9)/9*sin(pi/frd*i*9)+pow((-1),10)/10*sin(pi/frd*i*10)+pow((-1),11)/11*sin(pi/frd*i*11)+pow((-1),12)/12*sin(pi/frd*i*12);
if (i<frd/2) {
if (i%2==0) {
Serial.println(2*(pi / frd * i-floor(pi / frd * i*frq+0.5))*amplt)
}
else {
Serial.println((2*(pi / frd * i-floor(pi / frd *i * frq+0.5))+2*(pi / frd * (i+1) * frq-floor(pi / frd * (i+1) * frq +0.5)))/2*amplt);
}
}
}
break;
}
}
}