While reading voltage readVoltage(a, 'A0'), i am always getting 5 volts, irrespective of if the sensor is in air, or water or soil. What may be the reason?
1 次查看(过去 30 天)
显示 更早的评论
a = ardunio('COM3', 'uno');
moisture_reading = readVoltage(a, 'A0');
disp("moisture reading is " moisture_reading);
Always getting 5 reading, irerespective of the place where the moisture sensor is, i.e. in air or in water or in soil.
1 个评论
回答(1 个)
Shuba Nandini
2023-5-29
Hi Shivam,
It is my understanding that, readVoltage(a, 'A0') is always giving a reading of 5 volts irrespective of if the sensor is in air, or water or soil. There could be multiple reasons why readVoltage(a, 'A0') is always giving a reading of 5 volts.
- By default, the Arduino's reference voltage is set to 5 volts. If the sensor is operating at a lower voltage level, this could cause the issue. You can try setting the reference voltage to match the sensor's operating voltage.
To set the reference voltage, you can use the analogReference() function. For example, if you are using a 3.3V voltage supply, you can use the following command:
analogReference(a,EXTERNAL);
- It is also possible that the sensor is not functioning correctly.
- Please make sure that the sensor is connected to the correct pin on the Arduino board.
- Ensure the Arduino board has a proper grounding connection. If there is poor grounding, there could be error in the readings, which may result in incorrect values.
- Check the code for errors or bugs. Please make sure that the “readVoltage” function is used correctly.
To know more about “AnalogReference” function, please refer to:
Hope this helps!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Arduino Hardware 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!