Arduino-01-LED闪烁

点亮外部LED,在该电路中,将电阻器的一端连接到与LED_BUILTIN常数相对应的数字引脚。将LED的长脚(正极,称为阳极)连接到电阻的另一端。将LED的短脚(负极,称为阴极)连接至GND。在下图中,我们显示了一个UNO板,其D13值为LED_BUILTIN。
与LED串联的电阻的阻值可能不同于220欧姆。LED也将以最大1K ohm的值点亮。
在这里插入图片描述

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

将LED_BUILTIN引脚初始化为输出引脚

pinMode(LED_BUILTIN, OUTPUT);

点亮LED:
digitalWrite(LED_BUILTIN, HIGH);

关闭LED:
digitalWrite(LED_BUILTIN, LOW);

延时
delay()命令告诉控制板在1000毫秒(或一秒)内不执行任何操作。

在本课中,您将学习如何编程Arduino以使Arduino的内置LED闪烁。 材料清单 Arduino Uno R3 1块 USB引线 - 类型A到B 1根 Arduino有两排连接器,用于连接电子设备和插入式“屏蔽层”,使Arduino能够做得更多。 然而,Arduino也有一个LED,你可以从你的草图中控制。 该LED内置于Arduino板上,通常称为“L”LED,因为这是它在电路板上的标记。 这个LED的位置在下面的Arduino Uno和Leonardo的图片上以红色圈出。 您可能会发现,将Arduino电路板的“L”LED连接到USB插头时,它已经闪烁。 这是因为Arduino主板通常会随附预装的“Blink”草图。 在本课中,我们将使用我们自己的Blink草图重新编程Arduino,然后更改闪烁的速率。 在第0课中,您将设置Arduino IDE,并确保您可以找到正确的串行端口以连接到您的Arduino板。 现在已经到了将该连接用于测试和编程Arduino板的时候了。 Arduino IDE包含大量您可以加载和使用的示例草图。 这包括使'L'LED闪烁的示例草图。 在文件→示例→01.Basics下载入IDE菜单系统中的'Blink'草图。 当草图窗口打开时,将其放大,以便您可以在窗口中看到整个草图。 保存'闪烁'的副本 Arduino IDE附带的示例草图是“只读”的。 也就是说,您可以将它们上传到Arduino板,但如果您更改它们,则无法将它们保存为相同的文件。 我们将改变这个草图,所以,你需要做的第一件事就是保存你自己的副本,你可以改变你喜欢的副本。 从Arduino IDE的File菜单中选择'Save As ..'选项,然后用名称'MyBlink'保存草图。 您已将您的“闪烁”副本保存在写生簿中。 这意味着如果你想再次找到它,你可以使用File→Sketchbook菜单选项来打开它。 将Blink上传至电路板 使用USB电缆将Arduino板连接到计算机,并检查“Board Type”和“Serial Port”是否设置正确。 您可能需要参考第0课。 Arduino IDE将显示窗口底部板子的当前设置。 点击“上传”按钮。 工具栏左侧的第二个按钮。 如果您观看IDE的状态区域,您将看到一个进度条和一系列消息。 起初它会说'编译草图..'。 这将草图转换为适合上传到电路板的格式。 接下来,状态将变为“正在上传”。 此时,Arduino上的LED会在草图传输时开始闪烁。 最后,状态将变为“完成”。 另一条消息告诉我们,草图使用32,256字节中的1,084字节。在“编译草图..”阶段之后,您可能会收到以下错误消息: 线索位于顶部,这可能意味着您的主板根本没有连接,或者驱动程序尚未安装(如有必要)或者选择了错误的串行端口。 如果你得到这个,回到第0课并检查你的安装。 上传完成后,电路板应重新启动并开始闪烁。 'Blink'如何工作 Blink草图的代码见附件。 首先要注意的是,很多这种草图就是所谓的“评论”。 评论不是实际的程序指令,它们只是关于程序如何工作的评论。 他们在那里是为了得到好处,所以伴随草图有一些解释。 草图顶部的/ *和* /之间的所有内容都是块注释,它解释了草图的用途。 也有以//开头的单行注释,并且在行末尾的所有内容都被视为注释。 第一个实际的代码行是: int led = 13; 正如上面的评论所解释的那样,这给了LED所连接的引脚的名称。 这在大多数Arduinos中都是13,包括Uno和Leonardo。 接下来,我们有'设置'功能。 同样,如评论所述,按下重置按钮时会运行。 它也会在电路板因任何原因(例如首先应用电源或重新上传草图后)重置时运行。 void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } 每个Arduino草图都必须具有“设置”功能,其中可能需要添加自己指令的部分位于{和}之间。 在这种情况下,那里只有一个命令,正如注释状态告诉Arduino开发板,我们将使用LED引脚作为输出。具有“循环”功能的草图也是强制性的。 与只能运行一次的“设置”功能不同,复位后,“循环”功能将在完成其命令后立即重新启动。 void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the vol
<think>嗯,用户想了解Arduino和ESP-01S模块的使用、配置和编程,特别是固件上传的教程。首先,我需要回忆之前提供的引用内容,看看有什么相关信息。引用1、2、3、4都提到了ESP-01(S)的编程环境搭建、固件烧录方法以及Arduino IDE的配置。 用户可能需要详细的步骤,比如如何连接硬件,设置Arduino IDE,上传代码等。根据引用3,接线部分在烧录模式和运行模式有所不同,需要特别注意GPIO0的连接。烧录时需要将GPIO0接地,而运行时则不需要。同时,使用USB转串口模块和外接电源是必要的,因为ESP-01S的电流可能较大,Arduino的3.3V可能不够。 然后,Arduino IDE的设置方面,需要安装ESP8266开发板支持,选择正确的板型,比如Generic ESP8266 Module,并设置正确的Flash大小和上传速度。引用3提到ESP-01S的Flash大小是1MB,所以这些参数必须正确,否则上传会失败。 代码示例部分,可以提供一个简单的LED闪烁程序,因为引用4提到烧录完成后LED会每隔5秒闪烁,这可能是一个常见的测试用例。此外,用户可能遇到权限错误,如引用4中的无法配置端口,可能需要检查驱动程序或端口权限。 常见问题方面,上传失败可能由接线错误、电源不足、端口占用或波特率设置不正确导致。需要提醒用户检查这些方面。另外,引用2提到烧录AT固件需要使用特定工具,如果用户需要AT指令功能,可能需要重新烧录固件,但当前用户的问题可能主要集中在Arduino编程上,所以这点可以作为附加信息提及。 最后,生成的相关问题需要考虑用户可能的后续需求,比如AT指令使用、WiFi连接、OTA更新和电源问题,这些都能帮助用户进一步开发项目。需要确保回答结构清晰,分步骤说明,并包含代码示例和注意事项,以帮助用户顺利完成任务。</think>### Arduino与ESP-01S配置及固件上传教程 #### 一、硬件准备与接线 1. **硬件清单**: - ESP-01S模块 - USB转串口模块(如CH340、CP2102) - 3.3V外接电源(Arduino的3.3V引脚供电能力不足,需独立电源) - 杜邦线 2. **烧录模式接线**: - ESP-01S的 **EN** 接3.3V - **GPIO0** 接地(进入烧录模式) - **TX/RX** 交叉连接USB转串口模块(ESP-TX → USB-RX,ESP-RX → USB-TX) - **VCC/GND** 接3.3V外接电源[^3][^4]。 3. **运行模式接线**: - **GPIO0** 悬空或接高电平 - 其他引脚保持与烧录模式相同[^3]。 #### 二、Arduino IDE配置 1. **安装开发板支持**: - 打开Arduino IDE → 文件 → 首选项 → 附加开发板管理器网址添加: ``` http://arduino.esp8266.com/stable/package_esp8266com_index.json ``` - 工具 → 开发板 → 开发板管理器 → 搜索安装 **ESP8266** 包[^1][^3]。 2. **参数设置**: - 开发板选择:**Generic ESP8266 Module** - Flash大小:**1MB (FS:64KB OTA:~470KB)** - 上传速度:**115200** - 端口:选择USB转串口对应的端口[^3][^4]。 #### 三、固件上传示例 **示例代码(LED闪烁)**: ```cpp void setup() { pinMode(2, OUTPUT); // ESP-01S内置LED引脚为GPIO2 } void loop() { digitalWrite(2, LOW); delay(500); digitalWrite(2, HIGH); delay(5000); // 5秒闪烁一次 } ``` **上传步骤**: 1. 确保ESP-01S处于烧录模式(GPIO0接地)。 2. 点击Arduino IDE上传按钮,等待编译完成。 3. 上传成功后断开GPIO0接地,按RST重启模块[^3][^4]。 #### 四、常见问题与解决方法 1. **上传失败**: - 检查接线是否松动,尤其是GPIO0接地。 - 确认电源稳定(3.3V外接电源)。 - 降低上传波特率至 **74880** 或 **57600**[^4]。 2. **端口权限错误**: - Windows:安装CH340/CP2102驱动。 - Linux/Mac:使用 `sudo chmod 666 /dev/ttyUSB0` 授权端口[^4]。 3. **代码无法运行**: - 确认开发板参数与ESP-01S匹配(Flash大小、CPU频率)。 - 检查LED引脚是否为GPIO2(部分固件可能不同)。 #### 五、进阶操作 - **AT指令固件烧录**:需使用 `FlashDownload` 工具重新烧录AT固件(需断开Arduino环境)[^2]。 - **WiFi功能开发**:通过 `ESP8266WiFi` 库实现HTTP请求或AP模式[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值