一、项目思路
这是一个简单的温度显示系统设计,使用ESP32和DS18B20温度传感器。以下是分点详细介绍:
-
硬件设计:
- 主控芯片:ESP32,一款功能强大的低功耗Wi-Fi和蓝牙模块。
- 温度传感器:DS18B20,一款数字温度传感器,可以通过一根数据线连接到ESP32。
- 可选组件:数码管、OLED显示屏等,用于显示温度数值。
-
软件设计:
- 开发环境:Arduino用于编写和上传代码到ESP32。
- 库:OneWire库和DallasTemperature库,用于与DS18B20传感器通信和读取温度数据。
-
连接硬件:
- 将DS18B20的VCC引脚连接到ESP32的3.3V电源,将GND引脚连接到ESP32的GND。
- 将DS18B20的数据引脚连接到ESP32的GPIO引脚,记下所连接的引脚号。
-
编程:
- 在开发环境中导入OneWire库和DallasTemperature库。
- 初始化传感器对象,指定数据引脚。
- 使用库提供的函数读取温度值,并将其存储在变量中。
-
温度显示:
- 使用数码管、OLED显示屏或串口监视器等显示温度数值。
- 根据需要对温度数值进行格式化,例如保留小数点后一位或四舍五入。
二、方案框架
方案框图
https://www.digikey.cn/schemeit/project/温度显示器-6d26ad5bfc6646beba5b3095b1a2be4c
https://www.digikey.cn/schemeit/project/detail/6d26ad5bfc6646beba5b3095b1a2be4c
主要元器件:
ESP32-WROOM-32E-N4 乐鑫科技(Espressif)
DS1820 灰台半导体(UMW)
主控芯片:乐鑫ESP3253
ESP32-S3 是一款集成2.4GHzWi-Fi和Bluetooth5(LE)的MCU芯片 , 支持远距离模式(Long Range)。ESP32-S3搭载Xtensa@32位LX7双核处理器,主频高达240 MHz,内置512KB SRAM(TCM),具有45个可编程GPIO 管脚和丰富的通信接口。ESP32-S3支持更大容量的高速Octal SPI flash和片外RAM,支持用户配置数据缓存与指令缓存。
ESP32-S3芯片具有行业领先的低功耗性能和射频性能,支持WiFi IEEE802.11b/g/n协议和Bluetooth5 。该芯片搭载Xtensa-R32位LX7 双核处理器,工作频率高达240 MHz。支持二次开发,无需使用其它微控制器或处理器。芯片内置512KB SRAM ,384KBROM , 16KBRTC SRAM。芯片支持多种低功耗工作状态,能够满足各种应用场景的功耗需求。芯片所特有的精细时钟门控功能、动态电压时钟频率调节功能、射频输出功率可调节功能等特性,可以实现通信距离、通信速率和功耗之间的最佳平衡。
模组提供丰富的外设接口,包括UART ,PWM , SPI , I2S, I2C,ADC , LCD, DVP,RMT(TX/RX),脉冲计数器, USB OTG , USB Serial/JTAG , SDIO , DMA 控制器, TWAI控制器,温度传感器,电容式传感器和多个IO口。
模块具有多种特有的硬件安全机制。硬件加密加速器支持AES、SHA 和RSA算法。其中的RNG、HMAC和数字签名(Digital Signature)模块提供了更多安全性能。其他安全特性还包括Flash加密和安全启动(secure boot)签名验证等。完善的安全机制使芯片能够完美地应用于各种加密产品。模块支持低功耗蓝牙:Bluetooth5 , Bluetoothmesh 。蓝牙速率支持:125Kbps,500Kbps,1Mbps,2Mbps。支持广播扩展,多广播,信道选择。
支持蓝牙和WIFI,就意味着可以进行很多的无线连接;同时乐鑫提供了大量的开源库,包括语音识别Skainet,可以方便的进行后期扩展。
DS1820智能温度传感器
DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化,低功耗,高性能,抗干扰能力强,易配微处理器等优点,可直接将温度转化成数字信号处理器处理。测量的温度范围是—55~125℃,测温误差0.5℃。可编程分辨率9~12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃和0.0625℃。相较热电偶传感器而言可实现高精度测温。
对热电偶温度传感器来说该项目实现的过程为:靠光敏电阻检测光照的大小,光的改变最终改变电阻的大小,给电阻外加一个电压,就改变了电压的大小,再用PCF8951AD转换器件检测电压的变化并转换为数字信号,再传到单片机上作一定的处理后去控制相应的数码管显示出当时的温度。而对DS18B20来说过程则简单的多了,热电偶电阻传感器一直到单片机之前的部分都可以用一个DS18B20来代替了,真正的实现了数字化。单片机后面的部分则两者是一样的!
DS18B20与热电阻温度传感器相比价格上,来说要贵出很多!所以在温度的测量精度要求不是很高的话可以选择热电阻温度传感器,实验者应则情而定。
三、电路图
H
四、总结
这是一个使用ESP32和DS18B20温度传感器的简单温度显示系统设计。通过将DS18B20的VCC引脚连接到ESP32的3.3V电源,GND引脚连接到ESP32的GND引脚,数据引脚连接到ESP32的GPIO引脚,实现了ESP32与DS18B20的通信连接。在软件方面,利用Arduino开发环境和OneWire库、DallasTemperature库,实现了读取DS18B20传感器温度数据的功能。读取的温度值可以通过数码管、OLED显示屏或串口监视器等显示设备进行展示,同时可以根据需要对温度数值进行格式化处理。这个项目思路可根据实际需求进行硬件和软件的定制,并可以扩展其他功能如温度报警和无线通信等。