FastBond2阶段2-基于ESP32智能温度显示器
FastBond2阶段1的文档中,展示了使用Scheme-it绘制的原理图,介绍了制作温度显示器的方法以及原理,也说明了项目中所使用到的活动规定厂家的芯片。
标签
显示
ADC
开发板
接口
卿湫天
更新2023-11-20
重庆电力高等专科学校
299
项目标题:FastBond2阶段2-基于ESP32智能温度显示器
 
项目内容:

一、前言

   上回FastBond2阶段1的文档中,展示了使用Scheme-it绘制的原理图,介绍了制作温度显示器的方法以及原理,也说明了项目中所使用到的活动规定厂家的芯片。

   想了解阶段1的具体内容可以通过链接跳转:FastBond2阶段1-基于ESP32智能温度显示器框图设计

  • 项目介绍

      这个项目基于ESP32与LM75温度传感器和SSD1306 OLED显示屏,旨在创建一个能够周期性地读取LM75传感器的温度数据并在OLED显示屏上显示的温度监测系统。以下是该项目的主要特点和功能:

    • 1.   这个项目的主要目的是使用ESP32控制传感器和OLED显示屏,周期性地读取温度数据并将其显示在OLED屏幕上。这个系统适用于需要实时监测温度的多个市场和应用领域,包括家庭自动化、仓储物流、冷链物流、温度监测与记录和小型气候控制系统等。

      2.   硬件上,这个系统包括ESP32开发板、LM75温度传感器和SSD1306 OLED显示屏。ESP32是一款强大的微控制器,集成了无线网络和蓝牙通信功能,是许多物联网项目的理想选择。LM75是一种数字温度传感器,可以通过I2C接口读取温度数据。SSD1306 OLED显示屏是一个高清晰度的显示屏,可以通过SPI接口显示温度数据。

      3.   软件上,这个系统使用Arduino IDE和相应的库文件。通过编写Arduino代码,可以使得ESP32和其他硬件相关联并周期性地读取和处理温度数据。其中,LM75温度传感器和SSD1306 OLED显示屏的库文件可以帮助我们轻松地操作和访问它们。

  • 市场应用介绍
  1. 家庭自动化:该系统可以用于家庭自动化系统,监测室内温度并实时显示在OLED显示屏上。用户可以根据温度数据做出相应的调整,例如调节空调或供暖系统。

  2. 仓储与物流:在仓储和物流领域,该系统可以用于监测货物存储区的温度。通过将LM75传感器与适当的位置搭配,可以及时发现温度异常并采取措施,确保货物质量和安全。

  3. 冷链物流:对于冷链物流行业,该系统可以实时监测运输过程中的温度变化。这对于需要保持特定温度的产品(如食品、药品)非常重要,可以确保它们在整个运输过程中处于理想的温度条件下。

  4. 温度监测与记录:这个系统也可以应用于温度监测与记录领域,如实验室环境。通过将温度数据周期性地记录下来,可以进行数据分析、溯源和质量控制。

  5. 小型气候控制系统:该系统可以作为小型气候控制系统的一部分,用于监测小空间(如温室、热带植物桌面种植器等)的温度。用户可以根据温度数据调整环境条件,以保持最适宜的生长环境。

  • 项目设计思路

       这是一个关于使用ESP32、LM75温度传感器和SSD1306 OLED显示屏的项目构思:

      本项目旨在使用ESP32微控制器、LM75温度传感器和SSD1306 OLED显示屏,开发一个实时温度监测与显示系统。系统将周期性地读取温度数据,并通过OLED显示屏展示当前温度信息。用户可以根据温度数据做出相应的调整和决策。

项目功能:

  1. 温度数据获取:通过连接和配置LM75温度传感器,实时获取环境的温度数据。
  2. 温度数据显示:利用SSD1306 OLED显示屏,将温度数据以易读的方式显示出来,包括当前温度值和单位(摄氏度或华氏度)。
  3. 实时更新:通过ESP32的定时器功能,周期性地读取温度数据并更新到OLED显示屏上,以保持实时性。
  • 项目方案框图和原理图解释

FhfFH7MYswFFz-CZFjZbV_alc0RG

链接:https://www.digikey.cn/schemeit/project/温度显示器-6d26ad5bfc6646beba5b3095b1a2be4c

原理图(一)

FuVPZ4qceO59INYSKkpGLkcB124h

原理图(二)

FnPBNbWOId0tkkObr2dFWC75qXsc

原理图(三)

Fv62xhY4kcdhHSL9tMYXYQGEUcqM

原理图(四)

FmKOX0YJjx1thkMBC4xIyZ0590_8

 

  • 元器件介绍

主控芯片:乐鑫ESP3253

     ESP-WROOM-32模块基于ESP32芯片,该芯片集成了2.4 GHz的WiFi和蓝牙功能,还具备双核处理器、低功耗和高性能等特点。ESP-WROOM-32模块具备丰富的外设接口,包括数字GPIO引脚、模拟输入输出、SPI、I2C、UART和PWM等,使其具备良好的扩展性,可以满足不同项目的需求。

