Arduino入门笔记(3):单LED闪烁

简介: 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604     在搭建好arduino开发环境(http://www.cnblogs.com/xiaowuyi/p/3190201.html或者http://wikicode.net/?p=152)后,就可以进行入门学习了。

转载请注明:@小五义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 = 5; #这里将原来的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(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

 

 

 

点击“校验”按钮实现程序的编译,等待一会儿后状态栏会提示Done compiling(程序编译完成),然后点击upload后,会发现led灯开始每一秒闪烁一次。

2、间隔时间不等的闪烁

想要让led闪烁的时间间隔不等,会出现一会亮的快,一会亮的慢的情况,这里我们把代码做一修改就可实现。

第一修改:

 

int led = 5;

// 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(200); 
  digitalWrite(led, LOW);
  delay(200);
  digitalWrite(led,HIGH);
  delay(2000);
  digitalWrite(led, LOW);    
  delay(2000);             
}

 

该代码运行后,led先是0.2秒闪一下,然后再2秒闪一下。

进一步修改,加入了for循环,主要是为了练习一下基本语句:

int led = 5;

// 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=0;i<5;i=i+1)
  {
  digitalWrite(led, HIGH);  
  delay(200);  
  digitalWrite(led, LOW);
  delay(200);
  }
  digitalWrite(led,HIGH);
  delay(2000);
  digitalWrite(led, LOW);  
  delay(2000);            
}

在这一代码中,led后首先间隔0.2秒连续闪5次,然后间隔2秒闪一次。upload后,会看到具体的效果。

 

 推荐购买网址:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15820725129.16.AtgoEm&id=545093340395

 

 

目录
相关文章
|
机器学习/深度学习 人工智能 算法
探索未来:人工智能在医疗诊断中的应用
本文深入探讨了人工智能(AI)在医疗诊断领域的应用,并分析了其对提高诊断准确性和效率的潜力。通过对比传统诊断方法与AI辅助系统的优缺点,文章阐述了AI技术如何助力医生进行更精准的疾病预测和治疗决策。同时,本文也讨论了实施AI系统所面临的挑战,包括数据隐私、算法偏差和技术接受度等问题,并对未来的发展趋势进行了展望。
|
数据挖掘 Android开发 iOS开发
office全版本软件安装包(win+mac版本)——2016office软件下载
office全版本软件安装包(win+mac版本)——2016office软件下载
902 0
|
Java 应用服务中间件
tomcat 设置jdk环境变量
tomcat 设置jdk环境变量
专业的IT管理人才必备的十大能力
  作为IT技术人员,相信没有一个人愿意永远在底层编写程序或做简单的系统维护。经过一段时间的技术和经验的积累,很多人都向往更高层的职位,但如何能成为一个专业的IT管理人才,并不是每一个人都清晰、明了。
1419 0
|
10天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1218 5
|
9天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1181 87
|
10天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1779 13