Así como se puede leer un potenciómetro, en realidad el divisor de tensión que se produce entre el terminal central y los extremos, necesito hacer lo propio pero con LDR. El problema es que los LDR solo tienen 2 terminales, variando la resistencia entre estas según la intensidad de luz que le llega al LDR. Se me ocurre unir 2 LDR en serie, quedando el terminal unido como el terminal central (wiper) del "potenciómetro", y con un mecanismo, hacer que un LED ilumine uno u otro, desplazando por ejemplo una tira de plástico con un orificio, de manera que en cada extermo de su recorrido uno de los LDR esté completamente iluminado y el otro no, con valores variables entre ambos extermos.
Esto es porque necesito hacer un pedal par efectos de guitarra que algunos vienen con un sistema de cremallera que mueve un potenciómetro, pero se complica la geometria, pues el movimiento pendular del pedal hay que llevarlo a actuador lineal y es muy difícil que funcione correctamente, he fracasado en ello. Pero lo que pienso con los LDR deberia funcionar.
El problema que consulto es en definitiva: puede llegar un LDR a cero ohms de resistencia estando totalmente iluminado? En caso de que no sea así, puede ser que lo que suceda es que la Arduino no lea valores de 0 a 1023 sino, por ejemplo, de 200 a 800, es decir, que le falte para llegar a los extremos?
Uso la Nano. Tengo todo resuelto, leo los botones y el pot y envio los comandos MIDI al software de efectos, pero me falta resolver esto, pues armar la cremallera con el engranaje y el pot no logro, siempre algo se desalinea y se rompe la articulación, o se traba y falla. Por eso me inspiré en esto que es más sencillo de armar.
Juro que he buscado LDR en el foro, pero no he encontrado exactamente lo que buscaba.
De todos modos lo analizo y algo no me cierra. Con un pot, hacia un extremo llego a cero resistencia entre A0 y tierra, o entre A0 y +5V. Pero en el ejemplo, los extremos serían LDR completamente iluminado o completamente a oscuras. En el primer caso, nunca llegaria a cero pues hasta donde sé no llegan a cero ohms. Además. es lineal la respuesta?
Si en efecto no se llegaria ni a 0 ni a 5v, ademas recuerda que en general la respuesta del sensor al ser de luz va a variar dependiendo de las condiciones ambientales que te encuentres (de dia o de noche) lo cual tendras que acondicionar bien, por otro lado con respecto a lo que preguntabas la respuesta de un LDR no es lineal sino inversamente proporcional y ademas con un factor de potencia , al hacer el divisor de tension la respuesta se linealiza un poco sin embargo considero podriamos manejarlo por software
Un LDR es un sensor de los mas pobres que existen desde mi punto de vista, es util para usarlo como hay luz, no hay luz, pero para mediciones no es NADA recomendable.
Lo mas lógico que puedes hacer es.
Hacer un relevamiento de la transferencia giro del potenciometro vs respuesta del LDR.
Asegurate que el sistema es repetitivo. Es decir, si vuelves a poner el potenciometro en una posición la lectura del arduino que lee el LDR debe ser la misma o aproximadamente la misma
De los puntos relevados puedes sacar una curva de transferencia giro vs LDR y si se repite tendras resuelto tu problema pero recuerda. Los LDR son muy malos sensores, asi que si necesitar reemplazar el que calibraste vas a tener que repetir las mediciones.
A ver si entiendo: ignorando la falta de linealidad, lo que estaría sucediendo es que al estar completamente iluminado (he hecho pruebas con LED blanco a 2 mm del LDR), el LDR baja a menos de 100 ohms, mientras que a oscuras supera el mega ohm. Entonces en un extremo tengo 10K (fijos del resistor entre A0 y +5V) vs. 100 ohm (entre A0 y GND), o sea 100 a 1, y en el otro extremo, tendría 1 Mohm vs. 10K, 1 a 100, o sea estaría bastante cerca de leer 0 a 1023 como rango del valor de analogRead(A0).
Seria bastante cerca de lo que tu definas como MUY ILUMINADO y MUY OSCURO.
En el medio lo que gustes.
En tanto no tengas nada con que calibrar, tampoco puedes precisar si esta MEDIO ILUMINADO o MEDIO OSCURO. Se entiende?
Asi que establece esos dos puntos y entre medio tu verás.
Podrias usar el LED como medio para establecer la curva de medición, poniendo LED BLANCO y LDR dentro de una caja a oscuras. Mides ese dato y luego iluminas con la cantidad de pasos de corriente continua al LED hasta llegar al máximo de iluminación. En todo momento tomas esos valores.
Tendrás asi una posible recta entre ambos. %de iluminación continua del LED vs respuesta del LDR.
Para ello usa un LM317 como fuente de corriente y verás que puedes entregar desde 0 mA a la Ifmax según la hoja de datos. Esa IfMax te dará la respuesta a la mayor iluminación del LED.
Supongamos solo por hacerlo facil que fuera 80mA. Entonces digamos intentarás tomar mediciones cada 8mA para tener 10 puntos de tu recta.
Si se porta lineal o no, podras encontrar una recta o curva de bajo grado (polinomio) que se ajuste.
Es facil usando Excel.