LM75 温度传感器:
     LM75是一种数字温度传感器,采用I2C接口进行通信。它可以实时测量环境温度,并将读数以数字形式输出。LM75具有高精度、灵敏度高以及低功耗等特点,适用于广泛的温度监测应用,如家庭自动化、工业系统、温度控制和数据记录等。(之前使用的是DS1820传感器但由于该传感器的稳定性和感知性不好,改为使用LM75)

SSD1306 OLED 显示屏:
     SSD1306是一种单色OLED显示屏,具有高对比度、快速响应和低功耗等优点。它采用SPI或I2C接口进行通信,并可显示文本、图形和动画。SSD1306 OLED显示屏广泛应用于可穿戴设备、智能家居、仪器仪表和嵌入式系统中,提供清晰的显示效果和用户交互界面。

  • 关键代码及说明

          首先,我们包含了需要的库文件,包括Wire.h、Adafruit_GFX.h和Adafruit_SSD1306.h。然后定义了LM75的I2C地址和创建了一个Adafruit_SSD1306对象来控制OLED显示屏。

          disout()函数用于在OLED显示屏上显示温度数据。该函数首先清除显示屏内容,然后设置文本大小、颜色和位置,将传入的文本和温度数据打印到屏幕上,并显示出来。

           LM75()函数用于读取LM75传感器的温度数据。该函数通过I2C向LM75发送命令,并读取返回的数据。函数将读取的原始温度数据进行处理,并返回温度值。

           在setup()函数中,初始化了串口通信、I2C总线和OLED显示屏。

           在loop()函数中,我们通过调用LM75()函数获取温度数据,并使用disout()函数将数据显示在OLED显示屏上。如果温度数据超出了有效范围,将显示一个错误信息。

          最后,通过延迟1秒钟的方式循环执行温度读取和显示的操作。

关键代码(一)

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// LM75 I2C地址
#define LM75_ADDRESS 0x48

Adafruit_SSD1306 display(128, 64, &Wire, -1);

void disout(char *pr, float tem) {
  display.clearDisplay();
  display.display();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);
  display.print(pr);
  display.setTextSize(2);
  display.setCursor(0, 23);
  display.println(tem, 1);
  display.setTextSize(1.5);
  display.setCursor(50, 23);
  display.print("celsius");
  display.display();
}

float LM75() {
  Wire.beginTransmission(LM75_ADDRESS);
  Wire.write(0x00);
  Wire.endTransmission();
  delay(500);
  Wire.requestFrom(LM75_ADDRESS, 2);
  int rawTemp = Wire.read() << 8 | Wire.read();
  float temperature = rawTemp / 256.0;

  if (temperature >= 0 && temperature <= 125) {
    return temperature;
  } else {
    return -1.0;
  }
}

void setup() {
  Serial.begin(115200);
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.display();
}

void loop() {
  char *pt = "temperature:";

  float temp = LM75();
  if (temp > 0 && temp < 125) {
    disout(pt, temp);
  } else {
    display.clearDisplay();
    display.setCursor(0, 0);
    display.setTextSize(2);
    display.print("ERROR!!!!!!!!!!!!!!!!!!");
    display.display();
  }
  
  delay(1000);
}
  • 功能展示及说明

展示功能照片(一)

FrLDCF8YwUwtSUtCoZRuAuMRdUwl

展示功能照片(二)

FpBmNEEoQ7nxxt_FwObIxJBRshFp

  • 对本大赛的心得体会

         在参加这项比赛的过程中,我获得了很多宝贵的经验和收获。首先,比赛是一个很好的机会,让我能够将自己的学习和实践应用到实际项目中。这让我更深刻地理解了理论知识和实际操作之间的差距,并激发了我对知识的进一步追求。

        其次,参加比赛给我提供了一个良好的交流与学习的平台。在与其他参赛者的交流中,我发现每个人都有自己独特的见解和创新思维,这让我受益匪浅。与其他参赛者的思想碰撞和交流,扩展了我的思维边界,启发了我更多的创意和解决问题的方法。

       比赛过程中的挑战和困难锻炼了我的决策能力和解决问题的能力。在限定的时间内,我需要迅速做出决策、解决各种难题,并合理安排任务进度。这个过程不仅让我更好地组织和管理我的项目,也培养了我在压力下保持冷静和灵活应对的能力。

软硬件
电路图
附件下载
原理图附件.docx
原理图附件
订单.html.pdf
订单文件
温度传感器代码.ino
温度传感器代码
团队介绍
重庆电力高等专科学校+潘杰
团队成员
潘杰
本人性格热情开朗,待人友好,乐于助人,为人诚恳勤奋好学,能吃苦耐劳。对待学习或者工作都能做到尽职尽责,态度认真有耐心。在校期间学习刻苦认真,成绩优异,有较强的责任心与集体荣誉感等。
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号