首页 > 其他分享 >【史上最全面esp32教程】点灯大师篇

【史上最全面esp32教程】点灯大师篇

时间:2023-08-09 22:31:46浏览次数:49  
标签:200 教程 点灯 引脚 digitalWrite esp32 delay pinMode define

@TOC


前言

esp32有很多的功能,例如wifi,蓝牙等,这节我们学习最简单的点灯。


提示:以下是本篇文章正文内容,下面案例可供参考

ESP32简介

ESP32模块是ESP8266的升级版本。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。 虽然ESP32的引脚数比常用的处理器少,但在引脚上复用多个功能时不会遇到任何问题。 警告:ESP32引脚的电压电平为3.3伏。如果要将ESP32连接到其他工作电压为5伏的设备,则应使用电平转换器转换电压电平。

认识arduino的两个函数

我们创建了一个arduino项目后,他会自动生成下面的两个函数:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

setup()是整个程序只在开始时调用,用于初始化作用。 loop()可以类比while(1)。他会一直调用 变成C语言就会是这样。(注意:不能把下面的代码弄到arduino里面):

void setup()
{

}

void loop()
{

}

int main()
{
	setup();
	while(1)
	{
		loop();
	}

}

点灯

步骤

  1. 将LED的正极接到ESP32开发板的GPIO口,负极接到GND口。
  2. 使用ESP32的Arduino IDE编写代码,将GPIO口设置为输出模式,并将其设置为高电平,以便点亮LED。
  3. 上传代码到ESP32开发板,LED就会点亮。

函数介绍

在esp32中,我们需要通过杜邦线来连接灯与我们的引脚。 在这里我的D1灯的引脚为2.

使用pinMode函数来指定我们引脚的模式

pinMode(pin,value);

value为模式。 在点灯中,我们使用OUTPUT模式,表示输出模式。

使用digitalWrite函数对指定的引脚进行写入高低电平.

digitalWrite(pin,LOW/HIGH);

delay()延时函数:delay(ms)

LED灯闪烁

#define LED1 2

void setup() {
  // put your setup code here, to run once:
  pinMode(LED1,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED1,HIGH);
  delay(200);
  digitalWrite(LED1,LOW);
  delay(200);
}

现在D0就200毫秒闪烁一次了。 #define 的原因:使名称引脚更清晰,当然,你不写#define也可以,直接写引脚名到LED1这里。

流水灯

流水灯相等于我们编程语言的hello world。 所以,在这,我写一下代码: 学过51单片机的同学都知道,流水灯可以:P1 = ~(1 << i)去实现,但是esp32就不行了,因为他要连线 并且线的位置不同,不连续,所以只能用老办法了。

Pin脚在#define中

#define LED1 2
#define LED2 21
#define LED3 4
#define LED4 5
#define LED5 22
#define LED6 25
#define LED7 26
#define LED8 18

void setup() {
  // put your setup code here, to run once:
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT);
  pinMode(LED4,OUTPUT);
  pinMode(LED5,OUTPUT);
  pinMode(LED6,OUTPUT);
  pinMode(LED7,OUTPUT);
  pinMode(LED8,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED1,HIGH);
  delay(200);
  digitalWrite(LED1,LOW);
  delay(200);

  digitalWrite(LED2,HIGH);
  delay(200);
  digitalWrite(LED2,LOW);
  delay(200);

  digitalWrite(LED3,HIGH);
  delay(200);
  digitalWrite(LED3,LOW);
  delay(200);

  digitalWrite(LED4,HIGH);
  delay(200);
  digitalWrite(LED4,LOW);
  delay(200);

  digitalWrite(LED5,HIGH);
  delay(200);
  digitalWrite(LED5,LOW);
  delay(200);

  digitalWrite(LED6,HIGH);
  delay(200);
  digitalWrite(LED6,LOW);
  delay(200);

  digitalWrite(LED7,HIGH);
  delay(200);
  digitalWrite(LED7,LOW);
  delay(200);

  digitalWrite(LED8,HIGH);
  delay(200);
  digitalWrite(LED8,LOW);
  delay(200);
}

现在D1~D8就开始逐个闪烁了。

总结

