我正在使用力传感器通过Arduino的ADC测量其值,这里我提供5V力传感器和3.3k电阻用于下拉。现在通过一些编码将输入原始adc值(范围0-1023)转换为权重。现在我需要移除arduino并将该力传感器直接连接到ESP8266 12F并使用其adc来测量电压。但问题是它的范围只有0-1V。我已经尝试了一些分压器并从后面的5V电源做出1V,现在adc值的范围为0-90,使用arduino i的映射函数将0-90转换回0-1023。 这是5V的编码:
fsrADC = analogRead(A0);
float fsrV = fsrADC * VCC / 1023.0; //VCC = 5
float fsrR = R_DIV * (VCC / fsrV - 1.0); //R_Div = 3300 for 3.3k pulldown
以下是1V的编码:
fsrADC = analogRead(A0);
fsrADC = map(fsrADC,0,90,0,1000);
float fsrV = fsrADC * VCC / 1023.0; //VCC = 5
float fsrR = R_DIV * (VCC / fsrV - 1.0); //R_Div = 3300 for 3.3k pulldown
此后还有一些线将这种阻力转化为重量。如您所见,我需要0-1023范围的输入模拟值才能使下一行正常工作。 计算出的重量不准确。我认为它的供应问题是因为我通过分压并将其输出转换为传感器将5v电源转换为1v。任何建议和良好的电压分压电路?
答案 0 :(得分:0)
与1.0V相比,你有正确的想法。但您需要将ADC值与更合适的参考电压进行比较described in the documentation。理想情况下,您使用topicId
1.0V参考应用于EXTERNAL
引脚,尽管1.1V参考也可能通过适当的软件缩放产生非常好的结果。参考电压是关键。就分压器电路而言,只需谷歌,它就是一个超级简单的电路,前提是你有合适的电阻器。一旦接近1.0V,将其应用于AREF
并根据文档将其设置为参考。