一、项目和创意方向介绍
炎热的夏季,每个人难免都想能随时随地的喝上一瓶冷饮,可作为学生,在校期间,除了在小卖部购买,无法从另外的途径获得。为了能在深夜或清晨第一时间喝到一口冰美式,我开始思考,如何在不触及宿舍用电规范的情况下,在宿舍放置一个DIY的小冰箱。为了避免冰箱长时间运行对宿舍的耗电,我需要使用让冰箱具备远程控制的功能。
二、项目设计思路及实现方法
通过乐鑫ESP32S3作为主控,开启蓝牙,通过手机串口与ESP32S3的蓝牙连接,然后发送数据控制GPIO口。GPIO口通过输出高低电平来控制继电器,进而控制制冷片和风扇电源启动关闭。通过温度显示模块显示冰箱内部温度。
项目方案框图和原理图介绍4
整体方案并不复杂
通过手机向单片机发送信号,单片接收到信号后,电源启动,冰箱开始制冷,温度显示模块显示实时温度。
三、设计中用到的指定厂商元器件及介绍
用乐鑫ESP32来实现对冰箱的远程控制,乐鑫ESP32是一款由乐鑫信息科技(Espressif Systems)推出的高度集成的低功耗系统级芯片(SoC),特别适用于各种物联网(IoT)应用。它具备以下核心特性:1.采用双核处理器设计,包括一个主频高达240MHz的主核和一个协处理器核心,通常配备约520KB到4MB的RAM,包括内部RAM和外部PSRAM,用于存储程序和数据。2.内置Wi-Fi和蓝牙功能,支持IEEE 802.11 b/g/n Wi-Fi标准(工作在2.4GHz频段)以及蓝牙4.2(包括BR/EDR和BLE),使得ESP32能够轻松连接到无线局域网络,进行Internet访问、局域网通信和远程控制,同时也能与各种蓝牙设备进行通信。3.拥有丰富的外设和接口,包括最多34个可编程GPIO引脚、UART、SPI、I2C、I2S、PWM等多种通信协议支持,以及12位ADC(最多18通道)、8位DAC(2通道)、触摸传感器(最多10通道)等模拟和数字信号处理能力。4.支持深度睡眠模式,其中所有非必要的电路都被关闭,以最小化功耗。此外,Wi-Fi模块和蓝牙模块都支持功耗优化功能,可以在数据传输时限制功率消耗,从而延长电池寿命。乐鑫ESP32还具有一个低功耗的RTC模块,可在芯片进入深度睡眠模式时继续运行,用于提供时间戳或执行时间相关的任务。
四、PCB设计介绍及遇到的问题和解决方法
PCB为乐鑫ESP32-S3的拓展板,方便调试的同时也为后续添加其他功能搭建了环境
五、关键代码及说明
通过配置GPIO引脚及方式为输出,再配置蓝牙串口,通过判断手机传输的数据选择GPIO的输出电平
#include <BluetoothSerial.h>
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
BluetoothSerial SerialBT;
const int Pin = 2; // 使用GPIO2作为引脚
void setup() {
pinMode(Pin, OUTPUT);
Serial.begin(115200);
SerialBT.begin("ESP32_BT"); // 启动蓝牙串口,名称为"ESP32_BT"
Serial.println("The device started, now you can pair it with bluetooth!");
}
void loop() {
if (SerialBT.available()) {
char command = SerialBT.read();
Serial.println(command);
if (command == '1') {
digitalWrite(ledPin, HIGH); // 打开
SerialBT.println("ON");
} else if (command == '0') {
digitalWrite(Pin, LOW); // 关闭
}
}
}
六、功能展示图及说明
乐鑫ESP32S3与电源开关控制部分(成功上电)
风扇及制冷片散热部分(成功启动)
温度显示及冰箱外壳(六小时降温成功)
七、心得体会
这次Fast Bond活动,我学到了很多东西,比如:
- 技术栈的扩展:该项目不仅加深了我对已有技术的理解,如绘制原理图和PCB应用,还让我接触到了新的技术和工具,拓宽了我的技术视野。
- 问题解决能力的提升:面对项目中遇到的各种挑战,无论是技术难题还是需求变更,我都学会了如何快速定位问题、分析原因并找到解决方案,这大大提升了我的问题解决能力。
- 持续学习的态度:在这个快速发展的行业里,只有不断学习才能跟上时代的步伐。
fastBond
项目让我意识到持续学习的重要性,激发了我对新技术探索的热情。 - 用户体验的关注:除了关注技术实现外,项目也教会了我从用户角度出发思考问题,注重产品的易用性和用户体验,这对于开发出真正有价值的产品至关重要。
总之,fastBond
项目是一次非常宝贵的经历,它不仅提高了我的专业技能,更重要的是培养了我解决问题的能力和团队协作的精神。未来,我将继续保持这种积极向上的态度,迎接更多的挑战。