106浏览
查看: 106|回复: 5

[项目] 【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

[复制链接]
【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图2

ESP32-CYD(2432S028)液晶2.8寸屏开发板使用ESP32-WROOM-32模块作为主控,主控是一款双核MCU,集成了Wi-Fi和蓝牙功能,主频可达240MHz,具有520KB的SRAM、448KB的ROM,闪存容量为4MB+4MB,显示分辨率为240x320,采用电阻式触控式屏幕。该模块包括LCD显示器、背光控制电路、触控式屏幕控制电路、扬声器驱动电路、光敏电路和RGB LED控制电路。支持TF卡界面、序列界面、温湿度感测器界面(DHT11界面)和保留的IO口界面,该模块支持在Arduino IDE、ESP IDE、MicroPython和Mixly中进行开发。


【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图1

驴友花雕  中级技神
 楼主|

发表于 2024-11-7 19:36:04

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十八:ESP32 CYD开发板WiFi蓝牙2.8寸240*320智能液晶显示屏带触摸屏TFT模块
  项目实验之十五:ESP32 CYD液晶板使用经典蓝牙SPP进行数据传输,并在TFT屏幕上显示连接情况

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十八:ESP32 CYD开发板WiFi蓝牙2.8寸240*320智能液晶显示屏带触摸屏TFT模块
  4.   项目实验之十五:ESP32 CYD液晶板使用经典蓝牙SPP进行数据传输,并在TFT屏幕上显示连接情况
  5. */
  6. #include <SPI.h>
  7. #include <TFT_eSPI.h>
  8. #include <BluetoothSerial.h>
  9. TFT_eSPI tft = TFT_eSPI();
  10. BluetoothSerial SerialBT;
  11. // 存储聊天记录的缓冲区
  12. String chatHistory = "";
  13. void setup() {
  14.   // 初始化TFT屏幕
  15.   tft.init();
  16.   tft.setRotation(0); // 设置屏幕旋转为0度
  17.   tft.fillScreen(TFT_BLACK);
  18.   tft.setTextColor(TFT_WHITE, TFT_BLACK); // 设置文本颜色为白色,背景颜色为黑色
  19.   tft.setTextFont(4);
  20.   tft.setCursor(20, 10);
  21.   tft.println("Starting Bluetooth...");
  22.   // 初始化蓝牙
  23.   if(!SerialBT.begin("ESP32_SPP")) { // 设备名称为ESP32_SPP
  24.     tft.setCursor(20, 50);
  25.     tft.setTextColor(TFT_RED);
  26.     tft.println("Bluetooth start failed");
  27.   } else {
  28.     tft.setCursor(20, 50);
  29.     tft.setTextColor(TFT_GREEN);
  30.     tft.println("Bluetooth started");
  31.   }
  32. }
  33. void loop() {
  34.   // 检查蓝牙连接状态
  35.   if(SerialBT.hasClient()) {
  36.     // 读取数据
  37.     while (SerialBT.available()) {
  38.       String incoming = SerialBT.readString();
  39.       chatHistory += incoming + "\n"; // 将收到的消息添加到聊天记录中
  40.       updateDisplay(); // 更新显示内容
  41.     }
  42.   } else {
  43.     tft.fillScreen(TFT_BLACK);
  44.     tft.setCursor(20, 10);
  45.     tft.setTextColor(TFT_WHITE, TFT_BLACK);
  46.     tft.println("Waiting for client...");
  47.     delay(1000); // 每秒检查一次连接状态
  48.   }
  49. }
  50. // 更新显示内容的函数
  51. void updateDisplay() {
  52.   tft.fillScreen(TFT_BLACK);
  53.   tft.setCursor(20, 10);
  54.   tft.setTextColor(TFT_GREEN, TFT_BLACK);
  55.   tft.println("Client Connected!");
  56.   tft.setTextColor(TFT_BLUE, TFT_BLACK);
  57.   tft.setCursor(20, 50);
  58.   tft.println(chatHistory);
  59. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-11-7 19:38:35

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

实验场景图

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-11-7 19:39:53

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

在手机端打开蓝牙,连接ESP32_SPP
【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图1





回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-11-7 19:42:31

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

在聊天上发送信息


【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-11-7 19:44:29

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙

屏幕上显示信息

【花雕学编程】Arduino动手做(238)--ESP32 CYD 连接 蓝牙图1

回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail