ESP32CAM,点亮一个LED(Arduino平台)

简介: ESP32CAM,点亮一个LED(Arduino平台)

前言

(1)在此,吐槽一下乐鑫的函数介绍,真的难找。恶心的一批。气死我了。

(2)接下来我将会介绍我是如何找到ESP32的Arduino平台的函数库的。你将会知道为啥我这么大的戾气。

(3)同时我将介绍一下如何点亮LED,以及做一个呼吸灯

(4)学习本文之前,需要安装好Arduino IDE和ESP32驱动。没有安装好的,请自行阅读以下教程:

esp32环境安装教程—arduino IDE;esp32CAM环境安装教程—串口驱动安装;

(5)Arduino平台的ESP32函数库介绍;


点亮LED

分析原理图

(1)我们看如下原理图,得知,LED是由GPIO33控制的。

(2)我们知道LED是共阳的,所以GPIO33输出低电平,LED1亮。GPIO33输出高电平,LED灭。


函数介绍

pinMode()

pinMode()是用于设置GPIO的模式的。

/**** 函数原型 ****/
void pinMode(uint8_t pin, uint8_t mode);
/**** 函数介绍 ****/
/* 作用 : 设置GPIO的模式
 * 传入参数 : 
     * pin : 设置要配置的GPIO,直接输入数字即可,比如配置GPIO33,就输入33
     * mode : 可选参数如下 >
              INPUT (设置为无上拉或下拉(高阻抗)的输入)
              OUTPUT (设置为输出)
              INPUT_PULLDOWN (设置为具有内部下拉的输入)
              INPUT_PULLUP (设置为带有内部上拉电阻的输入)
 * 返回值 : 无
*/


digitalWrite()

digitalWrite()用于将GPIO设置为输出高电平,或者是输出低电平。

/**** 函数原型 ****/
void digitalWrite(uint8_t pin, uint8_t val);
/**** 函数介绍 ****/
/* 作用 : 设置GPIO的模式
 * 传入参数 : 
     * pin : 设置要配置的GPIO,直接输入数字即可,比如配置GPIO33,就输入33
     * val : 可选参数如下 >
              HIGH (输出高电平)
              LOW (输出低电平)
 * 返回值 : 无
*/


delay()

这个是用于延时的。单位是ms

代码实操

LED闪烁

#define  positive 1  //如果LED为共阳极,写1.如果是共阴极,写0
#if  positive
#define LED_on LOW
#define LED_off HIGH
#else
#define LED_on HIGH
#define LED_off LOW
#endif
//开机启动代码
void setup() {
  //pinMode
  pinMode(33,OUTPUT);
}
// 死循环
void loop() {
  digitalWrite(33, LED_on);  
  delay(1000);
  digitalWrite(33, LED_off);  
  delay(1000);
}


呼吸灯

#define  positive 1  //如果LED为共阳极,写1.如果是共阴极,写0
#if  positive
#define LED_on LOW
#define LED_off HIGH
#else
#define LED_on HIGH
#define LED_off LOW
#endif
//开机启动代码
void setup() {
  //pinMode
  pinMode(33,OUTPUT);
}
int i=0;
// 死循环
void loop() {
  for(i=0;i<=20;i++)
  {
    digitalWrite(33, LED_on);  
    delay(i);
    digitalWrite(33, LED_off);    
    delay(20-i);
  }
  for(i=20;i>=0;i--)
  {
    digitalWrite(33, LED_on);  
    delay(i);
    digitalWrite(33, LED_off);    
    delay(20-i);
  }
}


查找函数介绍的过程

(1)首先,我在乐鑫官网找到技术文档。因为ESP32CAM是ESP32系列单片机,所以勾选ESP32。

(2)往下滑,找到ESP-IDF 编程指南,点击打开。

(3)在ESP-IDF 编程指南中,点击资源。然后找到,通过 Arduino 平台开发应用,请参考 ESP32、ESP32-S2 和 ESP32-C3 芯片的 Arduino 内核

注意:这个链接是GitHub,可能需要使用魔法。


(4)打开GitHub之后,往下滑找到Documentation,在Documentation中,能够找到Libraries;点击打开。

(5)在Libraries中找到APIs即可。

目录
相关文章
|
开发者
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
1697 1
|
算法 计算机视觉
OpenCV(四十一):图像分割-分水岭法
OpenCV(四十一):图像分割-分水岭法
442 0
|
安全
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录
1640 0
|
机器学习/深度学习 人工智能 搜索推荐
底层技术大揭秘!AI智能导购如何重塑购物体验
双十一期间,淘宝内测AI助手“淘宝问问”,基于阿里通义大模型,旨在提升用户在淘宝上的商品搜索和推荐效率。该助手通过品牌推荐、兴趣商品推荐和关联问题三大板块,提供个性化购物体验。其背后采用多智能体架构,包括规划助理和商品导购助理,通过对话历史和用户输入,实现精准商品推荐。此外,文章还介绍了如何快速部署此解决方案,并探讨了其对现代购物体验的影响。
|
IDE 物联网 开发工具
ESP32连接云服务器【WebSocket】
ESP32 芯片基于 ARM Cortex-M 内核,具有 32 位地址空间,支持 Wi-Fi、蓝牙和其他无线连接,以及多种外设接口,如 GPIO、定时器、PWM、串口等。🚂到这里,你可以到文件夹中的bin目录中,可以找到已经存在了activate文件。🎈接着,在宝塔面板的软件商店中导入➡️➡️Python项目管理器⬅️⬅️。🎈首先是本次需要挂在服务器上的脚本代码➡️Server.py⬇️。👨‍💻因此,有关云服务器和宝塔面板的初始配置,这里将直接跳过👋。🗽其中项目路径等内容,可以参照下图填写⬇️。
ESP32连接云服务器【WebSocket】
|
安全 算法 网络安全
干货!ER系列路由器 IPSEC VPN配置方法!
干货!ER系列路由器 IPSEC VPN配置方法!
984 7
|
小程序 前端开发
保健品商城小程序模板源码
保健品商城小程序模板源码
1075 3
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 卷积模块 | 用坐标卷积CoordConv替换Conv
💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡
|
存储 网络协议 数据处理
【Socket】解决UDP丢包问题
UDP(用户数据报协议)是一种无连接的传输层协议,因其不保证数据包的顺序到达和不具备内置重传机制,导致在网络拥塞、接收缓冲区溢出或发送频率过快等情况下容易出现丢包现象。为应对这些问题,可以在应用层实现重传机制、使用前向纠错码等方法。这些方法在一定程度上可以缓解UDP通信中的丢包问题,提高数据传输的可靠性和效率。
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
1175 0

热门文章

最新文章