问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于ESP32的遥控关灯系统制作教程

创作时间:
作者:
@小白创作中心

基于ESP32的遥控关灯系统制作教程

引用
CSDN
1.
https://blog.csdn.net/2402_82591468/article/details/143449045

你是否经常遇到上床后忘记关灯的困扰?本文将为你介绍一个基于ESP32的遥控关灯系统,通过简单的硬件连接和程序编写,让你轻松实现远程关灯功能。

整体架构流程

整体框架很简单,主要使用单片机控制两个舵机,再通过3D打印制作外壳,适合新手小白体验技术带来的便利。

名词解释

  • ESP32:由Espressif Systems开发的低成本、低功耗系统级芯片(SoC),集成了Wi-Fi和蓝牙BLE功能,便于实现蓝牙遥控功能。
  • 舵机:一种能够将电信号转换为机械运动的执行器,常用于控制机器人、模型飞机等设备。这里使用的是基础型号SG90。

技术细节

材料准备

  • ESP32单片机
  • SG90舵机*2
  • 杜邦线
  • 供电电池
  • 3D打印机

接线方法

首先需要了解ESP32的引脚图。本项目仅需使用D13和D15两个GPIO引脚分别连接两个舵机。舵机的三根线中,橙黄色线连接GPIO引脚,红色线连接Vcc正极,棕色线连接GND负极。建议使用拓展板供电,更加方便。

3D建模与打印

使用SolidWorks软件设计外壳模型,参考购物平台上的产品设计,确保舵机能通过转动实现开关灯功能。如果没有3D打印机,可以将模型发给商家代打。

程序编写与烧录

使用VScode的PlatformIO IDE进行程序开发,代码如下:

#include <BluetoothSerial.h>
#include <ESP32Servo.h>

BluetoothSerial SerialBT;
Servo myservo1;
Servo myservo2;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32");
  
  myservo1.attach(13); // 将舵机连接到引脚 13
  myservo1.write(90); // 设置舵机的初始位置 
  myservo2.attach(15); // 将舵机连接到引脚 15
  myservo2.write(90); // 设置舵机的初始位置
 
  Serial.println("Bluetooth Serial Started");
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    SerialBT.write(cmd);
  }
  
  if (SerialBT.available()) {
    char cmd = SerialBT.read();
    Serial.write(cmd);
    switch (cmd)
    {
    case 'a': // 两盏灯同时开
      myservo1.write(180); // 舵机旋转到最大位置
      myservo2.write(180);
      delay(1000);
      myservo1.write(90);
      myservo2.write(90);
      break;
    case 'b': // 两盏灯同时关
      myservo1.write(0); // 舵机归零
      myservo2.write(0);
      delay(1000);
      myservo1.write(90);
      myservo2.write(90);
      break;
    case 'c': // 一开一关
      myservo1.write(180);
      myservo2.write(0);
      delay(1000);
      myservo1.write(90);
      myservo2.write(90);
      break;
    case 'd':
      myservo1.write(0);
      myservo2.write(180);
      delay(1000);
      myservo1.write(90);
      myservo2.write(90);
      break;
    default:
      Serial.println("ERROR!");
      break;
    }
  }
}

手机蓝牙调试

使用手机蓝牙调试器APP连接ESP32,根据程序设计编辑按键发送的数据,实现对应功能。

改进优化

  • 直接使用单片机和扩展板可能有些浪费,建议设计专用的PCB板和外壳,使整体结构更加美观和耐用。
  • 可以考虑增加更多功能,如定时关灯、语音控制等。

这个基于ESP32的遥控关灯系统不仅实用,而且制作过程充满乐趣,非常适合电子爱好者尝试。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号