【树莓派】DS18B20温度传感器

1、接线按照下图:“-”号接地,中间接VCC电压(3.3v或者5v),S接口接GPIO4(Pin接口的7,BCM的4,wiringPi的7);

【树莓派】DS18B20温度传感器_第1张图片必须设置:
在/boot/config.txt最下面,设置S接口接GPIO4
dtoverlay=w1-gpio-pullup,gpiopin=4

2、转移到驱动所在得目录。

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd 28-xxxx (change this to match what serial number pops up)
cat w1_slave

3、循环读取温度temp.c

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define  BUFSIZE  128

char* addr = "/sys/bus/w1/devices/28-02161682f4ee/w1_slave";# 28-02161682f4ee是你的文件夹名字需要修改

int main(void)
{
	float temp;
	int i, j;
    int fd;
	int ret;

	char buf[BUFSIZE];
	char tempBuf[5];
	while (1){
	fd = open(addr, O_RDONLY);

	if(-1 == fd){
		perror("open device file error");
		return 1;
	}

	while(1){
		ret = read(fd, buf, BUFSIZE);
		if(0 == ret){
			break;	
		}
		if(-1 == ret){
			if(errno == EINTR){
				continue;	
			}
			perror("read()");
			close(fd);
			return 1;
		}
	}

	for(i=0;i

5、gcc编译

gcc temp.c -o temp -lwiringPi

6、终端运行

./temp

你可能感兴趣的:(树莓派)