久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7621|回復: 5
打印 上一主題 下一主題
收起左側

基于STM32f103的紅外測溫儀程序(測溫模塊MLX90614,芯片GY906)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:587076 發表于 2020-9-22 09:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
之前集訓要求做的紅外測溫儀,采用STM32F103系列作為主控,利用MLX90614采集溫度,配以OLED顯示以及flash存儲數據(5個).
請不要問我要電路圖,一是沒時間,二是程序源碼里面對每個模塊接哪個IO口都是可以看見的,電子設計是靈活的.
下面貼出部分源碼,完整程序的壓縮包在附件.

單片機源程序如下:
gy906_gpio.h

#ifndef __GY906_GPIO_H_
#define __GY906_GPIO_H_

#include <inttypes.h>


#define macI2C_WR        0                /* 寫控制bit */
#define macI2C_RD        1                /* 讀控制bit */


/* 定義I2C總線連接的GPIO端口,用戶只需要修改下面四行代碼就可以任意改變SCL,SDA的引腳 */
#define macGPIO_PORT_I2C        GPIOB                        /* GPIO端口 */
#define macRCC_I2C_PORT         RCC_APB2Periph_GPIOB                /* GPIO時鐘 */
#define macI2C_SCL_PIN                GPIO_Pin_9                        /* 連接到SCL時鐘線的GPIO */
#define macI2C_SDA_PIN                GPIO_Pin_8                        /*連接到SDA時鐘線的GPIO */


/* 定義讀寫SCL,SDA的宏,以便增加代碼的可移植性和可閱讀性 */
#if 0        /*條件編譯:選擇GPIO的庫函數實現IO讀寫 */
        #define macI2C_SCL_1()  GPIO_SetBits(macGPIO_PORT_I2C, macI2C_SCL_PIN)                /* SCL = 1 */
        #define macI2C_SCL_0()  GPIO_ResetBits(macGPIO_PORT_I2C, macI2C_SCL_PIN)                /* SCL = 0 */
        
        #define macI2C_SDA_1()  GPIO_SetBits(macGPIO_PORT_I2C, macI2C_SDA_PIN)                /* SDA = 1 */
        #define macI2C_SDA_0()  GPIO_ResetBits(macGPIO_PORT_I2C, macI2C_SDA_PIN)                /* SDA = 0 */
        
        #define macI2C_SDA_READ()  GPIO_ReadInputDataBit(macGPIO_PORT_I2C, macI2C_SDA_PIN)        /* ¶áSDA¿úÏß×′ì¬ */
#else
        #define macI2C_SCL_1()  macGPIO_PORT_I2C->BSRR = macI2C_SCL_PIN                                /* SCL = 1 */
        #define macI2C_SCL_0()  macGPIO_PORT_I2C->BRR = macI2C_SCL_PIN                                /* SCL = 0 */
        
        #define macI2C_SDA_1()  macGPIO_PORT_I2C->BSRR = macI2C_SDA_PIN                                /* SDA = 1 */
        #define macI2C_SDA_0()  macGPIO_PORT_I2C->BRR = macI2C_SDA_PIN                                /* SDA = 0 */
        
        #define macI2C_SDA_READ()  ((macGPIO_PORT_I2C->IDR & macI2C_SDA_PIN) != 0)        /* 讀寫SDA口狀態 */
#endif


void i2c_Start(void);
void i2c_Stop(void);
void i2c_SendByte(uint8_t _ucByte);
uint8_t i2c_ReadByte(void);
uint8_t i2c_WaitAck(void);
void i2c_Ack(void);
void i2c_NAck(void);
uint8_t i2c_CheckDevice(uint8_t _Address);

#endif

全部資料51hei下載地址 紅外測溫+顯示+存儲+按鍵控制:
測溫.7z (205.15 KB, 下載次數: 559)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:423533 發表于 2021-1-20 19:17 | 只看該作者
太謝謝樓主的分享了。。。很實用
回復

使用道具 舉報

板凳
ID:888976 發表于 2021-3-6 14:39 | 只看該作者
正在學習紅外測溫,謝謝。
回復

使用道具 舉報

地板
ID:888976 發表于 2021-3-6 14:40 | 只看該作者
謝謝樓主的分享了,好好下來學習。
回復

使用道具 舉報

5#
ID:756163 發表于 2021-4-25 04:27 | 只看該作者
親愛的樓主 為啥我測出來的溫度是276.29 就不會改變了呢
回復

使用道具 舉報

6#
ID:208271 發表于 2023-4-16 16:22 | 只看該作者
謝謝樓主,已測試可用。樓主程序里是通過外部中斷,按鍵觸發測量的,所以可以把測溫程序從外部中斷放到main里,就可以直接看到數據了。這時提取出來,測試沒問題,溫度需要自己加補償
        while(1)
        {
                DelayMs(1000);
                tt=get_temperature();
                OLED_ShowCN(0,0,0);
                OLED_ShowCN(17,0,1);
                OLED_ShowStr(34,0,": ",2);
                OLED_ShowNum(50,0,change(tt)+3.14,2);//加3.14是因為我沒有聚集棱鏡所以輻射無法聚集導致測溫有誤差屬于修正誤差的額外加值(可以自己修改)
                if(change(tt)<32.86||change(tt)>34.16)//不正常警告
                        {
                                OLED_ShowCN(0,6,7);
              OLED_ShowCN(17,6,0);
                                OLED_ShowCN(34,6,4);
              OLED_ShowCN(50,6,5);
                                LED1(1);
        LED3(0);
                  }
                        else
    {
                                OLED_ShowCN(0,6,7);
              OLED_ShowCN(17,6,0);
                                OLED_ShowCN(34,6,6);
              OLED_ShowCN(50,6,5);       
        LED1(0);
        LED3(1);                       
                }
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍视频网站 | 国产999精品久久久 日本视频一区二区三区 | 欧洲亚洲一区二区三区 | 国产福利一区二区 | 日韩一区二区三区视频 | 亚洲免费精品 | 秋霞电影一区二区三区 | 精品国产乱码久久久久久a丨 | 精品综合视频 | 91精品久久久久久久久久入口 | 麻豆视频在线免费看 | 午夜精品导航 | 亚洲成人网在线播放 | 九九亚洲| 国产精品高潮呻吟久久aⅴ码 | 亚洲国产精品人人爽夜夜爽 | 亚洲精品视频在线看 | 欧美不卡一区二区三区 | 久久国产婷婷国产香蕉 | 国精品一区 | 国产精品乱码一区二区三区 | 在线免费国产 | 中文字幕99 | 亚洲欧美日韩中文在线 | 日韩不卡一二区 | 亚洲精品国产成人 | 国产精品一区二区三区久久久 | 九九热免费看 | 日韩在线一区视频 | 久久人人网 | 少妇久久久久 | 4h影视| 久久精品一区二区三区四区 | 欧美精品欧美精品系列 | 夜夜骑天天干 | 青草久久免费视频 | 国产在线观看一区二区三区 | 欧美亚洲国产一区二区三区 | 中文字幕一区二区三区精彩视频 | 午夜免费福利影院 | 欧美日韩国产精品一区二区 |