Go Down

Topic: ¿como dividir un potenciometro? (Read 1 time) previous topic - next topic

llOzll

Hola a todos

quiero hacer una division en un potenciometro, es decir, tener un potenciometro con muchas opciones al momento de girarlas, por ejemplo quiero que al momento de girar el potenciometro me dé 1,2,3,4,... ¿existe algun comando para hacer esto?

Saludos

Lucario448

El ADC de Arduino es de 10 bits, lo que quiere decir que entrega un valor decimal entre 0 y 1023.

Si quieres dividir el recorrido de un potenciómetro en partes iguales, divide 1023 (o 1024) entre el numero de secciones.

Si fueran 8, entonces tendríamos que: 1023 / 8 = 127.875 (128 si fuera con 1024). Entonces, para saber en qué segmento se encuentra, se realiza una comparación en intervalos:

Code: [Select]
byte seleccionAnalogica() {
  unsigned int v = analogRead(A0);

  if (v >= 0 && v < 128) return 0;
  if (v >= 128 && v < 256) return 1;
  if (v >= 256 && v < 384) return 2;
  // Y así sucesivamente...
}

¿Notaste el patrón?

llOzll

Gracias por la respuesta lucario

la verdad creo que si entendí el patrón, si agregamos mayor dificultad al problema ¿vendría hacer lo mismo?, es decir, si quiero que las divisiones se vea en un display y al momento de girar el potenciometro escogerla con un botón el comando que hiciste, ¿seria el mismo?

Lucario448

es decir, si quiero que las divisiones se vea en un display y al momento de girar el potenciometro escogerla con un botón el comando que hiciste, ¿seria el mismo?
El retorno de la función podría utilizarse en un switch; donde decides qué hacer en cada caso.

manu_tgn

y si mapeas la lectura?

si usas map puedes "convertir" el recorrido desde 0 hasta 1023 en tantas secciones como necesites


llOzll

manu, entonces crees que ¿seria mejor la función map? ¿por que?

saludos

manu_tgn

manu, entonces crees que ¿seria mejor la función map? ¿por que?

saludos
Porque el rango de divisiones te las hace automáticamente en función de la cantidad de secciones que quieras., así no tienes que ir calculando tú el rango de voltaje para cada cosa. Lo que ganas es que si un día quieres implementar nuevas funciones, no tienes que volver a calcular los rangos, simplemente le dices en el map que te mapee una más, y listo.

llOzll

me podrias decir cuales son los parametros que van en esa funcion ?

saludos!


llOzll


Go Up