目录

1.实验说明

2.实验原理

3.接线图

4.实验代码

5.代码说明

6.测试结果


1.实验说明

LED模块:它的控制方法非常简单,要想点亮LED,只要让它两端有一定的电压就可以。

实验中,我们通过编程控制信号端S的高低电平,从而控制LED的亮灭。我们提供两个实验程序,分别控制LED模块上实现点亮和闪烁的效果。

2.实验原理

下面附了两个电路原理图,左边我们直接把LED串联一个电阻,负极接地,正极接到单片机的IO口,理论上来说当我们把信号端S输出高电平(5V),LED两端就会有电压,LED就会被点亮,那么我们为什么说这么接不合理呢?原因就是我们单片机IO口输出电流的能力有限(最大20mA),虽然输出了高电平,但是可能达不到控制LED的电流,此时LED可能比较暗。

右边的接法:控制时,GND和VCC上电后,如果信号端S为高电平,那么三极管Q1就会导通,则LED有电流流过,LED即会亮起(注意:此时电流是由VCC电源端流经LED和电阻R3到GND,而不是直接从单片机IO口输出,此时输出电流的能力就比较强),S端为低电平时三极管Q1截止,那么就没有电流流过LED,那么LED就会熄灭。也就是说,我们这里的三极管Q1相当于一个开关作用,而电阻R1,R3都是一个限流电阻,顾名思义就是限制电流的大小,以免烧坏电子元器件。

3.接线图

4.实验代码

代码1:

