2024-09-01
售卖作品
00

模块型号: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); } } }

代码:

bash
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

在这里插入图片描述

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!