Arduino 极速入门系列–1 点亮 LED
本篇内容为,使用 Arduino 点亮 LED 的做法示范。很简单的一个入门示范。我们让 LED 闪。
本篇使用到的工具和材料
![]() |
Arduino Mini Pro |
1 PCS |
![]() |
Mini USB 数据线 FT232用 |
1 PCS |
![]() |
FT232RL FTDI 出品 USB |
1 PCS |
![]() |
跳线套装 |
1 PCS |
![]() |
面包板 |
1 PCS |
![]() |
杜邦线 母对母 |
5 PCS |
![]() |
电阻 直插 340Ω |
1 PCS |
![]() |
LED 直插 颜色随意 |
1 PCS |
如果各位使用的 Arduino 板子自带有 USB 转串口功能的,比如 UNO,Nano 那些,第一项 USB 转串口用的工具是不需要的。反而杜邦线你可能需要公对公的。如有不明白,欢迎请进群查问,一起学习。群号见博文最下方。
软件
你需要安装 Arduino.cc 主页下载的 IDE(集成开发环境软件)。最起码要这个,如果你像我一样有用 Visual Studio的话,可以在安装好 Arduino 软件后,下载并安装一个叫做 Visual Micro 的插件来使用 Visual Studio 开发 Arduino 代码(CPP)。下面截图和代码将使用官方的 IDE。
连接
这次做法是由 Arduino 的引脚直接供电给 LED,我选择了 2 号引脚,数字的。哪个是 2 号?看丝印,或者你板子的引脚图吧。比如我这个:

图片上方,左至右第五只脚就是 2 号,丝印也写着。另外上方左至右第四只脚是地。
面包板接法:四号脚接面包板的地线,五号脚用跳线拉到远离 arduino 的地方(没有引脚插着的地方),LED 正极(较长的那引脚)与其相连,LED 负极接电阻,电阻另一只脚接面包板的负极。电阻在此电路中起了限流作用,详见博文最后参考资料部分。



由于我这块是 Mini Pro,需要 USB 转串口才能对 Arduino 写入程序,所以还需要用杜邦线(母对母)通过 FT232 USB/串口转换模块,与电脑 USB 连接。这款 FT232 最大好处是引脚直接怼给 Arduino Mini Pro 的,顺序一致的。当然,各位要用也要看清楚咯,以防万一嘛。

在未插上电脑之前,有一件事需要再次确认的。目前 Arduino Mini Pro 有两个版本的电压,分别是 3.3V 和 5V,大家小心注意,需要把 FT232 模块的电压跳线帽插到正确位置。就是下图右侧排针附近那个跳线帽,我的 Arduino Mini Pro 电压是 3.3V的。

最后我们可以连上电脑的 USB 了。插上后,Windows 系统会自动安装相关驱动。然后 FT232 的灯会亮起,通过 FT323 对 Arduino 供电 3.3V,所以 Arduino 的电源指示灯也会亮起。

这时候我们可以写代码了,我们希望 LED 闪,就是对数字输出引脚 2号,交错地输出高电平和地电平。
代码
起码有两个办法可以使 Arduino 执行我们以上的要求的。
第一个办法 - 延时,下一篇我们讲用定时器实现。首先打开 Arduino 软件,你应该会看到这样的界面:

我建议,特别是有超过一种 Arduino 板在手上的朋友们,最好养成习惯,打开 IDE 后第一件事,检查右下角,板的型号和 COM 口是否正确。如果不正确,现在就改好先,这里改:

然后,这个界面默认代码模板是有两个函数,里面空白的。void setup () 是启动 Arduino 后只执行一次的部分,void loop() 是在启动后 setup 执行后,无限循环的部分。举例你有 A, B 两句代码在 setup 然后有 C, D, E 三句代码在 loop 里面,Arduino 启动后会这样执行:A – B – C – D – E – C – D – E – ….. 后面无限循环 C, D, E 三句。
那这些 ABCDE 语句到底写什么呢,我们要 LED 闪嘛,要做的首先是配置 2 号引脚为输出用(因为还可以用来输入的),然后我们就循环发送高电平、低电平。很简单,具体代码如下。
// 2016-12-11
// By Lepton-华
// 欢迎加入 Arduino 发烧玩家QQ群,群号 8580606
void setup() {
pinMode(2, OUTPUT); // 配置 2 号引脚为输出用
} void loop() {
digitalWrite(2, HIGH); // 数字输出,2号引脚,输出高电平(即对 LED 供电,LED 点亮)
delay(1000); // 延时 1000 毫秒
digitalWrite(2, LOW); // 数字输出,2号引脚,输出低电平(不对 LED 供电,LED 熄灭)
delay(1000); // 再延时 1000 毫秒
}
代码用到三个官方函数,pinMode,digitalWrite,和 delay,作用如上代码注释所示。详细介绍见博文最后的参考链接。
最后我们可以直接按 Upload,Arduino IDE 会先编译(因为代码变动了,它懂得识别的),然后通过 COM 口(FT232连接着),对 Arduino Mini Pro 写入程序,并且写入完成后会重启它一次。

