Raspberry pi 从DHT12传感器接收到一些错误数据 SCL引脚->覆盆子SCL引脚。SDA引脚->覆盆子SDA引脚。Vcc->5V。接地->0V #包括 #包括 #包括 内部主(空) { 国际长途电话; wiringPiSetup(); dht=接线PII2CSETUP
从DHT12传感器接收到一些错误数据Raspberry pi 从DHT12传感器接收到一些错误数据 SCL引脚->覆盆子SCL引脚。SDA引脚->覆盆子SDA引脚。Vcc->5V。接地->0V #包括 #包括 #包括 内部主(空) { 国际长途电话; wiringPiSetup(); dht=接线PII2CSETUP,raspberry-pi,i2c,wiringpi,Raspberry Pi,I2c,Wiringpi,从DHT12传感器接收到一些错误数据 SCL引脚->覆盆子SCL引脚。SDA引脚->覆盆子SDA引脚。Vcc->5V。接地->0V #包括 #包括 #包括 内部主(空) { 国际长途电话; wiringPiSetup(); dht=接线PII2CSETUP(0x5c); 而(1) { int潮湿int数字=0,潮湿int比例=0,温度int位=0,温度int比例=0,检查=0; 潮湿整数=接线PII2CREADREG8(dht,0x00); 湿刻度=接线PII2CREADREG8(dht,
#包括
#包括
#包括
内部主(空)
{
国际长途电话;
wiringPiSetup();
dht=接线PII2CSETUP(0x5c);
而(1)
{
int潮湿int数字=0,潮湿int比例=0,温度int位=0,温度int比例=0,检查=0;
潮湿整数=接线PII2CREADREG8(dht,0x00);
湿刻度=接线PII2CREADREG8(dht,0x01);
temp_int_bit=wiringPiI2CReadReg8(dht,0x02);
温度刻度=接线PII2CREADREG8(dht,0x03);
检查=接线PII2CREADREG8(dht,0x04);
延迟(2000年);
printf(“\n湿位:%d\n”,湿位);
printf(“湿度刻度:%d\n”,湿度刻度);
printf(“温度:%d\n”,温度输入位);
printf(“温度刻度:%d\n”,温度刻度);
printf(“检查:%d\n”,检查);
}
}
这个问题可能更适合@aventurin,为什么这个问题更适合其他地方?这显然是一个编程问题。传感器和Pi之间是否有电压电平移位器?Pi的I2C引脚不能耐受5v电压。听起来像是电气问题:a)电压水平;b) 上拉电阻器。
#include <wiringPi.h>
#include <wiringPiI2C.h>
#include <stdio.h>
int main(void)
{
int dht;
wiringPiSetup();
dht=wiringPiI2CSetup(0x5c);
while(1)
{
int humid_int_digit=0,humid_scale=0, temp_int_bit=0, temp_scale=0, check=0;
humid_int_digit=wiringPiI2CReadReg8(dht,0x00);
humid_scale=wiringPiI2CReadReg8(dht,0x01);
temp_int_bit=wiringPiI2CReadReg8(dht,0x02);
temp_scale=wiringPiI2CReadReg8(dht,0x03);
check=wiringPiI2CReadReg8(dht,0x04);
delay(2000);
printf("\nHumid digit: %d\n",humid_int_digit);
printf("Humid scale: %d\n",humid_scale);
printf("Temp: %d\n",temp_int_bit);
printf("Temp scale: %d\n",temp_scale);
printf("Check: %d\n",check);
}
}