关于modbus温湿度传感器,IIC热成像仪相关知识点总结

Modbus协议(工业级温湿度传感器)

Modbus协议两种传输方式:

ASCII 模式:


RTU   模式:



温湿度传感器的数据格式


IIC协议(热成像仪AMG8833)

IIC协议的四种基本信号的时序图及程序


void IIC_Start(void)
{
	SDA_OUT();     
	IIC_SDA=1;	  	
	delay_us(5);  
	IIC_SCL=1;
	delay_us(5);
 	IIC_SDA=0;//START:when CLK is high,DATA change form high to low 
	delay_us(5);
	IIC_SCL=0;
}	  
void IIC_Stop(void)
{
	SDA_OUT();//sdaÏßÊä³ö
	IIC_SCL=0;
	delay_us(5);
	IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
 	delay_us(5);
	IIC_SCL=1; 
	delay_us(5);
	IIC_SDA=1;
	delay_us(5);						   	
}

u8 IIC_Wait_Ack(void)
{
	u8 ucErrTime=0;
	SDA_IN();      
	IIC_SDA=1;delay_us(1);	   
	IIC_SCL=1;delay_us(1);	 
	while(READ_SDA)
	{
		ucErrTime++;
		if(ucErrTime>250)
		{
			IIC_Stop();
			return 1;
		}
	}
	IIC_SCL=0; 
delay_us(5);	
	return 0;  
} 
void IIC_Ack(void)
{
	IIC_SCL=0;
	SDA_OUT();
	IIC_SDA=0;
	delay_us(2);
	IIC_SCL=1;
	delay_us(2);
	IIC_SCL=0;
}	    
void IIC_NAck(void)
{
	IIC_SCL=0;
	SDA_OUT();
	IIC_SDA=1;
	delay_us(2);
	IIC_SCL=1;
	delay_us(2);
	IIC_SCL=0;
}					 		

IIC协议的数据传输格式

1.主机向从机发送数据



2.主机从从机读数据



IIC的寻址字节格式




高七位为地址位,bit0为读写控制位。
需要注意的是:一般器件的告诉的地址需要左移一位,才能最为IIC的寻址地址。

例如:amg8833的地址为0X69,如果你想去写数据到这个器件,那么你需要将0X69左移一位。
0X69<<1;    
   如果你想去读这个器件的数据,那么你需要将0X69左移一位,并且 或 上一个0X01;
(0X69<<1)|0X01;

AMG8833热成像仪介绍

AMG8833内部配置了一个热敏电阻。用于检验环境温度。更大的作用是用于测量你的通过IIC时序拿到的数据对不对。其数据格式如下:


0X0E为他的地址低8位。0X0F为它地址的高8位。

高8位的地址中只有bit0 bit1 bit2 是数据位。bit3是符号控制位。

11位数据位组成的数据需要乘0.0625度,才是我们热敏电阻测到的温度值。

程序如下: 

u16  thermistoor;

u8    thermistoor_L;

u8    thermistoor_H;

thermistoor=thermistoor_H<<8;

thermistoor=thermistoor|thermistoor_L;

thermistoor=thermistoor&0x7FF;

temperature=thermistoor*0.0625;



AMG8833内部还有用红外测量的温度值。一共64个像素值。分高低地址分别存在地址0X80——0XFF。数据格式

如下:


0X80为他的地址低8位。0X81为它地址的高8位。

高8位的地址中只有bit0 bit1 bit2 是数据位。bit3是符号控制位。

11位数据位组成的数据需要乘0.25度,才是我们红外测到的温度值。

程序如下: 

u16  thermistoor;

u8    pixel_L;

u8    pixel_H;

pixel=pixel_H<<8;

pixel=pixel|pixel_L;

pixel=pixel&0x7FF;

temperature=pixel*0.25;


还有一些关于AMG8833热成像仪配置相关的寄存器如下




下面上张热成像仪得到的数据



左上角那个数据是热敏电阻采集得到的数据。下面8*8矩阵的数据按如下格式存放




如有不足之处或者是更好的处理建议,请与作者联系。QQ:945116700 邮箱 :duo_lin0119@163.com

谢谢各位的阅读。



  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucas_zgp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值