Arduino初学系列3:Arduino,按键,LED

合集下载

Arduino 入门到精通 例程2-LED 闪烁

Arduino 入门到精通 例程2-LED 闪烁

Arduino 入门到精通例程2
2、LED 闪烁实验
LED 小灯实验是比较基础的实验之一,上一个“Hello World!”实验里已经利用到了Arduino 自带的LED,这次我们利用其他I/O 口和外接直插LED 灯来完成这个实验,我们需要的实验器材除了每个实验都必须的Arduino 控制器和USB 下载线以外的
其它器件如下:
红色M5 直插LED*1
220Ω直插电阻*1
面包板*1
面包板跳线*1 扎
下一步我们按照下面的小灯实验原理图链接实物图,这里我们使用数字10 接口。

使用发光二极管LED 时,要连接限流电阻,这里为220Ω电阻,否则电流过大会烧毁发光二极管。

小灯实验原理图
实物图
按照上图链接好电路后,就可以开始编写程序了,我们还是让LED 小灯闪烁,点亮1 秒熄灭1 秒。

这个程序很简单与Arduino 自带的例程里的Blink 相似只是将13 数字接口换做10 数字接口。

参考程序如下:
int ledPin = 10; //定义数字10 接口
void setup()
{
pinMode(ledPin, OUTPUT);//定义小灯接口为输出接口
}
void loop()
{
digitalWrite(ledPin, HIGH); //点亮小灯
delay(1000); //延时1 秒
digitalWrite(ledPin, LOW); //熄灭小灯
delay(1000); // 延时1 秒
}
下载完程序就可以看到我们的10 口外接小灯在闪烁了,这样我们的小灯闪烁实验
就完成了。

arduino案例

arduino案例

arduino案例Arduino案例。

Arduino是一款开源的电子原型平台,由一个简单的硬件和软件组成,旨在帮助学生、爱好者和专业人士快速、轻松地创建互动的物理设备。

它可以用来制作各种有趣的项目,比如智能家居系统、机器人、电子游戏等。

本文将介绍一些基于Arduino的实际案例,以帮助读者更好地了解和学习这一平台的应用。

首先,我们来看一个简单的Arduino案例,LED闪烁。

LED是一种常见的电子元件,可以发光。

通过Arduino控制LED的亮灭,我们可以制作出一个简单的闪烁灯。

首先,我们需要准备一块Arduino开发板、一颗LED、一根电阻和几根杜邦线。

将LED的长腿连接到数字引脚13,短腿连接到电阻,再将电阻的另一端连接到地。

接下来,我们在Arduino IDE中编写一个简单的程序,让LED在一定时间内交替亮灭。

通过这个案例,我们可以学习到如何使用Arduino控制外部设备,以及简单的电路连接和编程。

接着,我们来看一个稍复杂一点的案例,温度监测系统。

在这个案例中,我们将使用Arduino和温度传感器制作一个可以实时监测环境温度的系统。

首先,我们需要准备一块Arduino开发板、一个温度传感器(比如DS18B20)、一块LCD显示屏和一些杜邦线。

将温度传感器连接到Arduino的数字引脚,并将LCD显示屏连接到另外几个数字引脚。

然后,我们编写一个程序,让Arduino可以读取温度传感器的数值,并将结果显示在LCD屏幕上。

通过这个案例,我们可以学习到如何使用Arduino与传感器进行交互,以及如何实现简单的数据显示和处理。

最后,我们来看一个更加复杂和有趣的案例,遥控小车。

在这个案例中,我们将使用Arduino和无线模块制作一个可以远程控制的小车。

首先,我们需要准备一块Arduino开发板、两个直流电机、一个无线模块(比如HC-05蓝牙模块)、一块电池供电模块和一些杜邦线。

将电机连接到Arduino的数字引脚,并将无线模块连接到另外几个数字引脚。

Arduino入门版使用教程

Arduino入门版使用教程

