Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Medir tensão é uma tarefa comum em projetos de eletrônica, e o Raspberry Pi pode ser uma ferramenta poderosa para isso. No entanto, o Raspberry Pi não possui um ADC (Conversor Analógico para Digital) integrado, o que significa que ele não pode medir tensões diretamente. Para contornar essa limitação, podemos utilizar um ADC externo, como o MCP3008, que se comunica com o Raspberry Pi via SPI (Serial Peripheral Interface).
Primeiro, conecte o MCP3008 ao Raspberry Pi conforme o diagrama abaixo:
Para facilitar a comunicação com o MCP3008, utilizaremos a biblioteca spidev
. Instale-a com o seguinte comando:
sudo apt-get update
sudo apt-get install python3-spidev
Agora, crie um script Python para ler a tensão medida pelo MCP3008. Salve o arquivo como measure_voltage.py
.
import spidev
import time
# Configura o SPI
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1350000
def read_channel(channel):
adc = spi.xfer2([1, (8 + channel) << 4, 0])
data = ((adc[1] & 3) << 8) + adc[2]
return data
def convert_volts(data, places):
volts = (data * 3.3) / float(1023)
volts = round(volts, places)
return volts
if __name__ == "__main__":
try:
while True:
channel = 0 # Canal do MCP3008 onde a tensão está sendo medida
adc_value = read_channel(channel)
voltage = convert_volts(adc_value, 2)
print(f"ADC Value: {adc_value}, Voltage: {voltage}V")
time.sleep(1)
except KeyboardInterrupt:
spi.close()
Execute o script com o comando:
python3 measure_voltage.py
Você verá a leitura da tensão no terminal.
Medir tensão com o Raspberry Pi é viável utilizando um ADC externo como o MCP3008. Esse método pode ser expandido para medir múltiplas tensões simultaneamente, utilizando os diferentes canais do MCP3008.