本篇内容为,使用 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 产品列表 https://www.arduino.cc/en/Main/Products
Arduino IDE https://www.arduino.cc/en/Main/Software
pinMode 函数 https://www.arduino.cc/en/Reference/pinMode
digitalWrite函数 https://www.arduino.cc/en/Reference/digitalWrite
Delay 函数 https://www.arduino.cc/en/Reference/Delay
电阻限流 http://baike.baidu.com/view/2098783.htm
https://zhidao.baidu.com/struct/questions/39810a23ce91aeb636fda6a7.html

Arduino 极速入门系列–1 点亮 LED的更多相关文章

  1. Arduino 极速入门系列 - 光控灯(1)- 关于理论和 LED 那些事

    点个 LED 闪亮好像太单调,这次来个光控 LED 灯.这个其实不需要 Arduino 也能做,这次只是用来演示一下 PWM 在 Arduino 里面的做法.PWM 原理后面会解释.这次用充电宝提供 ...

  2. Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事

    继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...

  3. Arduino 极速入门系列 - 光控灯(2) - 关于开关,上拉、下拉电阻那些事

    接上篇,这次继续讲解光控灯的另外两个组成部分 - 开关和光敏电阻,光控灯里面将会有自锁开关按钮和光敏电阻.这此主要给新玩电子的朋友解释一下开关按钮的做法. 开关按钮的引脚电平读取问题 - 新手专用 我 ...

  4. Raspberry PI 系列 —— 裸机点亮LED灯

    Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...

  5. STM32入门系列-使用库函数点亮LED,LED初始化函数

    要点亮LED,需要完成LED的驱动, 在工程模板上新建一个led.c和led.h文件,将其存放在led文件夹内.这两个文件需要我们自己编写. 通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用 ...

  6. STM32入门系列-使用库函数点亮LED软硬件分析

    电路图分析 首先找来单片机的原理图,根据原理图进行相关的设计工作. 例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管 ...

  7. arduino入门学习实现语音控制LED灯

    需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val ...

  8. SpringCloud系列之分布式配置中心极速入门与实践

    SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...

  9. 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

随机推荐

  1. Python程序的首行

    >问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...

  2. centos 安装pptp

    1. 安装依赖 ppp yum -y install ppp 2. 编译安装pptpd wget http://jaist.dl.sourceforge.net/project/poptop/pptp ...

  3. nginx----------------环境搭建遇到的一些问题汇总--(多域名配置,配置文件修改问题)

    nginx的启动命令是:(通用) /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 重启命令: /usr/local/ng ...

  4. C++之路进阶——codevs2306(晨跑)

    2306 晨跑 2009年省队选拔赛山东  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master       题目描述 Description Elaxia最近迷恋 ...

  5. XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network

    XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...

  6. Node.js Express 框架 POST方法

    POST 方法 以下实例演示了在表单中通过 POST 方法提交两个参数,我们可以使用 server.js 文件内的 process_post 路由器来处理输入: index.htm 文件代码修改如下: ...

  7. Java线程新特征——Java并发库

    一.线程池   Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定 ...

  8. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  9. Qt qml pageview 左右滑动分页组件

    [先看效果] [下载]http://download.csdn.net/detail/surfsky/8516949 [调用] 分页视图 左右分页滑动列表组件 示例 PageView{ id: pv ...

  10. Linq to SQL 的增删改查操作

    Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中. Linq分为查询语法和方法语法,说白了查询语法就是 from wher ...