Arduino入門版使用教程目錄介紹篇 (1)一、Arduino 基礎套裝介紹 (2)1、什麼是Arduino 基礎套裝? (2)2、元件清單 (2)二、Arduino 介紹 (4)1、什麼是Arduino? (4)2、特色描述 (4)3、性能描述 (4)三、Arduino C 語言介紹 (6)1、關鍵字和符號 (6)2、結構 (9)3、功能 (9)四、Arduino 使用介紹 (11)1、準備好你的Arduino 板 (11)2、下載Arduino 開發環境 (13)3、安裝USB 驅動 (13)4、連接LED 燈電路 (17)5、打開arduino 開發環境 (18)6、打開已有程式 (19)7、編譯程式 (20)8、下載程式 (23)五、麵包板使用介紹 (30)1、麵包板介紹 (30)2、麵包板的使用 (30)實驗篇 (34)第一節多彩led 燈實驗 (35)一、發光二極管介紹 (35)二、簡單的控制一個led 燈的閃爍實驗 (39)三、廣告燈效果實驗 (41)第二節蜂鳴器實驗 (48)一、蜂鳴器介紹 (48)二、蜂鳴器模擬救護車警笛聲音實驗 (50)第三節數碼管實驗 (54)一、數碼管介紹 (54)二、數碼管顯示數字的實驗 (56)第四節按鍵實驗 (63)一、按鍵介紹 (63)二、按鍵控制led 等亮滅實驗 (65)三、擲骰子實驗 (67)第五節傾斜開關實驗 (74)一、傾斜開關介紹 (74)二、傾斜開關控制led 燈的亮滅 (75)第六節光控聲音實驗 (79)一、光敏電阻介紹 (79)二、光控聲音實驗 (80)第七節火焰報警實驗 (84)一、火焰傳感器介紹 (84)二、火焰報警實驗 (85)第八節搶答器實驗 (90)第九節溫度報警實驗 (98)一、溫度傳感器介紹 (98)二、溫度報警實驗 (99)第十節紅外遙控 (103)一、紅外接收頭介紹 (103)二、紅外遙控實驗 (104)介紹篇一、Arduino 基礎套裝介紹1、什麼是Arduino基礎套裝?Arduino基礎套裝是精心為初學者設計的一款學習工具。

arduino入门教程

arduino入门教程

Arduino是什么?开始讲之前跟大家普及一个知识点,Arduino是一个意大利品牌。

Arduino是一个开放源码电子原型平台,拥有灵活、易用的硬件(各种开发板)和软件(arduino IDE也就是编程器)。

吉安优创电子科技有限公司作为arduino国内为数不多的正版授权公司,坚持正版。

打击抵制各类盗版,改版,兼容版的侵权行为,也奉劝广大消费者不要去购买,以免带来不必要的麻烦。

Arduino专为设计师,工艺美术人员,业余爱好者,以及对开发互动装置或互动式开发环境感兴趣的人而设的。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。

板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(based on Processing)来实现的。

基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

如何学习arduino认识Arduino UNOArduino UNO是Arduino入门的最佳选择,在编著本书时,其最新的版本为UNO R3,本书大部分内容都是基于Arduino UNO R3写成的。

Arduino UNO的详细组成信息如下图所示。

1. 电源(Power)Arduino UNO有三种供电方式:●通过USB接口供电,电压为5V;●通过DC电源输入接口供电,电压要求7~12V;●通过电源接口处5V或者VIN端口供电,5V端口处供电必须为5V,VIN端口处供电为7~12V。

2.指示灯(LED)Arduino UNO带有4个LED指示灯,作用分别是:● ON,电源指示灯。

当Arduino通电时,ON灯会点亮。

Arduino教程(非常适合初学者)

Arduino教程(非常适合初学者)

Arduino教程一: 数字输出Arduino, 教程11 Comments »Arduino的数字I/O被分成两个部分,其中每个部分都包含有6个可用的I/O管脚,即管脚2到管脚7和管脚8到管脚13。

除了管脚13上接了一个1K的电阻之外,其他各个管脚都直接连接到ATmega上。

我们可以利用一个6位的数字跑马灯,来对Arduino数字I/O 的输出功能进行验证,以下是相应的原理图:电路中在每个I/O管脚上加的那个1K电阻被称为限流电阻,由于发光二极管在电路中没有等效电阻值,使用限流电阻可以使元件上通过的电流不至于过大,能够起到保护的作用。

该工程对应的代码为:int BASE = 2;int NUM = 6;int index = 0;void setup(){for (int i = BASE; i < BASE + NUM; i ++){pinMode(i, OUTPUT);}}void loop(){for (int i = BASE; i < BASE + NUM; i ++) {digitalWrite(i, LOW);}digitalWrite(BASE + index, HIGH);index = (index + 1) % NUM;delay(100);}下载并运行该工程,连接在Arduino数字I/O管脚2到管脚7上的发光二极管会依次点亮0.1秒,然后再熄灭:这个实验可以用来验证数字I/O输出的正确性。

