如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

本文主要介绍了 ESP-NOW 技术 在物联网中的应用。ESP-NOW 是乐鑫公司的无连接 WiFi 通信协议,通过设备 MAC 地址识别和通讯,适合多设备低功耗低延迟数据传输。

概述

ESP-NOW是一种由乐鑫公 司 定义的无连接WiFi通信协议,类似于低功耗的2.4GHz无线连接。 ESP-NOW在通信前需要对设备进行配对,配对完成后连接是安全、点对点且持久的,适合于多设备的低功耗低延迟数据传输。 但同时也与传统WiFi不同,ESP-NOW不需要路由器或接入点,而是通过设备MAC地址进行识别和通讯。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
(图片来源:DFRobot)
接下来,我们来看一看由 DFRobot 提供的 Beetle ESP32-C3 。它不仅支持 ESP-NOW 通信,还具备低功耗和小尺寸的优势。
Beetle ESP32-C3 在仅有硬币大小的体积上,引出了 多达 13 个 I/O 口 ,同时主控板还 集成锂电池充电管理功能 ,可以直接连接锂电池,不需要外围模块。
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
Beetle ESP32-C3 配套的扩展板在未增加太大体积的情况下,引出了更多的接口,在制作项目时 焊接更加方便 。板载的GDI显示屏接口,解决使用屏幕时的接线烦恼。Beetle ESP32-C3 支持Wi-Fi和Bluetooth 5 (LE)双模通讯,并且拥有详细的示例 教程 ,通过教程可以轻松地使用控制器的无线功能,连接物联网平台。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源: DFRobot)
DFRobot 的 Beetle 系列开发板以其小巧且功能强大的设计着称,非常适合空间有限的项目。无论在性能还是灵活性方面,相信它们都能够完美满足大家的需求。
接下来介绍基于Beetle ESP32-C3开发板的 运动按钮 项目。Beetle ESP32-C3具有小尺寸、低功耗、支持WiFi和蓝牙等优点, 非常适合该项目。项目包括4个运动按钮、WS2812灯带、蜂鸣器等组件,通过ESP-NOW实现设备间的同步和交互。项目设计了3种游戏模式: 打地鼠、接力和击鼓传花, 可以用于多人游戏或智能家居控制等应用场景。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!
(图片来源:DFRobot)
硬件组装完成后,进入编程环节。首先我们将使用 Arduino IDE 来编写和上传代码。如果你习惯使用其他编程环境,也可以选择自己熟悉的工具和代码。选取 Arduino 中的 ESP-NOW 的示例代码,我们来看看 ESP-NOW 的能力到底怎么样。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
上传烧录以后我们就可以看到,发射和接收信息的延时是 2~4 ms 左右,单向传播的延时约为 2 ms 左右,相当于 1/100 秒,速度非常快。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
确保每个设备都能正常识别和通信后,接下来就可以进入下一步的功能实现。为了方便大家理解,这里用脑图的方式将程序结构做了梳理,供大家参考。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
现在和大家简单说下游戏规则的设置。在现有的程序里预设了三个模式,可以用短按来选择,长按 3 秒来确认选择。需要切换的时候,随时可以用长按来进入菜单。
模式 1 是打地鼠模式,这个模式下,我们的程序会随机在 4 个运动按钮上出现红色的信号,需要在最短时间内按下,才能获得成绩。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
模式 2 是接力模式,在这个模式下,每按一次运动按钮上出现绿色按钮,下一个运动按钮就会变成另外一个颜色,也就是说你需要依次按动按钮,这个时候就是接力模式。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
模式 3 是击鼓传花模式,进入此模式时 4 个按钮依次循环亮蓝灯,按下带屏幕的主按钮,此时亮蓝灯的那个按钮,就是被选中的“天之骄钮”了。

如何利用 ESP-NOW实现运动按钮联动?三种玩法任选!

(图片来源:DFRobot)
在这个项目中, 按钮的状态将通过 ESP-NOW 实时同步到所有设备 ,LED 和蜂鸣器会根据按钮状态作出相应的反馈。此外,此项目还可以展示不同的游戏模式,比如多人对战或合作模式,让大家看到这个项目在实际应用中的各种可能性和互动方式。
运动按钮项目不仅可以用于简单的游戏和互动,还可以扩展到其他领域,比如智能家居控制器、物联网项目等。欢迎大家发挥创意,探索 ESP-NOW 和 DFRobot 开发板的更多可能性。无论是改进现有项目,还是开发新的应用,这些技术都能为你带来无限的创作空间。

来源:https://www.eeworld.com.cn/emp/DigiKey/a387773.jspx

- 本文内容来自网络,如有侵权,请联系本站处理。

2024-10   阅读(5)   评论(0)
 标签: 创客 ESP32

涨知识
EDA

电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。

评论:
相关文章
在ESP32上实现WEB交互界面

本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。


Arduino ESP32获取芯片、RAM信息

本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。


ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


ESP32 GPIO 矩阵和引脚多路复用

ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。


ESP32Encoder:高效的ESP32旋转编码器库

ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。


适合学习物联网的几款盒子

本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。


乐动掌控

乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。


ESP32 MicroPython存储数据到闪存

在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。


Arduino-ESP32 Preferences库使用详解

Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。