Hola amigos, les comento mi problema.
Estoy tratando de programar el control de una luz estroboscópica de frecuencia variable y pretendo que en el ciclo encendido tenga una intensidad variable, se aplicar el código para variar la frecuencia con un pot, y también el código para variar la intensidad con otro pot, pero no consigo unirlos.
Este es el código para variar la frequencia del estrobo y mi idea era meter el código de pwm dentro del ciclo que se mantiene encendido, pero no consigo idear la forma de que se mantenga en loop durante lo que dura el tiempo de encendido del estrobo.
Se que el código tiene una pinta rara, es por que estoy programando una placa digispark con un attiny85 por lo que el analogRead(1)se refiere al puero 1 de lectura analogica alojado en el pin 2 que lee la tensión de un potenciometro, el If está ahí por que quiero que tenga una zona donde en vez de parpadear muyyy lentamente se mantenga encendida la luz.
Con que me digais como debería montar el código me basta, pero si alguien se quiere lucir, el pin de lectura de potenciometro dos sería la entrada analógica 2 osea analogRead(1).
Creo que no me dejo nada, muchas gracias a cualquiera que me pueda prestar la mas mínima ayuda.
Estoy tratando de programar el control de una luz estroboscópica de frecuencia variable y pretendo que en el ciclo encendido tenga una intensidad variable, se aplicar el código para variar la frecuencia con un pot, y también el código para variar la intensidad con otro pot, pero no consigo unirlos.
Este es el código para variar la frequencia del estrobo y mi idea era meter el código de pwm dentro del ciclo que se mantiene encendido, pero no consigo idear la forma de que se mantenga en loop durante lo que dura el tiempo de encendido del estrobo.
Código:
int analogValue;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(1); //Read in analog input #0 (0-1023)
val = map(val, 0, 1023, 0, 255);
if (val>=200) {
digitalWrite(1, HIGH);
} else {
digitalWrite(1, HIGH);
delay(val);
digitalWrite(1, LOW);
delay(val);
}
}
Se que el código tiene una pinta rara, es por que estoy programando una placa digispark con un attiny85 por lo que el analogRead(1)se refiere al puero 1 de lectura analogica alojado en el pin 2 que lee la tensión de un potenciometro, el If está ahí por que quiero que tenga una zona donde en vez de parpadear muyyy lentamente se mantenga encendida la luz.
Con que me digais como debería montar el código me basta, pero si alguien se quiere lucir, el pin de lectura de potenciometro dos sería la entrada analógica 2 osea analogRead(1).
Creo que no me dejo nada, muchas gracias a cualquiera que me pueda prestar la mas mínima ayuda.