智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 11050|回复: 25
打印 上一主题 下一主题

[Arduino入门教程]第四课--按钮控制的LED延时开关

  [复制链接]

110

主题

396

帖子

2329

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2329
QQ
跳转到指定楼层
楼主
发表于 2014-3-25 15:49:05 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
想来大家也完了几天的LED了,总感觉用程序控制LED不是很爽,不能实打实的人机互动,所以,今天制作了一期,人机互动的例子带给大家:用按钮控制LED。但是呢,不能把按钮单纯的作为开关,一按就亮,一放就灭,那样大家会鄙视我的,把Arduino控制器拿掉依旧有效,所以呢,我们提高了点水平,将开关作为延时开关来使用,按下开关后1秒钟,灯才会亮,灯亮5秒后才熄灭,这样大家就能依据这个例子,自己延伸出很多好玩的玩法出来。

首先,老规矩介绍用到的元器件:

ocrobot mango控制板(Arduino兼容)  一块  
专用面包板跳线  一盒  
面包板  一块  
镊子  一把  
LED发光二极管  一个  
按钮开关  一个  
10K欧姆电阻   一个  
220欧姆电阻  一个  
USB数据连接线  一根  



我们来看一下电路连接示意图图



大家应该看到了从开关单独有一个10k欧姆的电阻接到地线,这个电阻是作为下拉电阻使用,具体介绍请参阅:下拉电阻

然后我们就来将电路搭建出来




同样的,我们的布线不是最优布局,也不是最漂亮的,大家在面包板布线上应该多发挥自己的创意,力求做到简单易读,美观大方~

有不少同学反映按键接触不良,造成无法使用,这个主要是因为按键没有完全插进面包板,所以才会有此问题。上两个按键正确插入面包板的图,大家可以参考一下,按入面包板的时候要左右用力均匀,完全压入面包板就可以了。如果往出拿呢,也很简单,可以使用面包板跳线盒中的圆头镊子,慢慢从中间槽中撬出来就可以了。







接下来将我们的程序下载进去

[C] 纯文本查看 复制代码
/*
作者:极客工坊
时间:2012年5月24日
IDE版本号:1.0.1
发布地址:[url]www.geek-workshop.com[/url]
作用:当你按下按钮后1秒钟,灯会亮,然后维持5秒钟,熄灭
*/
 
void setup ()
{
  pinMode(4,INPUT);                 //将4号数字口设置为输入状态,13号数字口设置为输出状态
  pinMode(13,OUTPUT);
}
 
void loop()
{
  int n =digitalRead(4);                   //创建一个变量n,将4号数字口的状态采集出来赋值给他。
  if (n==HIGH)                             //判断n是否为高电平,如果是执行下面的语句,不是则跳过。
  {
 
    delay(1000);
    digitalWrite(13,HIGH);
    delay(5000);
    digitalWrite(13,LOW);
 
}
}




希望大家不要仅限于只是照做教程的内容,那样没有任何意义, 可以结合之前的教程,将两个实验结合起来,例如可以尝试做一个用两个按钮控制流水灯方向的小项目,大家应该释放自己的创意,梦想和创新才是最重要的
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2024-5-16 13:47 , Processed in 0.108746 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表