如无意外,你的 LED 就开始闪动了。恭喜~

下一篇我会随便讲一下另一种方式使 LED 闪动,就是通过定时器。这方式的好处是,你可以使 LED 闪动之外,再让 Arduino 干点别的事情。下一篇见~
QQ群
欢迎加入我们的大家庭
点击加入 Arduino 发烧玩家群号 8580606
参考资料和 IDE 下载地址
Arduino 极速入门系列–1 点亮 LED的更多相关文章
- Arduino 极速入门系列 - 光控灯(1)- 关于理论和 LED 那些事
点个 LED 闪亮好像太单调,这次来个光控 LED 灯.这个其实不需要 Arduino 也能做,这次只是用来演示一下 PWM 在 Arduino 里面的做法.PWM 原理后面会解释.这次用充电宝提供 ...
- Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事
继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...
- Arduino 极速入门系列 - 光控灯(2) - 关于开关,上拉、下拉电阻那些事
接上篇,这次继续讲解光控灯的另外两个组成部分 - 开关和光敏电阻,光控灯里面将会有自锁开关按钮和光敏电阻.这此主要给新玩电子的朋友解释一下开关按钮的做法. 开关按钮的引脚电平读取问题 - 新手专用 我 ...
- Raspberry PI 系列 —— 裸机点亮LED灯
Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...
- STM32入门系列-使用库函数点亮LED,LED初始化函数
要点亮LED,需要完成LED的驱动, 在工程模板上新建一个led.c和led.h文件,将其存放在led文件夹内.这两个文件需要我们自己编写. 通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用 ...
- STM32入门系列-使用库函数点亮LED软硬件分析
电路图分析 首先找来单片机的原理图,根据原理图进行相关的设计工作. 例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管 ...
- arduino入门学习实现语音控制LED灯
需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val ...
- SpringCloud系列之分布式配置中心极速入门与实践
SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...
- 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列
第7章 使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
随机推荐
- C# 实现函数回调
public class Lib { public delegate void UserFunctionCB(); private static UserFunctionCB m_userFnCB; ...
- 利用pip安装模块(以安装pyperclip为例)
>任务:利用pip安装pyperclip模块 >前提:你已经在你的电脑里面安装啦Python2.7的Windows版本,并且已经配置了环境变量 >实现步骤 >>打开你的P ...
- 前端forEach在Array、map、set中的使用
数组: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = ...
- oracle同一个数据库实例不同的用户之间的表、序列授权操作
1.背景:用户jtuser中有jtproduct中表A,B的同义词,在用户jtuser中向表A,B插入数据,提示“权限不够” 2.将A,B表授权给jtuser用户 $ sqlplus / as sys ...
- SQL用先进先出存储过程求出库数量
create table t( id ,), name ),--商品名称 j int, --入库数量 c int, --出库数量 jdate datetime --入库时间 ) ,,'2007-12- ...
- 总结Android中遇见的OOM
一 .Android应用中内存泄漏几种的原因: 1.单例模式导致的内存泄漏: 当调用getInstance时,如果传入的context是Activity的context.只要这个单例没有被释放,这个A ...
- 1.<%@Page%>中的Codebehind、AutoEventWireup、Inherits有何作用?
AutoEventWireup --- 指示是否自动启用页事件. Codebehind --- 指示后台代码文件. Inherits --- 继承类. AutoEventWireup:指示该页的事件是 ...
- jq 弹半透明遮罩层
jquery制作点击按钮弹出遮罩半透明登陆窗口 // )[^>]*$|^#([\w-]+)$/,M=/^.[^:#\[\.,]*$/,ka=/\S/,$= /^(\s|\u00A0)+|(\s| ...
- maven官方库中没有oracle jdbc驱动的问题解决
1.找到可用的oracle jdbs驱动jar包文件,放置到指定目录(可根据实际自定义) D:\jdbc\ojdbc14.jar 2.安装好maven,主要是配置好环境变量 MAVEN_HOME='指 ...
- easyUI+springMVC的DataGrid-demo
DataGrid (一).搭建springMVC: 错误:无法访问HTML页面,HTTP Status 404- 原因:springMVC拦截了静态资源的访问 解决方案:方案①:(web.xml下)& ...







