dividir potenciometro y lcd i2c 16x2

Hola

ire directo al grano, tengo un potenciometro el cual dividí en 24 partes con la función map, quiero que muestre las divisiones en la lcd, pero quiero que lo muestre multiplicado por un factor x, es decir, quiero que en vez que aparezca en el lcd 1,2, ..., 24 aparezca 1x,2x,3x, ..., 24x ... ¿alguien puede ayudarme? espero me haya dejado entender

saludos

Pues... ¿multiplica el valor antes de imprimirlo? ¿O se trata de adjuntar el sufijo "xn"?

la idea es que imprima xn, aún para complicarlo más quiero escoger uno de esos números y guardarlos para hacerlos correr con una opción de "run" (creo que tengo que hacerlo con switch) pero si son números grandes seria un gran problema (y es lo que quiero :/ ) ejemplo si quiero dividirlo en 2 partes pero que salga en el lcd como 5, 10 (multiplicaria 1*5 y 2*5) seria fácil pero cuando aumentamos el numero de divisiones por decir a 20, entonces seria 5,10,15...100, y si planeo hacerlo con switch serian 20 casos lo cual me parece que seria demasiado, es por eso que pregunto si puede disminuir los codigos tal ves con alguna libreria o alguna cosa ...

Saludos

char buffer[20];
sprintf(buffer, "valor %2dx", pot); // supongo que pot es la variable con ese valor entre 1 y 24
lcd.print(buffer);                         // si lo haces en un lc.
Serial.println(buffer);                   // si lo ves en tu Monitor Serie.

hola surbyte

coloque esos códigos y lo que obtuve es: valor 0x y cuando muevo el potenciometro no ocurre nada

disculpa surbyte, me di cuenta de mis errores, me funciono muy bien!! gracias!, una consulta más (espero no te molestes) si quiero escoger una de esas opciones para poderlas correr con una opcion de "run" en el menu ¿como lo haria?

Saludos y gracias otra vez!

No te comprendo!

bueno, supongamos que quiero controlar el ingreso de un gas mediante la abertura y clausura de valvulas que son controladas por el arduino, supongamos que quiero darle 10 min de ingreso de gas pero para escoger el tiempo que desees debe aparecer en el menu el tiempo (es por eso que pedí la ayuda para poder dividirlo y mostrarlo en el lcd) y cuando apriete un boton, el tiempo este guardado. pero lo que no se como implementar el codigo para guardar ese tiempo y despues hacerlo ejecutar. espero me hayas entendido

saludos

Código para guardar un tiempo, es todo otro tema. Asi que vayamos desmenuzándolo. Plantea que tienes hasta ahora y como cambias tu menú, usas teclado o que?

mi menu esta hecho con un boton y un potenciometro, el cambio de menu lo hago con switch, al momento de presionar el boton hace cambio de menu y con el potenciometro se mueve entre las opciones, es ahi donde debo presionar la opcion deseada y luego dar inicio con los parametros que ingrese con el menu.

Bien, entonces seleccionada la opcion que tu determines supongamos la 10. Estarás dentro de un switch supongo

Lo que tienes que hacer es trabajar APARTE en tu función de ajuste de tiempo, y finalmente salvado del mismo. Es lo mismo que haces para seleccionar las opciones del menú pero teniendo en cuenta que estes ajustando. Supongamos que estas en segundos, entonces tu potenciometro variará entre 0 y 59 y así.

Entonces cada caso seria con el tiempo el cual podria escoger ? si es asi, tengo una duda tendria que hacerlo para todos verdad? , osea si tengo 120 min pero divididos de 5 en 5 tendria que hacer 24 switch?

Todo es una cuestion de como quieres programarlo. Pense que tu programarías 2:00 o sea 2 minutos dode tu selección va de 0 a 59 primero, presionas el switch y cambias a segundso y de nuevo de 0 a 59 seleccionas y presionas el switch.

entonces tendría que hacer 24 switch? vaya es demasiado, habrá una librería o algo para poder hacerlo mas simple?

Claro que la hay pero tu elegiste este método inicialmente con potenciometro y pulsador.

Puedes hacerlo con encoder y librería. Esta hecho, pero eso es algo que deberías haber evaluado antes de empezar este camino.

Siempre ponte a investigar que hay porque TODO o CASI TODO esta hecho y lo enfatizo porque no se mide en general que el mayor tiempo de cualquier proyecto se consume enla programación.

Todo lo que mencionas esta por ahi.. debes saber buscarlo.

Aca tienes una que usa Rotary Encoder lo mas parecido a un potenciometro que incluye el boton cuando seleccionas.

Todo resuelto.

la verdad creo que necesito tiempo para poder entenderlo, lo que yo necesito creo que es algo más básico, de todas formas gracias.

saludos

Mira, se que no es fácil pero esta librería resuelve tu problema si la llegas a comprender. Mira el ejemplo A. Usa un potenciometro y solo si cambia pasa de menu. No es tu caso. Tu subdivides en posiciones. Para el caso lo adaptas.

Estudia los ejemplos que puedas a ver si los comprendes.. claro que esto solo es menú. No va a provocar el cambio de hora o tiempo que pedias pero eso es una función dentro de cada sub menú.