Arduino入门笔记(3):单LED闪烁
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi
欢迎加入讨论群 64770604
在搭建好arduino开发环境(http://www.cnblogs.com/xiaowuyi/p/3190201.html或者http://wikicode.net/?p=152)后,就可以进行入门学习了。
一、本次实验所用到的器材为:
1、arduino uno R3无特殊注明,本学习笔记全部使用此板。
2、面包板(1个SYB-120):这里简单介绍一下面包板,以后的笔记中不再介绍。
面包板又称“集成电路实验板“,就是一种插件板,此板上具有若干小型插座(孔)。在进行电路实验时,可以根据电路连接要求,在相应孔内插入电子元器件的引脚以及导线等,使其与孔内弹性接触簧片接触,由此连接成所需的实验电路。
3、LED:LED两个针脚有一长一短,短的是连接GND,长的是连接正极。
4、几根导线:确切的说只用到了两根。
在本实验中,我使用了arduino板子上的数字5号端口,其实该实验在arduino程序的实例中存在,名字叫“blink”,只是在blink实例中使用的是13号端口。连接图如下:
二、实验
1、blink代码实验
点击file菜单下EXAMPLES--011.Basics--Blink,就可以看到Blink程序已经加载到程序编辑区。因为使用的端口不同,略加修改如下:
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain.
*/ // Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = ; #这里将原来的13改为5,当然你也可以改为其实端口,只要和led正极连接端口相一致即可。 // the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
} // the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(); // wait for a second
}
点击“校验”按钮实现程序的编译,等待一会儿后状态栏会提示Done compiling(程序编译完成),然后点击upload后,会发现led灯开始每一秒闪烁一次。
2、间隔时间不等的闪烁
想要让led闪烁的时间间隔不等,会出现一会亮的快,一会亮的慢的情况,这里我们把代码做一修改就可实现。
第一修改:
int led = ; // the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT); } // the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
delay();
digitalWrite(led, LOW);
delay();
digitalWrite(led,HIGH);
delay();
digitalWrite(led, LOW);
delay();
}
该代码运行后,led先是0.2秒闪一下,然后再2秒闪一下。
进一步修改,加入了for循环,主要是为了练习一下基本语句:
int led = ; // the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT); } // the loop routine runs over and over again forever:
void loop() {
for (int i=;i<;i=i+)
{
digitalWrite(led, HIGH);
delay();
digitalWrite(led, LOW);
delay();
}
digitalWrite(led,HIGH);
delay();
digitalWrite(led, LOW);
delay();
}
在这一代码中,led后首先间隔0.2秒连续闪5次,然后间隔2秒闪一次。upload后,会看到具体的效果。
推荐购买网址:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15820725129.16.AtgoEm&id=545093340395
Arduino入门笔记(3):单LED闪烁的更多相关文章
- Arduino入门笔记(4):用蜂鸣器演奏音乐并配有LED闪烁
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(2):Arduino的开发和virtualbreadboard仿真环境
欢迎加入讨论群 64770604 1.开发环境 (1)下载开发环境 Arduino的开发环境从http://arduino.cc/en/Main/Software官网下载即可,分为windows版本. ...
- Arduino入门笔记(6):温度传感器及感温杯实验
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 :https://item.taob ...
- arduino入门笔记
以 ARDUINO® UNO R3为例 一.将板子与电脑连接 初次使用会自动安装驱动. Arduino Uno通过USB连接到计算机或外部电源自动获取电源,因此此时能看到电源指示灯会亮. 我的L13也 ...
- Arduino入门笔记【1】
刚刚接触这个东西只知道这是类似于单片机的开发板,可以做一些单片机实现或者不能实现的东西,但是比单片机要简单得多. Arduino到底是什么? 维基百科上的描述是:Arduino是一块开发板的微控制器和 ...
- Arduino入门笔记(5):1602液晶实验(实现时钟)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(7):利用1602、1302实现时钟和定时器
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 常常听到老妈在做饭时说“开锅15分钟后叫我一下”,为何不做个定时器,来提醒老妈呢 ...
- Arduino入门笔记(1):认识Arduino
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 各种网站论坛里经常看到网友DIY各种遥控小车.机器人什么的,一直很好奇,很想学习一 ...
- Arduino入门笔记(9):蓝牙模块及第一辆蓝牙遥控小车
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino UNO板 https://item.t ...
随机推荐
- 数据库导入导出expdp,impdp
数据库操作 (1)数据库导入导出expdp,impdp 在导入导出数据库的时候,经常会用到exp和imp,在数据量小的情况下可以随意使用,但是当数据量大,表中数据有百万,千万条的时候,就要等好久好久好 ...
- python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...
- python-组合模式
源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 组合模式主要用来处理一类具有“容器特征”的对象——它们即充当对象又可以作为容器包 ...
- SD从零开始01-02
SD从零开始1 SD中的组织结构 销售相关的组织结构: 销售组织Sales organization 分销渠道Distribution channel 产品组Division 销售区域Sales ar ...
- Linux下安装VSCode
进行下载 64位的包:地址: https://code.visualstudio.com/docs/?dv=linux64&build=insiders 1.解压: tar -zxvf cod ...
- ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- JTS基本概念和使用
简介 JTS是加拿大的 Vivid Solutions公司做的一套开放源码的 Java API.它提供了一套空间数据操作的核心算法.为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词 ...
- Selenium win7+selenium2.0+python+JetBrains PyCharm环境搭建
win7+selenium2.0+python+JetBrains PyCharm环境搭建 by:授客 QQ:1033553122 步骤1:下载python 担心最新版的支持不太好,这里我下载的是py ...
- Android5.x Notification应用解析
Notification可以让我们在获得消息的时候,在状态栏,锁屏界面来显示相应的信息,很难想象如果没有Notification,那我们的qq和微信以及其他应用没法主动通知我们,我们就需要时时的看手机 ...
- unity 获取水平FOV
unity中Camera的Field of View是指的垂直FOV,水平FOV可以经过计算得到. 创建脚本如下,把脚本挂载到摄像机上即可得到水平FOV: public class GetHorizo ...