模块型号:GY-906-BAA,GY-906-BCC,GY-906-DCI
BAA 测距是2cm
BCC 测距是10CM
DCI 测距是一米
资料网盘下载: https://pan.baidu.com/s/1V4IX0PKG8vDOionICghSTw
SMBus (System Management Bus,)是 1995 年由 intel 公司提出的一种高效同步串行总线,SMBus 只有两根信号线:双向数据线和时钟信号线,容许 CPU 与各种外围接口器件以串行方式进行通信、交换信息,即可以提高传输速度也可以减小器件的资源占用,另外即使在没有SMBus 接口的单片机上也可利用软件进行模拟。
Melexis 公司生产的 MLX90614 系列测温模块是应用非常方便的红外测温装置,其所有
的模块都在出厂前进行了校验,并且可以直接输出线性或准线性信号,具有很好的互换性,免去了复杂的校正过程。
效果还是不错的:
STM32F103C8T6
c#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "timer.h"
#include "led.h" /* led */
#include "key.h" /* key */
#include "oled.h" /* oled */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "gy906.h"
void user_do( u8 k )
{
if ( k == 1 )
{
}else if ( k == 2 )
{
}else if ( k == 3 )
{
}
}
void dislay( void )
{
}
int main( void )
{
u8 keyboard_key; /* 按键返回值 */
u8 t = 0; /* /时间计数 */
float temp;
NVIC_PriorityGroupConfig( NVIC_PriorityGroup_2 ); /* 设置NVIC中断分组2:2位抢占优先级,2位响应优先级 */
delay_init(); /* 延时函数初始化 */
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE );
GPIO_PinRemapConfig( GPIO_Remap_SWJ_JTAGDisable, ENABLE ); /* 关闭jtag,使能SWD,可以用SWD模式调试 */
uart_init( 115200 ); /* 串口初始化 */
KEY_Init(); /*按键初始化 */
LED_Init(); /* LED初始化 蜂鸣器初始化 */
OLED_Init(); /* OLED初始化B8 B9 */
SMBus_Init();
while ( 1 )
{
keyboard_key = KEY_Scan( 0 ); /* 检查键盘 */
if ( keyboard_key != 0 )
{
user_do( keyboard_key ); /* 根据案件的编号来对案件进行处理 */
}
delay_ms( 10 );
t++;
if ( t > 20 )
{
t = 0;
temp=SMBus_ReadTemp();
printf("%.2f C\r\n",temp);
}
}
}
代码:
bashhttps://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!