Arduino 翻译系列 - LED 灯闪烁
原文地址 - https://www.arduino.cc/en/Tutorial/Blink
闪烁
这个例子展示了你能拿 Arduino / Genuino 板子来干的最简单的事:使开发板上的 LED 灯闪烁。
硬件需求
Arduino 开发板
LED (非必要)
220欧电阻(非必要)
电路
这例程使用了大部分 Arduino / Genuino 开发板上都有的 LED 指示灯。这 LED 灯是连接到数字引脚的,而它在不同型号的开发板上的引脚号都不一样。为了方便大家,我们已经每种开发板的描述档定义了一个常量 LED_BUILTIN。有了这常量,大家在控制板上 LED 灯时就更方便了。以下是各开发板常量的值和对应数字引脚号的对照:
- D13 - 101
- D13 - Due
- D1 - Gemma
- D13 - Intel Edison
- D13 - Intel Galileo Gen2
- D13 - Leonardo and Micro
- D13 - LilyPad
- D13 - LilyPad USB
- D13 - MEGA2560
- D13 - Mini
- D6 - MKR1000
- D13 - Nano
- D13 - Pro
- D13 - Pro Mini
- D13 - UNO
- D13 - Yún
- D13 – Zero
如果你希望使用本代码来点亮外部的 LED,你是需要自己搭建电路的。首先把电阻的一只引脚连接到 LED_BUILTIN 常量所指定的数字引脚,然后把 LED 灯较长的一只脚与电阻相连,最后把 LED 较短的另一只脚(负极、阴极)接到 GND 地。下图我们展示了 UNO 板的接法,而它 LED_BUILTIN 的常量值为 D13。
连接 LED 的电阻阻值可以比 220欧更高,只要低于 1K欧 LED 都能点亮。

原理图

