Control PWM desde Potenciometro y con celular

Hola saludos desde Chile, les cuento yo estoy recién conociendo arduino tengo un ramo que empezó ahora y nos pidieron realizar un proyecto pequeño y a mi Me gustaría hacer control de la intensidad de La luz del led a través de un potenciometro y también desde el celular , por ejemplo pensando que el led controlado es la luz del dormitorio y en un determinado momento entramos a la habitación giraros el potenciometro en la pared y le damos la damos la intensidad deseada a la luz después nos acostamos y ya no queremos pararnos a bajar la intensidad de la luz desde el potenciometro pero si tenemos el celular entonces abrirnos la aplicación y le bajamos la intensidad a la luz se podrá hacer de que ambos controles regulen el mismo led en el mismo arduino o estoy soñando mucho ??

Osea digamos que al pin 3 le asigne la salida pwm la cual tendra mas o menos brillo de acuerdo al ponciometro conectado por ejemplo al pin A0 pero tambien tambien quiero que un boton me desactive la lectura de A0 y me active la lectura del bluetooth el cual atraves de una apk en celular tendra un potenciometro virtual. :confused: :confused:

Claro que puedes pero debes estudiar bastante para lograrlo.
Comienza con el led, un potenciometro y luego un led al que le controlas brillo

Debes usar el AD para leer el potenciometro.
Debs usar map para convertir la salida leida del potenciometro en valores 0-255 de brillo
y luego estudia la funcion analogWrite(pin, valor) para controlar el led.

Con estos elementos resuelves 1 parte.

Luego prueba con un modulo BT y estudia como comunicarte con el arduino.

Finalmente aprende a programar en App inventor que es la forma mas simple de hacer cosas para Android (espero que tengas android) y enviarle ese dato por BT a tu Arduino y que este lo entiende y modifique el brillo del led.

surbyte:
Claro que puedes pero debes estudiar bastante para lograrlo.
Comienza con el led, un potenciometro y luego un led al que le controlas brillo

Debes usar el AD para leer el potenciometro.
Debs usar map para convertir la salida leida del potenciometro en valores 0-255 de brillo
y luego estudia la funcion analogWrite(pin, valor) para controlar el led.

Con estos elementos resuelves 1 parte.

Luego prueba con un modulo BT y estudia como comunicarte con el arduino.

Finalmente aprende a programar en App inventor que es la forma mas simple de hacer cosas para Android (espero que tengas android) y enviarle ese dato por BT a tu Arduino y que este lo entiende y modifique el brillo del led.

Gracias surbyte por la respuesta, de verdad no pensé que siquiera me respondieran, ya me esta gustando esto del foro :slight_smile: , cuento un poco mas, buscando y leyendo en muchos lados encuntre algunos sketch que me fueron de gran utilidad ya logre armar una apk y controlar desde el smartfone mediante bluetooth el led y tambien tambien desde el potenciometro pero no se como hacerlo para juntar ambos controles y poder seleccionar desde donde quiero controlar alternadamente.

con este sketch contrlo desde el potencometro

int brillo;
void setup()
{
pinMode(3,OUTPUT);
}
void loop()
{
brillo = analogRead(A1)/4;
analogWrite(3,brillo);

}

y con otro controlo desde el smartfone

String cadena, led, dato;
int pwm1 = 3;
int regulador;
void setup () {
Serial.begin(9600);// setea la velocidad del puerto serial
//configura el pin 3
pinMode(pwm1,OUTPUT);
}
void loop () {
//lee las cadenas que ingresan al puerto serie
if (Serial.available()) {
cadena = String("");
while (Serial.available()) {
cadena = cadena + char(Serial.read());
delay(1);
}
partirCadena();//llama a la función partirCadena
regulador = dato.toInt();//convierte el valor recibido en un entero
Serial.println(regulador);// muestra el valor en recibido en el terminal serial
if (led == "luz1") {//compara el valor de la cadena obetinada
analogWrite(pwm1, regulador);// escribe el valor analogico en el pin nuemro 3 obtenido en el puerto serie
}
}
}

void partirCadena() {
if (cadena.indexOf(" ") >=0){ //comprueba los datos recibidos si tienen algun espacio
led = cadena.substring(0,(cadena.indexOf(" "))); // filtra la cadena luz1. Toma desde el primer carácter al espacio en blanco.
dato = cadena.substring(cadena.indexOf(" ")+1); //
}
}

quisiera saber como poder alternar entre esos dos sketch. :disappointed_relieved: