Sigo con mis prácticas. Ayer construí un sencillo sistema para «mover» de forma gradual la potencia entre tres dispositivos, en este caso tres leds, pero que sin mucho esfuerzo serviría para situar un puntero en un espacio circular para, por ejemplo, con un par de motorcillos y un lápiz dibujar curvas…. ¿se me ven ya las intenciones?
El cógido es básicamente la curva de un seno desplazada 90º para adelante y para atrás para cada uno de los leds laterales:
int pinPotenciometro = 0;
float valor;
void setup() {
}
void loop() {
valor = analogRead(pinPotenciometro);
float p1=sin(radians(((180.00/1024.00) * valor)+90))*255;
float p2=sin(radians(((180.00/1024.00) * valor)))*255;
float p3=sin(radians(((180.00/1024.00) * valor)-90))*255;
if(p1<0) p1=0;if(p1>255) p1=255;
if(p2<0) p2=0;if(p2>255) p2=255;
if(p3<0) p3=0;if(p3>255) p3=255;
analogWrite(11,p1);
analogWrite(10,p2);
analogWrite(9, p3);
delay(30);
}
El esquema lo podeis ver aqui