void setup() {pinMode(3, OUTPUT);//设置模式为输出}void loop() {digitalWrite(3, HIGH); //输出高电平,点亮}

代码2:

int ledPin = 3; //定义LED管脚接D3void setup() {pinMode(ledPin, OUTPUT);//设置模式为输出}void loop() {digitalWrite(ledPin, HIGH); //输出高电平,点亮delay(1000);//延迟1000毫秒digitalWrite(ledPin, LOW); //输出低电平,熄灭delay(1000);}

5.代码说明

代码1说明:

  1. int ledPin = 3;int是变量类型范围为-32,768 ~ 32,767,这条代码语句意思是取个ledpin的变量名然后赋值为3,后面我们需要用到这个引脚时就直接使用ledpin而不用“3”,当我们接的传感器模块多了,引脚多了我们就需要这样设置一个简单易记的变量名方便我们使用。
  2. pinMode(pin,mode);pin是用于设置模式的Arduino引脚号;mode为模式,可选:输入模式INPUT,输出模式OUTPUT或输入上拉INPUT_PULLUP,在这里我们设置了管脚3为输出模式。
  3. digitalWrite(pin, value);pin是单片机数字管脚,在这里我们定义了管脚3;value是你将要输出的数字电平(HIGH/LOW);如果使用pinMode()将引脚配置为OUTPUT,则其电压将设置为相应的值:5V(在3.3V板上为3.3V)为HIGH,低电平为0V(接地)。如果没有把pinMode()设置为OUTPUT,而是将LED连接到引脚,则在调用digitalWrite(HIGH)时,LED可能会变暗。因为此时digitalWrite()将启用内部上拉电阻,其作用类似于一个大限流电阻。

代码2说明:

  1. setup()中代码是只执行一次,而loop()函数里面的代码是一直循环执行。delay(ms);延时函数,ms为暂停的毫秒数,数据类型:unsigned long(范围 0~ 4,294,967,295 (2^32 - 1))。
  2. 通过整合前面知识。我们再来看代码就清楚明了了,代码中第一条我们把模块信号端接到ledpin也就是数字口D3,设置为高电平,就是点亮模块上LED;第二条延迟1000毫秒,就是让模块上LED点亮1秒。同样第三条第四条代码表示让模块上LED熄灭1秒。代码默认循环,也就是控制模块上LED,循环亮1秒,灭1秒,实现闪烁效果。通过代码设置,我们可以更改模块上LED亮灭的延迟时间,从而使模块上LED实现不同的闪烁效果。

6.测试结果

代码一:上传实验程序一成功后,上电,模块上白色LED点亮

代码二:上传实验程序二成功后,上电,白色LED亮1秒灭一秒,循环交替闪烁。

Arduino 点灯实验相关推荐

  1. 【STM32+机智云】机智云手机APP点灯实验踩坑记录

    [STM32+机智云]机智云手机APP点灯实验踩坑记录 一.实验背景 因为项目开发需要用到云平台,所以开始学习机智云平台,听说机智云比较容易入门,还有手机APP.因此开始了踩坑之旅,一切的一切开始于一 ...

  2. Arduino笔记实验(初级阶段)—Keypad小键盘

    Arduino笔记实验(初级阶段)-Keypad小键盘 文章目录 Arduino笔记实验(初级阶段)-Keypad小键盘 前言 一.电路图 二.集成库方案(Keypad) 三方集成库 代码 实验效果展 ...

  3. STM32使用寄存器点灯实验

    寄存器点灯实验 操作过程 使能IO口时钟配置寄存器RCC_APB2ENR 初始化IO口模式,配置寄存器GPIOx_CRH/CRL 操作IO口,输出高低电平,配置寄存器GPIOx_ODR或者BSRR/B ...

  4. STM32F103ZET6+新建工程+点灯实验

    STM32F103ZET6+新建工程+点灯实验 目前,ST公司已经停止标准外设库的更新,转而推广HAL库和LL库.HAL库是由标准外设库升级而来的,学习标准外设库有助于对HAL库的理解,接下来我就简单 ...

  5. Arduino笔记实验(初级阶段)—火焰传感器+有源蜂鸣器实验

    Arduino笔记实验(初级阶段)-火焰传感器+有源蜂鸣器实验 文章目录 Arduino笔记实验(初级阶段)-火焰传感器+有源蜂鸣器实验 前言 一.电路图 二.火焰传感器(4引脚)-有源蜂鸣器 代码 ...

  6. Arduino笔记实验(初级阶段)—继电器模块

    Arduino笔记实验(初级阶段)-继电器模块 文章目录 Arduino笔记实验(初级阶段)-继电器模块 前言 一.电路图 二.继电器模块实验 代码 实验效果展示 三.继电器模块 实验总结 前言 自学 ...

  7. arduino物联网实验:光敏电阻实现光控小夜灯

    arduino物联网实验:光敏电阻实现光控小夜灯 实验材料: Uno R3开发板 配套USB数据线 面包板及配套连接线 1个LED灯 1个220Ω限流电阻 1个光敏电阻 1个1K普通电阻 实验步骤: ...

  8. rv-star开发板点灯实验

    前言 社区已经有很多大神在写rv-star开发板的入门手册,估计也有很多人已经玩过这个板子了,我今天来讲一讲怎么用Nuclei Studio快速进行rv-star开发板的点灯实验 1.下载Nuclei ...

  9. 物联那点事儿之DS18B20自制网络温度计(arduino+点灯科技篇)

    前言 很久没有更新了,该好好反思了,废话不多说,fighting! 代码开源,喜欢的给个star吧! git链接!!! 物联那点事儿专栏往期回顾: arduino+点灯科技+温湿度DHT11+esp0 ...

最新文章

  1. solr java score_Solr 按照得分score跟指定字段相乘排序
  2. 企业中常用的几种文件传输方法介绍
  3. STM32单片机硬件I2C驱动程序(查询方式)
  4. ACM的输入输出总结
  5. libcurl post数据
  6. 树与图的深度优先遍历
  7. IDEA自动编译不用每次make
  8. 全球通用头像gravatar介绍
  9. Python递归的几个经典案例
  10. 最近公司准备启动一个风险系统【Springboot + urule 】
  11. Labelme对图像标注、json转化png格式
  12. Thinkpad部分机型支持的智能感知功能介绍
  13. C/C++程序的内存开辟
  14. 93. 复原 IP 地址
  15. c语言fopen错误指针,fopen出错的原因
  16. 3.4.1python-panda数据筛选
  17. c语言生成随机数猜数字大小,产生一个随机数,进行猜数字小游戏
  18. 我理解的「向下兼容」
  19. windows系统bat批处理 微信多开,软件多开
  20. 解决Type interface com.kuang.mapper.UserMapper is not known to the MapperRegistry.的问题

热门文章

  1. Android 关闭屏幕方法
  2. 解决外网与内网或内网之间的通信,NAT穿透
  3. lzma算法_十款性能最佳的压缩算法
  4. UI控件DevExpress WinForm新手指南——如何在应用启动时执行操作
  5. 值传递,指针传递,引用传递的区别
  6. Ural 2045 Richness of words
  7. 每天一个编程题·iOS开发算法提升计划(1)
  8. PPT 问题 PowerPoint 储存此文件时发生错误
  9. 高光谱图像算法实习工程师面经
  10. 编译 pg_repack