代码
当你把以上电路搭建好并且把你的 Arduino / Genuino 开发板连上电脑之后,你就可以打开 Arduino IDE 软件并且输入以下代码了。另外你还可以在菜单 File/Examples/01.Basics/Blink 中直接调出此代码。代码中你要做的第一件事就是配置 LED_BUILTIN 引脚为输出引脚,如下:
pinMode(LED_BUILTIN, OUTPUT);
在主循环代码内,你需要用这句代码点亮 LED:
digitalWrite(LED_BUILTIN, HIGH);
这会对 LED 阳极供电 5V。这就会使 LED 的两只引脚产生电压差并且把它点亮。然后你会用以下代码把 LED 熄灭:
digitalWrite(LED_BUILTIN, LOW);
这行代码使 LED_BUILTIN 引脚回到 0V,使 LED 熄灭。在点亮与熄灭之间,你会希望有足够的时间间隔,使人肉眼能看出点亮和熄灭的变化,delay() 命令就是让开发板在 1000毫秒(1秒)时间内停下来什么都不做。当你使用 delay() 命令,在你指定的延时时间内什么都不会发生。当你明白各个基本例子后,可以查看 BlinkWithoutDelay 例程去学习如何产生一个延时,同时让开发板做别的事情。
当你明白了此例子后,请参看 DigitalReadSerial 例程,学习如何读取一个连接开发板的按键。
/*
Blink
Turns on 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 ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the 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 Arduino model, check
the Technical Specs of your board at https://www.arduino.cc/en/Main/Products This example code is in the public domain. 闪烁
点亮 LED 一秒,然后熄灭一秒,不断循环 几乎所有 Arduino 的开发板都有板上的 LED 灯可以供控制。在 UNO, MEGA, 和 ZERO 它
是连到 D13 引脚,而 MKR1000 是连在 6 引脚。LED_BUILTIN 的值是已经设置到对应开发
板的正确引脚值。
如果你希望了解你的 Arduino 开发板上的 LED 到底连到那个引脚,请参与你开发板的技术
说明书,可以在此链接查阅 https://www.arduino.cc/en/Main/Products modified 8 May 2014
by Scott Fitzgerald modified 2 Sep 2016
by Arturo Guadalupi modified 8 Sep 2016
by Colby Newman
*/ // setup 函数是当你给开发板上电或重启后执行一次
void setup() {
// 初始化数字引脚 LED_BUILTIN 为输出
pinMode(LED_BUILTIN, OUTPUT);
} // loop 函数是不断循环执行
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // 点亮LED灯(高电平)
delay(1000); // 等待一秒
digitalWrite(LED_BUILTIN, LOW); // 给低电平使LED灯熄灭
delay(1000); // 等待一秒
}
QQ 群
欢迎加入我们的大家庭
点击加入硬创联盟 Arduino 群号 8580606
参考
- setup()
- loop()
- pinMode()
- digitalWrite()
- delay()
- AnalogReadSerial - 读取电位器, 并把它的状态输出到 Arduino 串口窗口
- BareMinimum - 编写一个 Arduino 代码的必要代码块
- DigitalReadSerial - 读取一个按键, 并把它的状态输出到 Arduino 串口窗口
- Fade - 示范使用模拟输出使 LED 变暗.
- ReadAnalogVoltage - 读取模拟输入,并把电压输出到 Arduino 串口窗口
翻译:硬创联盟翻译组翻译员 – Lepton-华
审核:硬创联盟翻译组技术审核 - 神奇海螺
返回主目录
Arduino 翻译系列 - LED 灯闪烁的更多相关文章
- 1个LED灯闪烁的Arduino控制
控制任务和要求 让一个LED灯闪烁 接线 程序设计 1 int half_cycle=1000; // define the cycle time of LED blink 2 int LED_pin ...
- 树莓派开机运行Python脚本 控制LED灯闪烁
一.新建一个开机运行文件 在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个led.desktop文件(文件名以.desktop结尾) 编辑le ...
- recovery 升级过程LED灯闪烁
Android设备在进入recovery升级的过程,我们在屏幕上面可以看到升级的机器人动画,以及升级的进度显示.这仅限于有屏幕的设备,比如平板PAD,电视TV等,对与没有屏幕的盒子BOX,那么在不接入 ...
- 使用uart串口接收模块接收信号,控制led灯闪烁
功能描述: 使用遵循uart协议的接收模块接收控制信号,用来控制led的闪烁. 设计输入: 1.uart输入信号 2.时钟信号 3.复位信号 4.led信号 设计思路: 总体上:前面已经写了串口接收模 ...
- pynq系列__LED灯闪烁
1.实现在board项中自动配置pynq-z2开发板 (1).board file下载地址:http://www.tul.com.tw/ProductsPYNQ-Z2.html (2).下载之后得 ...
- DSP28335的上手试用LED灯闪烁-第一篇
1. 本次以三兄弟的DSP28335开发板为例,看下JTAG接口,EMU0,EMU1的用途,不是很懂,不深入研究,用到再说 EMU0/1是TI芯片的JTAG才有的信号,本身不属于JTAG标准里的信号, ...
- STM32通用定时器实现LED灯闪烁
刚才看了一下STM32通用定时器的教程,其实和51的定时器使用差不多.只是因为32的时钟更复杂,可操控的寄存器更多,所以写的时候可能更复杂. 使用通用定时器中断的一般步骤:1.使能定时器时钟 这个需要 ...
- C#与Arduino通过串口通信来控制LED灯的状态
一.引言 最近摆弄了一段时间的Arduino,发现Arduino做一些电子类项目.监控.机器人.电子玩具比较容易,并且Arduino与.NET程序集成也不难.接下来介绍一个简单的小程序,C#做的一个W ...
- 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列
第7章 使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
随机推荐
- C语言指针,你还觉得难吗?
在研究式学习-c语言程序设计指针式这样介绍的: 内存中存储变量的第一个单元的地址 称为指针,存放指针的变量称为指针变量: 变量的访问方式有: 直接访问方式:按变量名查找其首地址 间接访问方式:通过指针 ...
- Mac MySQL 转移 datadir
mysql默认的datadir在启动盘上面,有时database太大,于是决定将datadir迁到存储盘中 Step 1 将原datadir迁到存储盘 mv /usr/local/var/mysql ...
- php用smtp发送邮件
php用smtp发送邮件 1.其实用smtp协议发送邮件很简单,用框架或者原生都可以,我们需要用到class.phpmailer.php 和class.smtp.php,大家可以去网上下载. 这是一个 ...
- URL参数为url,获取不到部分参数问题
url1中的参数含有url2,在页面上获取url时发现url后面跟的参数获取不到,其实是浏览器把url2中&后的参数作为url1的参数来处理了. 如:http://www.ilcng.com/ ...
- python线程池(threadpool)模块使用笔记
一.安装与简介 pip install threadpool pool = ThreadPool(poolsize) requests = makeRequests(some_callable, li ...
- oracle信息统计
优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN:列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分 ...
- php mb_convert_encoding的使用
mb_convert_encoding( $str, $encoding1,$encoding2 ): $str,要转换编码的字符串 $encoding1,目标编码,如utf-8,gbk,大小写均可 ...
- 启用Servlet 3.0新特性——注解支持
Servlet 3.0版本新增注解支持,可是在实际使用中,添加的注解总是不起作用.经过检查,原来是“web.xml”文件的顶级标签“<web-app/>”中的一个叫做“metadata-c ...
- Quartz2D之绘制一个简单的机器猫
学习iOS有一段时间了,在博客园也默默的潜水了两个月,见识了很多大神,收获不少. 今天整理笔记,发现忘记的不少,我感觉需要及时的整理一下了,同时也把做的小东西贴上来和大家分享一下. 最近学习了Quar ...
- 简单配置和使用Maven
1,下载Maven 从:https://maven.apache.org/download.cgi 其实两个都一样, 2,安装过程 解压你下载的包,随意放哪里都可以 ,假设 我放在了 D:\JavaT ...