Arduino上一共有十二个数字I/O管脚,我们可以用同样的办法验证其他六个管脚的正确性,而这只需要对上述工程的第一行做相应的修改就可以了:int BASE = 8;SEP01Arduino教程二: 数字输入Arduino, 教程3 Comments »在数字电路中开关(switch)是一种基本的输入形式,它的作用是保持电路的连接或者断开。

Arduino从数字I/O管脚上只能读出高电平(5V)或者低电平(0V),因此我们首先面临到的一个问题就是如何将开关的开/断状态转变成Arduino能够读取的高/低电平。

ARDUINO入门及其简单实验7例

ARDUINO入门及其简单实验7例

ARDUINO入门及其简单实验(7例) (1)1. Arduino硬件开发平台简介 (1)1.1 Arduino的主要特色 (2)1.2 Arduino的硬件接口功能描述 (3)1.3 Arduino的技术性能参数 (3)1.4 电路原理图 (4)2. Arduino软件开发平台简介 (5)2.1 菜单栏 (5)2.2 工具栏 (6)2.3 Arduino 语言简介 (6)3. Arduino开发实例中所用部分器件 (8)1. LED简介 (8)2. 光敏电阻简介 (9)3. 直流电机简介 (9)4. 电位器简介 (10)4. Arduino平台应用开发实例 (10)4.1【实作项目一】利用LED作光敏电阻采样实验 (10)4.2【实作项目二】利用PWM信号控制LED亮度 (12)4.3【实作项目三】单键控制一只LED的亮灭 (15)4.4【实作项目四】利用PWM控制直流电机转速 (17)4.5【实作项目五】利用电位器手控LED亮度 (19)4.6【实作项目六】控制LED明暗交替 (21)4.7【实作项目七】利用光敏电阻控制LED的亮灭 (23)ARDUINO入门及其简单实验(7例)1. Arduino硬件开发平台简介Arduino硬件是一块带有USB的I/O接口板(其中包括13条数字I/O引脚,6通道模拟输出,6通道模拟输入),并且具有类似于Java、C语言的集成开发环境。

Arduino 既可以扩展一些外接的电子元器件,例如开关、传感器、LED、直流马达、步进马达或其他输入、输出装置;Arduino也可以独立运行,成为一个可以跟交互软件沟通的接口装置,例如:Flash、Processing、Max/MSP、VVVV或其他互动软件。

Arduino 开发环境IDE全部开放源代码,可以供大家免费下载、利用,还可以开发出更多激发人们制作欲望的互动作品。

如图1和图2所示,分别为Arduino硬件平台的实物图和电路布局图。

Arduino手把手系列教程

Arduino手把手系列教程

Arduino手把手系列教程Arduino手把手入门系列教程1――什么是Arduino/Arduino是什么Arduino是一块简单、方便使用的通用GPIO接口板,并可以通过USB接口和电脑通信。

作为一块通用IO接口板,Arduino提供丰富的资源,包括:13个数字IO口(DIO数字输入输出口);6个PWM输出(AOUT可做模拟输出口使用);5个模拟输入口(AIN模拟输入)。

Arduino开发使用java开发的编程环境,使用类c语言编程,并提供丰富的库函数。

Arduino可以和下列软件结合创作丰富多彩的互动作品:Flash,Processing,Max/MSP,VVVV。

等。

Arduino也可以用独立的方式运作,开发电子互动作品,例如:开关控制Switch、传感器sensors输入、LED等显示器件、各种马达或其它输出装置。

下面是Arduino的硬件实物图片:Arduino实物图Arduino手把手入门系列教程2――Arduino可以做什么目前计算机的输入和输出设备,大家常见的、也是大家做熟悉的就是:键盘(输入)、鼠标(输入)、麦克(输入)和音响(输出)、显示器(输出);对于一些玩游戏的朋友可能还包括游戏杆(输入),做音乐的可能还会接触到MIDI(输入)。

上述设备都很专业,功能也非常专一。

你没办法让键盘给你唱歌,同样,你也没办法让音响替你输入文本。

Arduino更像是一种半成品,它提供通用的输入输出接口。

你可以通过编程,把Arduino加工成你需要的输入输出设备。

你可以把Arduino做成键盘、鼠标、麦克等输入设备;你也可以把Arduino做成音响、显示器等输出设备。

最重要的是,你可以把Arduino做成任何你希望的互动工具(输入和输出)。

如果你愿意,或者你需要,你完全可做使用Arduino开发出一个会唱歌的键盘或者一个让你的音响替你打字。

(夸张的说法)总之,Arduino是什么,是根据你的需求来确定的。

Arduino教案 创意LED

Arduino教案 创意LED

创意LED名称创意LED总课时 1学情分析通过上一节课的学习,学生已经掌握了Arduino驱动的安装,初步认识了Arduino控制器的数字口,熟悉了Ardublock的基本模块。

本节课是在学生初步实现红外传感器控制LED的基础上,让学生实现手势控制LED的创意,以培养学生的创造能力。

教学目标 1.知识和技能掌握多个红外传感器、LED模块的组合应用。

掌握多个条件的判断。

2.过程与方法学会对多个条件进行判断,培养逻辑思维能力。

使用【延时模块】调试程序。

3.情感态度和价值观通过对程序的调试,培养发现问题、解决问题的能力。

通过手势控制实现LED的亮灭,激发想象力、培养创造力。

教学重点手势实现LED的亮灭。

教学难点多条件的判断。

教学过程过程教师活动学生活动备注一、视频展示,引入新课1.课前播放一段《酷毙灯》的视频。

2.提问:视频中的灯与我们传统的灯有什么不同?这样的灯我们能做吗?手势控制灯有什么好处?3.总结:通过手势可以控制灯的亮灭。

我们可以利用上一节课所学的知识来制作手势控制的灯。

出示标题《创意LED——手势控制LED》观看视频观看回答:手势准备器材以及软件二、基础任务1.手势控制手势控制需要用到一些技术如传感器、摄像头等,这些传感器、摄像头能检测到我们的手势,比如:从左到右、从右向左、向上、向下、双手同时等等。

然后通过某种技术将我们的手势与灯、或者其他设备联系起来,就可以实现手势控制的灯或者其他设备。

2.任务描述手势从左到右,LED点亮。

(教师提示学生可以用两个红外传感器实现)3.任务实现:(1)学生搭建电路(2)师生共同讨论并编写程序如何检测到手势是从左到右?这时需要用到两个红外传感器,如果手势是从左到右,那么左边的传感器会先检测到手,然后是右边的传感器会检测到手,这才能说明手势的方向是从左到右,这时我们的LED应该点亮。

将传感器和LED分别与Arduino控制器连起来,并装好驱动、选择板卡与串口,并在学案里填写相关数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3 Arduino,按键,LED
3.1 问题描述:如何采用Arduino控制器和按键同时控制LED的闪烁
在前面的2个例子中,都是简单地通过将程序烧录到Arduino控制板,然后由控制板来控制LED灯的闪烁,缺乏人情味。

那能不能在Arduino控制的过程中,再加上与人的互动呢?答案是肯定的。

在这个实验中,我们将增加一个新的材料按键按钮来和Arduino一起控制灯的闪烁。

3.2 所需材料
表3-1:所需材料
序号名称数量作用备注
1 Arduino软件1套提供IDE环境最新版本1.05
2 Arduino UNO开发板1块控制主板各种版本均可
3 USB线1条烧录程序随板子配送
4 杜邦线若干条连接组件
5 发光二极管(LED)1个 LED闪烁
6 电阻(10,200Ω)2个限流
7 多功能面包板1块连接
8 按键按钮1个开关
在进行实验之前,我们先介绍按键按钮的相关属性。

按键按钮
按键是一种经常使用的设备,通过按键可以输入指令和数据来控制电路的开与关,从而达到控制某些设备的运行状态。

在本实验中,通过给按键输入高低电平来控制LED灯的闪烁。

开关的种类繁多复杂,比如厨房用的单孔开关,卧房用的双控开关,楼道用的声控开关等等,均属于开关的范畴。

在我们实验中,主要是用微型开关,但其种类也很多,如图3-1所示。

图3‐1 微型按键开关种类
在本实验中采用的微型开关大致为6*6*5mm的四脚开关。

如图3-2所示。

图3-2 本实验用的按键
值得注意的是,1和2是一边的,3和4是一边的,中间有道痕分开。

其原理如图3-3所示,当按键按下去时,1,2,3,4四个管脚接合在一起,2根导线连通,变成一根导线。

电路导通,起到触发(关)作用。

当松开按钮,1,2,3,4四个管脚断开,起到开的作用。

图3‐3 按键按钮原理图
3.3 实验原理图
当按键按钮按下,获取一个高电平,触发在Arduino控制下的LED闪烁。

