[项目]Esp32 C6 Wifi小夜灯 精华

1100浏览
查看: 1100|回复: 2

[项目] Esp32 C6 Wifi小夜灯

[复制链接]
本帖最后由 云天 于 2024-3-24 17:30 编辑

【项目背景】
用新年某宝红包又又又免费薅了一个小夜灯,内部结构简单的普通LED灯。最近又申请试用ESP32 C6,想将两者结合,制作出一个智能小夜灯。
【项目亮点】
之前的LED灯改造,都用到了电磁继电器,这次小夜灯内空间较小,无法放入电磁继电器,手头也没有“MOSFET直流开关”(这个我一直想测试一下)。就试着用两个引脚高低电平来控制,小夜灯上的微动开关。
【项目设计】
使用ESP32 C6的4、7引脚连接微动开关,在连线上串一个222欧姆的电阻,用来限流。3.7V锂电池接ESP32 C6板BAT引脚(Beetle ESP32-C6集成锂电池充电管理功能)
【制作过程】
1.拆解小夜灯
Esp32 C6 Wifi小夜灯图8


2.焊接
Esp32 C6 Wifi小夜灯图9

Esp32 C6 Wifi小夜灯图10

Esp32 C6 Wifi小夜灯图11

Esp32 C6 Wifi小夜灯图12

3.组装

Esp32 C6 Wifi小夜灯图13




【编写程序】
1.ESP32 C6板程序
使用Arduino IDE,安装开发板,借鉴了网友的方法:开发板地址1:https://espressif.github.io/ardu ... sp32_dev_index.json,开发板地址2:https://djzrs.github.io/picx-ima ... sp32_dev_index.json,把这两个添加到开发板网址里面,然后在板子管理里面,安装esp32 3.0版本的库即可。
程序源代码:
  1. /*
  2. 步骤:
  3. 1.连接到WIFI”FireBeetle ESP32“,已设置WIFI密码:12345678
  4. 2.访问网址 http://192.168.4.1/ON 来打开灯 访问 http://192.168.4.1/OFF 来关闭灯
  5. 3.在访问后通过点击上下 here 来便捷控制灯的亮灭
  6. */
  7. #include <WiFi.h>
  8. #include <WiFiClient.h>
  9. #include <WiFiAP.h>
  10. #define myLED 4 //设置引脚15为LED引脚
  11. // 设置WIFI名称以及密码
  12. const char *ssid = "yuntian";//WIFI名称
  13. const char *password = "12345678";//密码
  14. WiFiServer server(80);//网页服务端口默认为80
  15. void setup() {
  16.   pinMode(4, OUTPUT);
  17.   pinMode(7, OUTPUT);
  18.    digitalWrite(7, HIGH);
  19.   Serial.begin(115200);
  20.   Serial.println();
  21.   Serial.println("Configuring access point...");
  22.   //如果想要无密码开放网络请删除password
  23.   WiFi.softAP(ssid, password);
  24.   IPAddress myIP = WiFi.softAPIP();
  25.   Serial.print("AP IP address: ");
  26.   Serial.println(myIP);
  27.   server.begin();
  28.   Serial.println("Server started");
  29. }
  30. void loop() {
  31.   WiFiClient client = server.available();   // 检测等待连接
  32.   if (client) {                             // 检测是否连接
  33.     Serial.println("New Client.");
  34.     String currentLine = "";                // 创建String变量来保存数据
  35.     while (client.connected()) {            // 保持连接时一直循环
  36.       if (client.available()) {             // 检测连接是否有数据
  37.         char c = client.read();             // 读取接收的数据
  38.         //Serial.write(c);                    // 打印在串行监视器
  39.         if (c == '\n') {                    // 如果读取的是换行符
  40.           //结尾用换行符提醒结束
  41.           if (currentLine.length() == 0) {
  42.             client.println("HTTP/1.1 200 OK");
  43.             client.println("Content-type:text/html");
  44.             client.println();
  45.              //将字符与here连接
  46.             client.print("Click <a href="/on">here</a> to turn ON the LED.<br>");
  47.             client.print("Click <a href="/off">here</a> to turn OFF the LED.<br>");
  48.             // HTTP响应为空行
  49.             client.println();
  50.             // 跳出循环
  51.             break;
  52.           } else {    // 如果有一个换行符就清除变量缓存的数据
  53.             currentLine = "";
  54.           }
  55.         } else if (c != '\r') {  // 如果获得回车以外的字符
  56.           currentLine += c;      // 获得的字符添加到变量末尾
  57.         }
  58.         // 检查是否获得/ON或者/OFF
  59.         if (currentLine.endsWith("/on")) {
  60.          
  61.           digitalWrite(7, LOW);
  62.           delay(200);
  63.           digitalWrite(7, HIGH);
  64.    
  65.         }
  66.         if (currentLine.endsWith("/off")) {
  67.           digitalWrite(7, HIGH);
  68.           delay(200);              
  69.         }
  70.       }
  71.     }
  72.     // 关闭连接
  73.     client.stop();
  74.     Serial.println("Client Disconnected.");
  75.   }
  76. }
复制代码
2.手机APP程序使用Appinventor2 汉化版
界面设计
Esp32 C6 Wifi小夜灯图1

程序设计
Esp32 C6 Wifi小夜灯图2

Esp32 C6 Wifi小夜灯图3

【制作过程测试】

Esp32 C6 Wifi小夜灯图4

Esp32 C6 Wifi小夜灯图5

Esp32 C6 Wifi小夜灯图6


Esp32 C6 Wifi小夜灯图7

【演示视频】


有明堂  学徒

发表于 2024-3-24 17:31:36

本帖最后由 有明堂 于 2024-3-25 07:29 编辑

太666了!!! 直接出产品了我的还再更新库中
用第二个地址,早上更新,终于找到了C6
回复

使用道具 举报

CVJjy97I8Zlr  初级技师

发表于 2024-3-26 16:32:15

刚收到免费试用的货,照着试了一下,效果杠杠的,感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail