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

標題: 基于STM32f103的紅外測溫儀程序(測溫模塊MLX90614,芯片GY906) [打印本頁]

作者: DOOMSKYWR    時間: 2020-9-22 09:23
標題: 基于STM32f103的紅外測溫儀程序(測溫模塊MLX90614,芯片GY906)
之前集訓要求做的紅外測溫儀,采用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)


作者: yy3900636    時間: 2021-1-20 19:17
太謝謝樓主的分享了。。。很實用
作者: 5287152    時間: 2021-3-6 14:39
正在學習紅外測溫,謝謝。
作者: 5287152    時間: 2021-3-6 14:40
謝謝樓主的分享了,好好下來學習。
作者: wanyi5aini    時間: 2021-4-25 04:27
親愛的樓主 為啥我測出來的溫度是276.29 就不會改變了呢
作者: wifingtta    時間: 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);                       
                }





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 嫩草视频免费 | 免费看片国产 | 国产一区精品 | 在线日韩视频 | 亚洲免费精品一区 | 国产一区二区精品 | 国产黄色大片在线免费观看 | 国产一区二区三区色淫影院 | 亚洲人成人网 | 色综合久久久久 | 免费看一区二区三区 | 澳门永久av免费网站 | 免费看黄色国产 | 午夜在线精品偷拍 | 国产精品成人一区二区 | 国产男女视频网站 | 日本特黄a级高清免费大片 特黄色一级毛片 | 6996成人影院网在线播放 | 欧美日韩国产精品一区 | 精品一区久久 | 国产一区二区在线观看视频 | 欧美二区在线 | 日韩高清中文字幕 | 精品国产不卡一区二区三区 | 天天看天天操 | 精品一区二区三区四区 | 国产精品18hdxxxⅹ在线 | 欧美日一区二区 | 羞羞视频在线观看网站 | 日韩毛片免费视频 | 国产激情一区二区三区 | 特一级毛片 | 欧美精品二区 | 国产精品高潮呻吟久久av黑人 | 人人干视频在线 | 91视频大全 | 国产资源网 | 久久香蕉网 | 国产一区亚洲二区三区 | 亚洲精品久久久久久久久久久久久 | 99亚洲精品|