恭喜你,完成了点灯大师的挑战,希望你在下一次的蜂鸣器的挑战中也能像这次一样。(达成成就:点灯)

标签:200,教程,点灯,引脚,digitalWrite,esp32,delay,pinMode,define
From: https://blog.51cto.com/u_16176403/7026694

相关文章

  • 无涯教程-Perl - getprotoent函数
    描述此函数返回有效协议列表中的下一个条目:($name,$aliases,$protocol_number)语法以下是此函数的简单语法-getprotoent返回值此函数针对错误返回undef,否则返回标量context中的协议编号,并在列表context中返回错误协议记录的空列表(名称,别名,协议编号)。例以下是显......
  • SolidWorks2021中文版软件图文安装教程,注册激活方法【附安装包下载】
    一、下载方式[软件名称]:SolidWorks2021[软件语言]:简体中文 [软件大小]:14.6G[安装环境]:Win11/Win10[硬件要求]:[email protected]内存@8G及以上下载链接%70%61%6E%2E%62%61%69%64%75%2E%63%6F%6D/%73/%31%47%4B%61%44%46%4D%44%56%77%59%34%75%6E%43%52%74%4C%68%47%36%37%41?%70%77%64=%......
  • 软件测试|web自动化测试神器playwright教程(三十)
    前言我们在进行自动化工作中,还会遇到表格的问题,比如下面的情况:如果我们想要获取表格内的数据,就需要我们先定位表格内的元素。table表格场景我们可以从表格结构中发现,table页面有这几个明显的标签:table、tr、th、tdtable标示一个表格tr标示这个表格的一行th定义表头......
  • 软件测试|web自动化测试神器playwright教程(三十一)
    前言我们都知道selenium可以操作命令行打开的Chrome浏览器,并且可以加载本地数据,因此我们可以绕过部分网站的登录步骤,直接对网站进行操作。如果我们不加任何参数,playwright打开的浏览器就是一个无痕浏览器,一般情况下,对我们测试人员来说,这一点并不影响我们的使用。但是playwright......
  • 软件测试|web自动化测试神器playwright教程(三十三)
    前言我们在使用selenium进行web自动化测试工作时,有时需要通过添加显式等待的方式,判断元素是否可见或者是否可以点击,其实这些元素属性也可以用于断言中,playwright同样可以去获取元素的状态,用于我们的后续操作或者断言中。本篇文章就来给大家介绍一下playwright对元素状态的判断。......
  • 软件测试|web自动化测试神器playwright教程(三十二)
    前言我们之前介绍过,我们在本地安装playwright时,默认会下载chromium,firefox和webkit浏览器,当然playwright不只支持下载这3个浏览器,还支持下载chrome、chrome-beta、msedge、msedge-beta、msedge-dev浏览器。下载浏览器在之前的教程中,我们介绍过,运行playwrightinstall命令会......
  • 软件测试|web自动化测试神器playwright教程(三十四)
    前言selenium有一个爬虫特别喜欢的功能,就是driver.page_source功能,它可以打印整个html页面的内容,我们可以从整个页面的内容中提取出我们想要的内容,playwright同样支持打印整个html页面的内容。获取完整页面html内容playwright提供了page.content()方法来获取页面内容,示例如下:......
  • 无涯教程-Perl - getprotobynumber函数
    描述此函数在标量context中将协议NUMBER转换为其对应的名称,在列表context中将其名称和相关信息转换为:($name,$aliases,$protocol_number)。语法以下是此函数的简单语法-getprotobynumberNUMBER返回值此函数针对错误返回undef,否则返回标量context中的协议编号,并在列......
  • Matlab 2018a安装教程
    MATLAB(矩阵实验室)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。MATLAB具有数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、财务与金融工程等功能,为众多科......
  • node版本管理神器nvm安装使用教程(Windows11版本)
    什么是nvm?当我们在同时在做几个需求不同的项目时,可能我们需要使用不一样的node.js版本,那么我们就需要在不同的node.js版本中进行切换,我们要在电脑上重复卸载安装多个不同版本的node,非常麻烦,这个时候,我们就可以使用nvm来管理我们安装的node,需要使用哪个就指定哪个即可。nvm,即nodeve......