当然,我们也可以设置为按键按下是LED灯不亮,当松开按键时,LED灯闪烁,请看后面的代码分析。

原理图如3-4所示,就是在实验1的基础上增加一个按键按钮。

其实际电路如图3-5所示。

图3-5 电路图
当我们按照图3-5接好电路后,运行Program 3。

01 //Program 3: 按键控制Arduino板上的LED灯
02
03 int led8=8;//设置LED位于Arduino的数字IO端口8
04 void setup()
05 {
06 pinMode(led8,OUTPUT);//设置数字端口8为输出模式
07 }
08 void loop()
09 {
10 int i;//为按键设置接收电压的变量i
11 i =analogRead(0);//读取模拟端口0处电压值赋给i
12 if (i >512)//设定门限值,若接收到的电压值大于512(即2.5V )
13 {digitalWrite(led8,HIGH);//设置数字端口8为高电平,即点亮led 灯 14 delay(2000);}//保持点亮状态2s
15 else
16 digitalWrite(led8,LOW);//若电压值低于512,端口8为低电平,led 灯熄灭 17
18 }
此时,当你按下按键时,LED 灯将被点亮。

但是,当你松开按键(或者用手拿着杜邦线的一端),LED 灯还是亮的,如图3-6所示。

图3-6 手拿杜邦线,LED 灯亮
这主要是因为人体或者外界存在一定的干扰,使得即使没有按下按键LED 灯还是会亮。

这是因为通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而在闭合及断开的瞬间均伴随有一连串的抖动。

抖动时间的长短由按键的机械特性决定,一般为5ms ~10ms 。

这是一个非常重要的参数,如图3-7所示。

图3-7 按键抖动现象
SmartArduino
SmartArduino
为了避免做出误判,必须消除这种现象,这就是按键消抖。

消抖的方法有很多,主要从硬件和软件两个方面。

但值得指出的是,即使我们将Program 3中的电压门限值设置为比512 (512是pwm值,我们将在下面的章节中详细介绍)还要大,抖动还是会出现。

笔者试着将i设置为1000,还是会出现按键没有按下(或者手拿着杜邦线的一端),LED灯还是会亮。

所以必须从原理上解决这一问题。

方法一、硬件消抖
首先,我们分析一下为什么会出现抖动现象。

当按键没有按下(也即断开),如图3-5、3-6中,模拟端口A0断开还是有电压值(>512),说明外界或者人体是存在一定的干扰信号。

这种干扰信号用电压值表示的话,是可能大于512的。

所以会出现按键没有按下LED灯也会被触发点亮。

所以,我们可以在图3-3所示的1和2或3和4之间并联一个所谓的下拉电阻。

即可使得按键没有按下,外界的干扰电压被消耗在了下拉电阻上了,从而使得LED灯不会被点亮,在按键没有按下的情况下。

增加下拉电阻后的电路如图3-8所示。

从图中可以清楚地看出,当按键断开时,外界的干扰电压被屏蔽掉了。

所以,按键断开LED灯不会被
点亮。

当按图3-9连接电路图后,运行Program 3,按下按键,LED灯即可被点亮。

SmartArduino
图3-9 增加下拉电阻的电路图
补充:下拉电阻
如图3-10所示,上部的一个Bias Resistor电阻因为是接地,因而叫做下拉电阻,意思是将电路节点A的电平向低方向(地)拉。

下拉电阻的主要作用是与上接电阻一起在电路驱动器关闭时给线路(节点)以一个固定的电平。

图 3-10 下拉电阻
第二种方法:软件消抖
软件消抖的原理:因为按键按下后,一般有5-10ms的抖动,所以可以通过软件设计延时5-10ms,让抖动在这段时间内消失。

然后再检测是否还是为高电平,若是,则判断为高电平(在本例中按下为高电平)。

在按键断开也是一样的原理。

断开后延时5-10ms,若为低电平表示按键断开,若还为高电平,则表示没有断开。

软件消抖的方法比较简单,就是通过延时5-10ms再进行判断,做出选择。

这种方法比较适合于多按键的情形,因为布置下拉电阻还是比较繁琐。

但是,有时候这种方法不一定准确,比如笔者在做这个实验时,就发现不接下拉电阻的话,不管延时多长时间,LED灯都一直是点亮状态。

一般来说,是将软件和硬件方法两种结合起来使用会有更好的效果。

相关文档
最新文档