Arduino学习笔记3——LED闪烁

embedded/2024/9/25 15:18:27/

一、Blink示例

点击“文件”——“示例”——“Basics”——“Blink”打开Blink示例程序。Blink有眨眼、闪亮之意,程序实现的功能也与之类似,可以让板子上的L灯以1秒为间隔点亮熄灭。

二、程序讲解 

/*BlinkTurns an LED on for one second, then off for one second, repeatedly.Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZEROit is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set tothe correct LED pin independent of which board is used.If you want to know what pin the on-board LED is connected to on your Arduinomodel, check the Technical Specs of your board at:https://www.arduino.cc/en/Main/Productsmodified 8 May 2014by Scott Fitzgeraldmodified 2 Sep 2016by Arturo Guadalupimodified 8 Sep 2016by Colby NewmanThis example code is in the public domain.https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/// the setup function runs once when you press reset or power the board
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 seconddigitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOWdelay(1000);                      // wait for a second
}

 开头一长串注释是在解释这个代码的作用。

函数“setup”只在上电或者按下复位键使执行一次,函数体里的内容是将“LED_BUILTIN”的模式设置为输出,起到初始化的作用。在新版IDE中,每一个函数、串口都可以右键选择“快速查看”,即可看到函数或串口的定义:

下一个函数“loop”,注释中写道它会在程序运行过程中不断重复运行,相当于一个循环。在此函数中,程序一共做了四件事:

digitalWrite(LED_BUILTIN, HIGH);

调用digitalWrite,在LED_BUILTIN写入HIGH,输出高电平,即点亮LED。

delay(1000);

调用delay函数,让程序等待1秒再进行下一步操作。

digitalWrite(LED_BUILTIN, LOW); 

继续调用digitalWrite,在LED_BUILTIN写入LOW,输出低电平,熄灭LED。

delay(1000);

再等待1秒。

通过这个loop函数,执行一次可以让LED亮一次、等1秒、灭一次、再等一秒。如此循环,即可实现LED一亮一灭的效果,看起来就像人在眨眼。

三、验证烧录

 

IDE上方这两个按钮,左边是验证,IDE会检测程序是否有错误。右边是上传,将无误的程序烧录到板子中。 

点击上传,输出出现以上字样则代表烧录成功,此时可以看到板子上的LED在按照我们预想的亮一秒灭一秒。 


http://www.ppmy.cn/embedded/94252.html

相关文章

怎样才算精通 Excel?

最强AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 高赞回答很系统,但普通人这么学,没等精通先学废了! 4年前,我为了学数据分析&#…

【Vue3】 navigator.mediaDevices 实现翻转摄像头

const openFront ref(true);//true开启前置摄像头,false开启后置摄像头 const video ref(null); //开启摄像头function startCamera(){loadingVideo.value true;// 检测浏览器是否支持mediaDevicesif (navigator.mediaDevices) {let params {audio: false,video…

19-ESP32-C3加大固件储存区

1默认编译情况。 2、改flash4M。ESP-IDF Partition Table Editor修改。 3、设置输入Partition Table 改自定义.CSV。保存。 4、查看命令输入Partition Table Editor打开-分区表编辑器UI。按图片增加。 nvs,data,nvs,0x9000,0x6000,, phy_init,data,phy,0xF000,0x1000,, factory…

GATK Haplotype类介绍

在GATK(Genome Analysis Toolkit)中,Haplotype类用于表示和处理基因组中的可能基因型(haplotype)。这个类是GATK中重要的数据结构之一,尤其在变异检测和基因组组装过程中具有关键作用。以下是Haplotype类的…

Haproxy

haproxy基础实验: 环境: haproxy:172.25.254.100 web1: 172.25.254.10 均为nat网络 web2: 172.25.254.20 haproxy端配置: [rootwww ~]# yum install haproxy -y [rootwww ~]# vim /etc/haproxy/haproxy.cfg .........................…

c++信号函数

信号处理函数 信号处理函数是处理特定信号&#xff08;如中断信号 SIGINT 或终止信号 SIGTERM&#xff09;的函数。典型的信号处理函数具有以下签名&#xff1a; #include <csignal>void signal_handler(int signal);注册信号处理函数的方式通常如下&#xff1a; #inc…

Linux Vim教程(十五):使用Vimscript进行脚本编写

目录 1. Vimscript简介 2. 基本语法和结构 2.1 变量 2.2 条件语句 2.3 循环语句 2.4 函数 3. 操作缓冲区、窗口和标签页 3.1 缓冲区 3.2 窗口 3.3 标签页 4. 自动化编辑任务 4.1 自动命令 4.2 键映射 5. 编写和调试Vimscript脚本 5.1 编写脚本 5.2 调试脚本 6…

中间件是一种在客户端和服务器之间进行通信和处理的软件组件或服务

中间件是一种在客户端和服务器之间进行通信和处理的软件组件或服务。中间件位于应用程序和操作系统之间&#xff0c;可以提供一些功能&#xff0c;如请求转发、数据转换、安全性和身份验证、日志记录等。 中间件的主要作用是将应用程序与底层基础设施解耦&#xff0c;提供了一…