这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » DIY一个婴儿澡盆温度计

共1条 1/1 1 跳转至

DIY一个婴儿澡盆温度计

助工
2026-04-13 12:04:21     打赏

1 前言

网上买的婴儿洗澡盆,上面自带有一个温度显示计,但是没用几次就不显示了。反馈给商家之后,商家二话不说直接又寄过来一个带温度计的支架。但是,没用几次又坏掉了。

也不太好意思再找商家了,想着自己来做一个吧,正好材料手边都是有的。

2 动手开始

首先从自己平常用的物料里面找到了如下的几件:

image.png

一个ESP32S2 mini板, 一个OLED 0.96寸显示屏,一个不锈钢外壳的DS18B20温度传感器。是的!物料就是这么简单的三样。

为了缩小体积,直接用线将这些原件焊接起来。


焊接好之后就像下图这样(这是已经烧录完程序的样子)。

image.png

3 编写代码

使用arduino进行代码编写。

#include <OneWire.h>
#include <DallasTemperature.h>
#include "SSD1306Wire.h" 

// Initialize the OLED display using Arduino Wire:
SSD1306Wire display(0x3c, 3, 2, GEOMETRY_128_64); 


// 定义DS18B20数据口连接ESP32的4号IO上
#define ONE_WIRE_BUS 4
 
// 初始连接在单总线上的单总线设备
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);


 
void setup(void)
{
  // 设置串口通信波特率
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");
  // 初始库
  sensors.begin();
  display.init();
  display.flipScreenVertically();
  display.setFont(ArialMT_Plain_24);
  display.drawString(0, 0, " Now Temp ");
  display.display(); 
}
 
void loop(void)
{
  sensors.requestTemperatures(); // 发送命令获取温度

  Serial.print("Temperature for the device 1 (index 0) is: ");
  String str = String(sensors.getTempCByIndex(0));
  Serial.println(str);


  display.clear();
  display.drawString(0, 0, " Now Temp ");
  display.drawString(20, 32, str);
  display.display(); 

  delay(500); 
}


4 设计外壳

用solidworks简单的设计一个外壳,方便保护电路,也方便使用。

image.png

使用3D打印机把这个外壳打印出来。安装上就好啦。

5 最终效果

澡盆放上水,试试温度。

image.png

非常不错!最后放上婴儿洗澡时使用的实景图。

image.png








共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]