-
Arduino教程:使用millis()代替delay()
众所周知的Arduino里的delay()将程序暂停指定为毫秒数的参数。 millis()另一方面,是一个返回自程序启动以来经过的毫秒数的函数。 乍一看,您可能会怀疑此功能的实用性。事实是,它在许多情况下非常有用,通常会完全“替换”delay() 。首先让我们看一下如何使用millis()几乎完全像delay()。 时序问题经常出现在编程中。 使用像millis(… -
二十四,ESP32 条件运算符
一,介绍 在本教程中,我将介绍再ESP32 在arduino核心上如何使用C++条件运算符(三元运算符,此运算符需要三个操作数,并具有以下语法: Expression1 ? Expression2 : Expression3 计算第一个表达式并隐式转换为布尔值。如果计算结果为true,则计算第二个表达式。如果它的计算结果为false,则会计算第三个表达式。 条件运算符的最终结果是第二个或第三个表达… -
十五,ESP32 连接到WIFi网络
我这一篇文章主要说的是如何使用arduino IDE 将ESP32 连接到WIFi网络。 一,介绍 这篇文章的目的是解释如何使用Arduino IDE将ESP32连接到WiFi网络。幸运的是,对于我们之前有ESP8266 Arduino IDE库经验的人来说,程序非常相似。 如果您尚未安装ESP32 Arduino IDE支持,请在如何操作。 二.元器件清单 ESP32开发板 四.代码设计 下面我… -
三、ESP32触摸式按键
ESP32有10个内部电容式触摸传感器。我们可以利用这些传感器制作触摸式按键。以下就是这些传感器相对应得GPIO引脚: T0:GPIO 4 T1:GPIO 0 T2:GPIO 2 T3:GPIO 15 T4:GPIO 13 T5:GPIO 12 T6:GPIO 14 T7:GPIO 27 T8:GPIO 33 T9:GPIO 32 arduino 也内置有相应的语法:t… -
二十三,ESP32 按AND 位运算符
一,介绍 在本例程中,我们将在arduino核心上使用AND位运算符。在ESP32 上面运行。 请注意,这是一个C/C++ 的运算符,这意味着我们可以在arduino 支持的其他微控制器的程序中以及通用的C/C++ 程序中使用它。 在二进制中,AND 运算符是双目运算符。产生的结果是一位。如果输入位均为1,则结果为1,对于其他输入组合。结果都为0。你可以在图1的真值表中查询。以及所有的输入组合。 … -
八,ESP32使用多个串行端口
一.介绍 ESP32支持3个串行端口,因此您无需像通常的Arduino那样使用SoftwareSerial。在本教程中,我们只关心使用如何在Arduino ESP32上使用多个串行端口将调试信息打印到终端。 二.元器件清单 ESP32开发板 三.代码设计 我们使用“ HardwareSerial ”类进行串行通信。它有一些重要的接口: HardwareS… -
如何使用ESP32控制继电器模块
了解如何创建网页来控制带有ESP32的继电器模块。在本项目中,我们将使用ESP32控制继电器模块。我们将ESP32连接到Wi-Fi网络,然后通过IP地址和端口(显示在串行监视器上)创建一个网页。使用该网页,我们会将命令发送到ESP32以打开或关闭继电器模块。 硬件清单 1个 ESP32 1个 继电器模块 1个 连接线 电路原理图 代码说明 让我们遍历代码的不同方面以及代码的每个部分查看都负责做什么… -
十二,ESP32将数据存储到SD卡
一.介绍 使用SD卡来存储数据。因为SD卡容量大,所以与EEPROM相比可以存储更多数据。为什么SD卡对ESP32很有用?如您所知,ESP8266和ESP32在物联网应用中更受欢迎。他们可以保留以下角色: – 客户端从传感器收集数据,如温度或湿度或事件日志,并将这些数据保存到SD卡中。 – 使用SD卡存储网页,图像,javascript等的Web服务器,它将返回给客户端请求… -
二十六,ESP32 使用事件组同步多个任务-广播事件
一,介绍 事件组的好处: – 任务将处于阻塞状态以等待一个或多个事件的组合。它有助于同步多个任务,广播事件(通过设置任务的事件位以通知发生的事件)到多个任务。 – 取消阻止等待相同事件/操作或要发生/完成的事件/操作组合的所有任务。 – 事件标志可以是0或1.它用于指示事件是否发生。并且由EventBits_t数据类型中的一个位表示。 – 事件组是一… -
十八,ESP32 PIR运动传感器的使用
一.介绍 在本教程中,我们使用ESP32 和PIR运动传感器检测运动的物体,由于PIR运动传感器检测到运动的物体会返回一个高电平,这意味着我们可以使用它来检测一个人何时进入和离开某一个区域。在许多场景都用到了这个一个传感器,比如触发警报或打开灯。 IR代表P yroelectric I nfra r ed(很多时候,它们也被称为P ass… -
十七,ESP32内部霍尔传感器
一,介绍 本文的主要目的是解释如何使用ESP32 的内部传感器获取测量的结果,霍尔传感器是在磁场的作用下输出比例电压的一个装置。这是ESP32众多传感器的一种,我们将获取附近没有磁场的值,然后我们将磁铁靠近ESP32时测试的结果。 二,硬件 ESP32开发板 三,代码设计 对于这个ESP32教程,我们不需要任何库包含。此外,设置功能将非常简单,基本上是打开串行通信,因此我们可以将霍尔传感器测量结果… -
三十,如何配置ESP32双核
1,介绍 ESP32是ESP8266 的一个升级、改进的版本(花时间玩ESP32 后,发现比ESP8266更快,功能更加丰富)。ESP32 的一个特点是其他单片机不能比的是它支持双核。以下的演示将为您展示如何在arduino中配置ESP32 多核。 2.硬件 ESP32开发板 3.代码设计 我们将重用Queue教程,在本演示中,我们创建了2个任务,1个任务称为“sendTa… -
十三,ESP32使用TCP/IP
1.简介 在本教程中,我们将学习如何使用ESP32的Internet功能。这将成为申请物联网(IoT)的基础知识。我们将学习一些概念,例如:TCP / UDP-IP,Web服务器,MQTT(消息队列遥测传输)协议。除此之外,我们还需要一个工具/应用程序来测试ESP32的Internet功能,因此我们将使用Node-RED。Node-RED是一个基于流的编程工具,由IBM的Emerging Tech… -
五、ESP32使用PWM控制蜂鸣器
一.介绍 此教程的目的是解释如何使用其PWM功能控制ESP32的蜂鸣器,由于 ESP32的Arduino库尚未实现音调功能,因此只能使用PWM频率控制蜂鸣器这一种方法了。 二.元器件清单 ESP32开发板 一个蜂鸣器 面包板 导线若干 三.电路图 三.代码 我们将首先声明控制ESP32的PWM功能所需的一些全局变量。我们将设置初始频率(虽然我们将在代码中稍后更改),PWM的通道和占空比规… -
十四,ESP32 中使用中断
1.简介 中断的概念: 中断发生 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理 中断响应和中断服务 CPU暂时中断当前的工作,转去处理事件B 中断返回 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A 这一过程称为中断。 本教程的演示非常简单。我们使用一个按钮连接到中断引脚。每次用户按下按钮,都会在E… -
二十七,使用首选项备份ESP32主闪存中的数据
一,介绍 该库使用主闪存的一部分来存储数据, 数据存储在键值对下。密钥长度为15个ASCII字符,必须是唯一的。值可以是: +整数类型 +可变长度二进制数据(blob) – 必须匹配写入和读取值的数据类型。 – 我们的首选项具有如下结构: namespace { key:value } 其中命名空间是为了避免键冲突(如果我们有2个具有相同名称的键,我们使用命名空间… -
ESP32连接Google Gemini API进行对话
本教程将详细介绍如何使用ESP32连接到互联网,并通过Google的Gemini API发送问题并获取回答。我们将使用以下库:WiFi库、HTTPClient库和ArduinoJson库。 注意:你的网络需要支持科学上网,才能正常访问接口,如果不支持,那就不行哈。不管支不支持,回复一下支持一下作者呗,谢谢!! 一、准备工作 硬件: 一块支持WiFi的Arduino开发板(如ESP32或ESP826… -
二十,ESP32 SPIFFS:写一个文件
一,介绍 在本教程中,我我们将使用SPIFFS文件系统如何在ESP32 中创建一个文件。SPIFFS它是旨在用于SPI NOR 闪存器上的嵌入式设备文件系统,您可以在此处阅读有关SPIFFS的更多信息。 在本教程中,我们将检验如何挂载文件系统。创建文件并向里面写入一些文本,而下一个教程中我们将介绍如何读取文件。本教程基于arduino 核心SPIFFS示例。 二,硬件 ESP32开发板 三,电路图… -
如何使用ESP32从网页控制伺服电机
我们将使用ESP32从网页控制伺服电机,这比使用Arduino容易得多。 在这个项目中,我们将使用ESP32从网页控制伺服电机。从Arduino控制伺服电机非常容易,但是使用ESP32来控制它有点困难,因为ESP32不具有Analogwrite()函数。因此,借助伺服电机的库,我们将能够控制舵机。 硬件 1个 ESP32 1个 伺服马达 1个 连接线 电路原理图 伺服电机的黄线为信号线;将其连接到… -
二、ESP32 LED的闪烁
像往常一样,当我们开始探索一个新硬件时,要做的第一件事就是让LED闪烁。这会让我们兴奋不已,确实值得我们炫耀一番。 一.点亮LED 1.元器件清单 ESP32开发板 一个LED(我这里的是5mm红色) 一个电阻220欧姆 面包板 导线若干 在这里我顺便说一下LED的限流电阻应该怎样选取,设置的合适的阻值。我们可以从LED的数据手册上查到LED的有关参数,要计算LED的限流电阻,最重要的参数为:正向… -
AI产品的全面解决方案:探索人工智能的无限可能
在这个人工智能快速发展的时代,AI产品正在改变我们的生活和工作方式。本文将为您全面介绍当前市场上各类AI产品和应用,涵盖从ChatGPT到图像生成、文本处理等多个领域,为您提供一站式的AI产品解决方案指南。 ChatGPT应用:对话的未来ChatGPT作为近期最热门的AI技术之一,其应用范围正在不断扩大。从简单的对话到复杂的问题解答,ChatGPT正在改变我们与机器交互的方式。 ChatGPT指令… -
十九 ,ESP32 74HC595 的使用
一,介绍 74HC595 是一款价格便宜的八位移位锁存器,通过三个引脚(DS、STCP、SHCP),就可以控制几乎无限量地输出。 DS是串行输入端口,每当时钟输入(SHCP)上升沿来临时,DS引脚当前电平值在移位寄存器中会移一位,连续进行8次同样的动作,就可以完成全部(Q0至Q7)移位。最后当STCP(Latch)上升沿到来时,移位寄存器的值将会被锁定在存储器里,并从Q0至Q7引脚输出。ESP32… -
十,ESP32 在I2C LCD显示信息
一.介绍 本教程介绍如何通过LCM1602模块将LCD模块连接到Arduino ESP32,以显示来自ESP32的信息。将ESP32连接到LCD模块有两种方法: 直接连接。通过这种方式,ESP32将浪费7个GPIO引脚(4个GPIO引脚用于数据传输,3个GPIO引脚用于LCD控制)。 通过LCM1602模块连接。通过这种方式,ESP32将仅使用2个GPIO引脚作为I2C SDA和SCL引脚。LCM… -
二十八,ESP32 低功耗睡眠模式
1,介绍 所有先前与WiFi相关的演示,ESP32都以站点模式运行,其中ESP32将成为WiFi网络的客户端。在此演示中,我们将使其成为一个接入点,在该接入点中,它是WiFi发射点,以便WiFi客户端可以连接到它。请注意,ESP32可以在站点和接入点模式下运行,它是WiFi客户端并发射WiFi。 2,硬件 您不需要任何额外的硬件。 3.软件 为了设置ESP32的WiFi模式,我们将使用以下功能: … -
二十一,ESP32 SPIFFS:读取一个文件
一,介绍 在本教程中我将检测在ESP32 使用SPIFFS 文件系统从文件中读取内容,有关于如何编写文件的详细教程,请看上一篇的教程。 在下面的的代码中,我们将在读取之前编写该文件。但如果你已经按照上一个教程进行操作的话,你可以跳过这一步。因为该文件已经保留在SPIFFS 文件系统中了。 二,硬件 ESP32开发板 三,电路图 无 四,代码设计 我们通过包含SPIFFS.h库来启动代码,因此我们可… -
2025年20个最好的AI工具和应用
生成式人工智能应用程序和工具根据它们从大量人工智能模型、数据集和神经网络中接受的训练生成原创内容。 世界上最大的科技公司和新兴的人工智能初创公司都在以每分钟为单位发布新的生成式人工智能解决方案,这使得人们很难跟上这项新兴技术的步伐。 为了全面了解当前的生成式AI工具领域,我们编制了这份详细的指南,介绍了前20个生成式AI应用程序和工具。这些生成式人工智能工具的选择是基于它们当前的受欢迎程度和可访问… -
四、ESP32PWM功能
今天主要介绍本文的目的是解释如何使用ESP32PWM功能实现LED灯亮度的变化, 一.介绍 ESP32 Arduino环境支持尚未提供常用的analogWrite Arduino函数。因此,我们需要转到本教程中的低级函数。不过,我们在PWM功能方面也有更多的控制和灵活性,这样对我们来说是一个好消息。 在硬件方面,ESP32的LED PWM由16个独立通道组成,具有可配置的占空比和波周期。… -
ESP32 LED的闪烁
像往常一样,当我们开始探索一个新硬件时,要做的第一件事就是让LED闪烁。这会让我们兴奋不已,确实值得我们炫耀一番。 -
九,ESP32 DHT11/22 读取温湿度
一.介绍 传感器模块DHT11 / DHT22用于测量温度/湿度。在本教程中,我们将学习如何使用Arduino ESP32与DHT11 / DHT22(这里使用DHT11)进行通信,以读取温度和湿度值。 二.元器件清单 ESP32开发板 一个DHT11模块 面包板 导线若干 三.电路图 四.代码设计 我们将使用由Adafruit提供的DHT22库传感器。你可以在这里下载https: //githu… -
十一,ESP32 SPI LED点阵显示信息
一.介绍 本演示向您展示如何通过MAX7219模块将LED矩阵模块连接到Arduino ESP32,以显示ESP32的信息。将ESP32连接到LED矩阵模块有两种方法: 直接连接。通过这种方式,ESP32将浪费许多GPIO引脚(至少8×8用于8×8 Led矩阵)。 通过MAX7219模块连接。通过这种方式,ESP32将只使用3个GPIO引脚作为SPI MOSI,CLK和CS… -
十六,ESP32 OLED(ssd1306)显示器入门
一,介绍 在本教程中,我们使用ESP32 在I2C OLED显示屏进行显示“hello word”,为了与显示屏进行交互,我们在这里使用了I2C的协议。让我们感到高兴的是,ESP32 的arduino核心已经实现了一个与Wire.h先对应的库。此外我们还需要安装一个ssd1306 的库,这个库可以使用更高级的API与显示器进行交互,提供了一些非常易于使用的功能,它可以通过A… -
二十二,ESP32 SPIFFS 获取文件的大小
一,介绍 在本教程中,我们将使用ESP32 SPIFFS文件系统 获取文件的大小。有关于如何写入文件的介绍,请在这里查询。 二,硬件 ESP32开发板 三,电路图 无 四,代码设计 正如我们在之前的帖子中所做的那样,我们需要包含SPIFFS.h库。这样,我们就可以访问SPIFFS extern变量,我们将使用它来与文件系统进行交互。 #include "SPIFFS… -
六、ESP32RGB-LED灯
一.介绍 RGB灯有4个引脚,R、G、B三个引脚连接到LED灯的一端,还有一个引脚是共用的正极(阳)或者共用的阴极(负)。我们这里选用的是共阳RGB,展示了三个LED如何华丽蜕变为一个RGB的过程,R、G、B其实就是三个LED的负极,把它们的正极拉到一个公共引脚上了,它们公共引脚是正极,所以称之为共阳RGB。 共阳RGB与共阴RGB的区别 上面我们还遗留一个问题——共阴与共… -
二十九,ESP32FreeRTOS:如何使用Messages Queue
1,介绍 队列是先进先出(FIFO)缓冲区。 – 在FreeRTOS中: + Queue用于存储在任务之间交换的数据/消息。 +数据将被复制(不参考)到队列。 +多任务访问 +阻塞队列读取(任务移动到阻塞状态以等待数据) +阻塞队列写入(任务移动到阻塞状态等待队列中的可用空间可用) +阻止多个队列(任务移动到阻塞状态以等待一组队列上的数据)。 2.演示 在本演示中,我们将创… -
二十五,ESP32 使用定时器中断
一,介绍 在blinky演示中,我们使用delay()函数使LED闪烁。在本演示中,我们将使用Timer(这是硬件定时器)来复制delay()函数。使用Timer我们可以安排何时需要启动任务和重复。应用于此演示,当Timer超时时,我们将每1秒更改LED的当前状态(ON至OFF至ON)。 二,硬件 ESP32开发板 一个红色LED 三,电路图 连接: [ESP32 IO18和ESP32 GND到L… -
十六,ESP32 OLED(ssd1306)显示器入门
一,介绍 在本教程中,我们使用ESP32 在I2C OLED显示屏进行显示“hello word”,为了与显示屏进行交互,我们在这里使用了I2C的协议。让我们感到高兴的是,ESP32 的arduino核心已经实现了一个与Wire.h先对应的库。此外我们还需要安装一个ssd1306 的库,这个库可以使用更高级的API与显示器进行交互,提供了一些非常易于使用的功能,它可以通过A… -
七,ESP32 android蓝牙控制LED
一.介绍 今天我们将制作一个很酷的多彩项目,我们将使用ESP32微控制器通过蓝牙控制rgb LED。简单来说,我们将通过手机控制RGB-LED。 ESP内置有低功耗蓝牙,它与我们在蓝牙音频等产品中可能会发现的传统蓝牙略有不同。BLE“服务器”(如ESP32读取传感器数据)可以定期“通知”客户端(如智能手机),而不是不断地传输数据,而是向他们发送一些数… -
ESP32 UART 硬串口重定义通信举例说明
在本教程中,我们将使用 Arduino IDE 的 UART 硬件库在两个 ESP32 板之间执行 UART 或串行通信。 在串口不够的时候,这种方法很管用。 要使用 USB 端口调试和编程 ESP32,需要使用串行端口,即通用异步接收器/发送器 (UART) 通信。对于大多数传感器和系统,主要通信方法被认为是 UART。为了共享工作负载、信息并执行不同的任务,有时需要两个 ESP32 板之间进行…
最新评论