打印
[应用相关]

GY-MCU90615

[复制链接]
4091|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yq327115059|  楼主 | 2017-4-17 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有大神会使用GY-MCU90615模块?求指教
沙发
zhuomuniao110| | 2017-4-17 22:36 | 只看该作者
GY-MCU90615 是一款低成本红外温度模块。
工作电压 3-5v 功耗小,体积小。
其工作原理,是通过单片机读取
红外温度度数据,串口(TTL 电平)通信方式输出。
串口的波特率有 9600bps 与 115200bps有连续输出与询问输出两种方式,可适应不同的工作环境,与所有的单片机及电脑连接。

使用特权

评论回复
板凳
zhuomuniao110| | 2017-4-17 22:37 | 只看该作者
#include "stm32f10x.h"
#include "delay.h"
#include "usart.h"
#include "string.h"
#include "LED.h"
/*
Keil: MDK5.10.0.2
MCU:stm32f103c8
硬件接法:
GY-MCU90615---STM32
1、GY-MCU90615_RX---STM32_TX,STM32复位将发送A5 45 EA给模块
2、STM32_TX---FT232,STM32将数据上传给上位机
3、GY-MCU90615_TX---STM32_RX,接收模块温度数据
软件说明:
该程序采用串口方式获取模块角度数据,波特率115200



注:中断函数位于stm32f10x_it.c
*/
static void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_X;
  
  /* 4个抢占优先级,4个响应优先级 */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  /*抢占优先级可打断中断级别低的中断*/
        /*响应优先级按等级执行*/
        NVIC_X.NVIC_IRQChannel = USART1_IRQn;//中断向量
  NVIC_X.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级
  NVIC_X.NVIC_IRQChannelSubPriority = 0;//响应优先级
  NVIC_X.NVIC_IRQChannelCmd = ENABLE;//使能中断响应
  NVIC_Init(&NVIC_X);
}
void send_com(u8 data)
{
        u8 bytes[3]={0};
        bytes[0]=0xa5;
        bytes[1]=data;//功能字节
        USART_Send(bytes,3);//发送帧头、功能字节、校验和
}
int main(void)
{
        float TO=0,TA=0;
  u8 sum=0,i=0;
        int16_t data[2]={0};
        delay_init(72);
        NVIC_Configuration();
        Usart_Int(115200);
        delay_ms(1);//等待模块初始化完成
        send_com(0x45);//发送读方位角指令
        while(1)
        {
                if(Receive_ok)//串口接收完毕
                {
                        for(sum=0,i=0;i<(TEMP_data[3]+4);i++)//TEMP_data[3]=4
                        sum+=TEMP_data[i];
                        if(sum==TEMP_data[i])//校验和判断
                        {
                                TO=(float)((TEMP_data[4]<<8)|TEMP_data[5])/100;//得到真实温度
                                data[0]=(TEMP_data[4]<<8)|TEMP_data[5];//放大100倍的物体温度
                                TA=(float)((TEMP_data[6]<<8)|TEMP_data[7])/100;//得到真实温度
                                data[1]=(TEMP_data[6]<<8)|TEMP_data[7];//放大100倍的环境温度
                                send_out(data,2,0x45);//上传给上位机
                        }
                        Receive_ok=0;//处理数据完毕标志
                }
        }
}


使用特权

评论回复
地板
zhuomuniao110| | 2017-4-17 22:38 | 只看该作者
如果楼主觉得有用,可以给我打赏啊。

使用特权

评论回复
5
zhuomuniao110| | 2017-4-17 22:39 | 只看该作者
给你全部资料。 GY-MCU90615v1.rar (2.57 MB)



使用特权

评论回复
6
zhuomuniao110| | 2017-4-17 22:40 | 只看该作者
#include <reg52.h>
#include "usart.h"
#include "iic.h"  
/*
Keil:uVision2
MCU:STC90C516RD+
硬件接法:
GY-MCU90615---STM32
1、GY-MCU90615_RX---STM32_TX,STM32复位将发送A5 45 EA给模块
2、STM32_TX---FT232,STM32将数据上传给上位机
3、GY-MCU90615_TX---STM32_RX,接收模块温度数据
软件说明:
该程序采用串口方式获取模块角度数据,波特率9600
所以得用上位机先将模块串口设置成9600,然后再进行以上操作:
指令:A5 AE 53,模块需复位生效

注:中断函数位于stc_it.c

*/
void send_com(u8 datas)
{
        u8 bytes[3]={0};
        bytes[0]=0xa5;
        bytes[1]=datas;//功能字节
        USART_Send(bytes,3);//发送帧头、功能字节、校验和
}
int main(void)
{
        float TO=0,TA=0;
    u8 sum=0,i=0;
        int datas[2]={0};
        Usart_Int(9600);
        send_com(0x45);//发送读方位角指令
        while(1)
        {
                if(Receive_ok)//串口接收完毕
                {
                        for(sum=0,i=0;i<(TEMP_data[3]+4);i++)//TEMP_data[3]=4
                        sum+=TEMP_data[i];
                        if(sum==TEMP_data[i])//校验和判断
                        {
                                TO=(float)((TEMP_data[4]<<8)|TEMP_data[5])/100;//得到真实温度
                                datas[0]=(TEMP_data[4]<<8)|TEMP_data[5];//放大100倍的物体温度
                                TA=(float)((TEMP_data[6]<<8)|TEMP_data[7])/100;//得到真实温度
                                datas[1]=(TEMP_data[6]<<8)|TEMP_data[7];//放大100倍的环境温度
                                send_out(datas,2,0x45);//上传给上位机
                        }
                        Receive_ok=0;//处理数据完毕标志
                }
        }
}

使用特权

评论回复
7
黑小白| | 2017-5-30 23:36 | 只看该作者

我需要实现在32板子上显示温度,,该怎么搞,,小白一个啊

使用特权

评论回复
8
TXQDM| | 2017-5-31 17:21 | 只看该作者
串口驱动啊,这都要问。
楼主这水平让人堪忧啊。

使用特权

评论回复
9
zhuomuniao110| | 2017-6-5 15:53 | 只看该作者
如果你确实白的不能再白了,只能先学基础的了。。

使用特权

评论回复
10
1033229709| | 2017-7-1 20:45 | 只看该作者

亲,你的资料太给力了~能不能画个程序的流程图呢?万分感谢

使用特权

评论回复
11
zhuomuniao110| | 2017-7-8 21:15 | 只看该作者
自己根据手册去画。

使用特权

评论回复
12
lofty007| | 2018-3-16 23:50 | 只看该作者
1033229709 发表于 2017-7-1 20:45
亲,你的资料太给力了~能不能画个程序的流程图呢?万分感谢

如何把数据用数码管显示出来啊,直接用TO和TA的数据吗(数码管程序会写,就是不知道怎么套在里面,因为我直接用的TO的数据不可以啊)

使用特权

评论回复
13
lofty007| | 2018-3-16 23:51 | 只看该作者

如何把数据用数码管显示出来啊,直接用TO和TA的数据吗(数码管程序会写,就是不知道怎么套在里面,因为我直接用的TO的数据不可以啊)

使用特权

评论回复
14
yiyigirl2014| | 2018-3-17 14:58 | 只看该作者
老帖了,不过大家回复的很有用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