繁体   English   中英

无法使用PCF8591读取树莓派中的有效电压输入

[英]Not able to read valid voltage input in raspberry pi with PCF8591

我尝试使用I2C通讯通过Raspberry-pi中的PCF8591读取来自机器的电压输入,但打印一些其他值。

还可以请我建议一下,因为如果我想获得机器输入电压,如果电压下降,它应该中断功能,我应该使用哪种方法?

PCF8591-> Raspberry Pi之间的连接

  1. SDL-> Rpi上的SDL
  2. SCL-> Rpi上的SCL
  3. VCC-> Rpi上的3.3v甚至尝试了5.0v
  4. GND-> Rpi上的GND

将机器连接到PCF8591

  1. PCF8591上的5v-> AIN1

  2. GND-> GND Rpi

    import smbus import time address = 0x48 A0 = 0x40 A1 = 0x41 A2 = 0x42 A3 = 0x43 bus = smbus.SMBus(1) while True: bus.read_byte_data(address,A1) value = bus.read_byte_data(address, A1) print("AOUT: %1.03f" %(value*3.3/255)) time.sleep(0.2)

显示像这样的输出AOUT:2.756

要获得正确的值,您必须读取该值两次。 第一次读取告诉芯片进行新的测量并同时返回寄存器中的当前值(这不是正确的值)。 在第二次读取时,您将获得正确的值:

import smbus
import time

address = 0x48  
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus = smbus.SMBus(1)

while True:
    bus.read_byte_data(address, A1)  # do the measurement but ignore the value
    value = bus.read_byte_data(address, A1)  # get the correct value
    #print(value)
    print("AOUT: %1.03f" %(value*3.3/255))
    time.sleep(0.2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM