Measuring voltage with analog inputs and the mraa library
We will create a new VoltageInput
class to represent a voltage source connected to our board, specifically, to an analog input pin. The following lines show the code for the new VoltageInput
class that works with the mraa
library. The code file for the sample is iot_python_chapter_06_01.py
.
import mraa import time class VoltageInput: def __init__(self, analog_pin): self.analog_pin = analog_pin self.aio = mraa.Aio(analog_pin) # Configure ADC resolution to 12 bits (0 to 4095) self.aio.setBit(12) @property def voltage(self): raw_value = self.aio.read() return raw_value / 4095.0 * 5.0
We have to specify the analog pin number to which the voltage source is connected when we create an instance of the VoltageInput
class in the analog_pin
required argument. The constructor, that is, the __init__
method, creates a new mraa.Aio
instance with the received analog_pin
as its pin
argument...