Você quer uma faixa de sinal de 0V a 5V. Não todos :-)? Vamos para uma abordagem diferente e ver onde isso nos leva.
Ponto de partida: solução mais barata e mais simples.
Isso seria um resistor em série para criar um divisor de tensão. Esse é o mínimo absoluto. Notei que as pessoas não pensam muito nesse resistor, basta escolher um bom valor de rodada como 10k . Mas descobri que há um valor ótimo para isso. Ω
A curva mostra a diferença de tensão entre a leitura mínima e máxima (9k e 20k Ω resp.) Em função do resistor em série (em k Ω ). Veja, de fato, tem um máximo. É fácil encontrar se você se lembrar disso ΩΩΩ
( f( X )g( X ))′= f′( X ) ⋅ g( x ) - f( X ) ⋅ g′( X )g2( X )
VMA XVMEuN
ddRX( RMA XRMA X+ RX- RMEuNRMEuN+ RX) =0
RX
RX= RMEuN⋅ RMA X-----------√
Uma beleza!
Ω
É o suficiente? O Arduino possui um ADC de 10 bits, portanto esse intervalo fornecerá um intervalo de 200 níveis discretos. Isso deve fornecer uma precisão suficiente para um sensor de bricolage. Portanto, não são necessários outros componentes como opamps.
(*) A resposta aceita fornece uma faixa de 1,9V, mas possui as equações erradas . É impossível obter uma faixa maior que 1V com 1 resistor e apenas uma fonte de + 5V.