如何用arduino控制led灯制作图示的led灯

|2微博Qzone微信高手教你DIY:100元打造Arduino语音控制LED灯  语音识别不仅仅会影响到人们使用手机的方式,在智能家居方面也大有可为,最直接的就是带来操作上的便捷性,今天我们就采用Arduino开发板+Asp.Net MVC Api+Android版的讯飞语言SDK,实现用语音来控制一个小LED的实验(含核心代码)。  硬件准备  左边是Arduino主板,右边是网络拓展板,下边的是什么?哈哈,实验室小孟同学亲手给我焊接的小小Led灯,用来模仿开关性质的设备,这么小,看着都是泪水啊。组合后就是这么个样子了。  以上总造价不超过100元。&  Ardunio是一个开源的开发板,据说国外都是小朋友和艺术家都可以玩的开发板,简单易学,功能完善,目前也是非常火爆。事实也确实如此,看了几个示例工程后,有一定开发基础的人一看就知道怎么玩了。大部分web开发者基本上可以直接上手Arduino的网络部分的开发,看一遍示例保证你明白怎么个搞法,不信?那上个截图吧,这是Ardunio提供的IDE,内置了很多常用的开发场景示例,基本上在示例的基础上简单修改就可以完成一些简单的任务。  如果你是一个web开发者,好吧,看到菜单你也应该联想到你熟悉的网站开发模式了吧,是的,Arduino为你提供了客户端模式,服务端模式,还有些不常用的其他模式,让我们来看看Ardunio的WebClientRepeatping,这是一个客户端轮询服务端的方式,简单粗暴,通信稳定,容易理解和上手,下面是Ardunio提供的该模式示例代码。&  请从头到尾看一变,我保证如果你有编程基础看一遍也就知道的差不多该怎么玩了。无非就是定时轮询,请求服务器,对返回的字符串进行处理。下面的代码就是我在上面代码的基础上做的修改,实现了定时从服务器获取命令,如果是1则打开LED,如果是2则关闭LED。&  Android客户端  关于科大讯飞的介绍,自己去官网看吧,深耕语音领域二十年,不是一般企业可以超越的,很好很强大。申请成为开发者,创建应用,开通服务,下载SDK(我下的是带UI的SDK),参考SDK的代码就可以开始自己的开发了。话不多说,直接上核心代码。&  Asp.Net Mvc Api  服务端的代码相对就简单了,我这里创建了两个控制器,一个负责接收手机端的命令,存入数据库,一个负责返回Arduino的网络请求,将命令代码返回。虽然觉得没必要,还是上一下代码吧。  接收手机端传过来的命令。  返回命令给Arduino的请求  效果实现与总结  对着手机说&打开灯泡&,然后灯就亮了!话说程序员看到这一幕,兴奋之情溢于言表啊。  这篇文章只是一个小实验而已,后续还可以做很多有趣的玩法,比如在这个程序的基础上开发语音控制电动窗帘的的工作(目前正在玩耍&),比如直接弄一个Android开发板或者使用语音模块做一个中控,二十四小时伺服,回到家直接说话控制,现有的智能家居产品都可以把语音技术集成过来,相信会大大增加智能家居的易用性。收藏3791本文为OFweek公众号作者发布,不代表OFweek立场。如有侵权或其他问题,请联系举报。+关注文章页右侧位置300*250
相关公众号
想了解LED产业?这里都有!致力于量子点材料制备、器件封装、照明产品研发米优光电专业从事高品质LED封装器件与LED应用产品研发销售投诉文章问题&营销广告重复、旧闻格式问题低俗标题夸张与事实不符疑似抄袭我有话要说确定取消取消
用户登录&请输入用户名请输入密码登 录使用一下账号直接登录&>&LED 小灯实验是比较基础的实验之一,使用arduino平台进行实现
LED 小灯实验是比较基础的实验之一,使用arduino平台进行实现
上传大小:1.95MB
LED 小灯实验是比较基础的实验之一,上一个“ Hello World!”实验里已经利用到了Arduino 自带的LED,这次我们利用其他I/O 口和外接直插LED 灯来完成这个实验,我们需要的实验器材除了每个实验都必须的Arduino 控制器和USB 下载线以外的
综合评分:0
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
LED 小灯实验是比较基础的实验之一,使用arduino平台进行实现
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
LED 小灯实验是比较基础的实验之一,使用arduino平台进行实现绝顶不蔑劲草微,低谷亦览众山小。 白衣飘带轻舟上,长风破浪起惊涛。
Arduino教程 初体验之点亮自带LED灯(含管脚图)
【转载请注明出处:】
虽然之前用的是STM32系列的MCU,但看起来Arduino的编程语言封装更加精简,模块测试和原型开发更快。
入手的Arduino型号是Arduino Nano V3.0
首先接上USB电源,绿灯常量,红灯闪烁,显然里面已经内置了一个demo程序。
可以看出实际上Arduino自带了一个LED灯,我们可以用于开发调试。
好,进入正题~
1、IDE安装
2、驱动安装
驱动也装了串口一直没出现,开始还以为是驱动问题,折腾了一会发现是没插紧USB接口~~~==
3、原理图找到LED引脚
查看板载LED序号为13
附Arduino Nano 原理图下载地址
4、打开闪灯案例Blink
修改GPIO序号为13
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(2000);
// wait for a second
digitalWrite(13, LOW);
// turn the LED off by making the voltage LOW
delay(1000);
// wait for a second
5、IDE设置
(串口选择、开发板型号选择、编译器选择、打开、保存文件、下载)
开发板、编程器配置
将要程序烧录到板子上,需要配置开发板的型号以及编程器版本;
选择开发板的型号为Arduino Nano:
Arduino UNO型号的板子就选择:Arduino/Genuino Uno
选择处理器为Atmega328P:
选择端口:
Arduino UNO不同具体型号的板子端口可能也不一样.
端口在计算机管理》设备管理器中查看
编程器怎么选择?
本实例中的几块板子,Arduino nano V3.0、Arduino UNO R3 的板子使用AVRISP mkII,arduino as ISP 都是可以的
编译烧录程序
点击IDE上面的对号按钮编译程序,检测语法是否正确
点击对号右边的向右的箭头按钮将程序烧录到板子上;
上传成功后就会看到LED灯亮起了,程序设置为亮两秒灭一秒循环。
6、Arduino Nano引脚图
更多版本请看
PS:如果本文对您有帮助,请点个赞让我知道哦~
没有更多推荐了,
Ename: Leytton
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给张驰
导语:昨天介绍了如何用柠檬做个LED灯,如果你觉得那个too simple,不防尝试用Arduino来控制RGB LED灯吧。
同步到新浪微博
不受意识控制地报道那些让人感动的产品技术和事件...... ;微信:nksimons;《脑洞》公众号:hackmind
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料Arduino学习(三)点亮LED灯
本篇开始,学习用Arduino控制各种外部电子元器件、传感器等,学习如何搭建相关电路。
用Arduino搭建电路有两种方式:
方式1: 购买并使用Arduino现成的模块:由于模块本身已经做好了电路,这种方式使用比较简单,只需要把管脚接上即可,不需要了解元器件性能、不需要搭电路。这种方式仅适合初学者、上手快。但长期使用模块,则可能对元器件、电路一无所知,更谈不让设计电路了。
方式2:直接使用电子元器件,自己搭电路。这种方式成本便宜,能深入了解元器件性能、电路原理,以后能自己设计电路。
我想,既然学习单片机,
最终必须搞懂元器件原理和自已设计电路,
因此个人推荐尽量用方式2自已搭电路.
(但是对于通信联网等复杂电路,
可以用使用模块简化开发)
虽然电路组成方式不同,但不管方式1还是方式2,Arduino的软件都是一样的。
在以后的博文中,尽可能把两种方式都同时介绍一下。
一, 基础知识
1,Arduino Nano的管脚, GPIO的概念
先看一下Arduino Nano的管脚
GND 是 电源地,
5V 是5V正电压引出脚
D13 是 数字IO脚, 又称为 GPIO
所谓GPIO ( General Purpose Input Output ) 全名为通用输入输出,是单片机的一种管脚,即可以做输入、也可以做输出, 常用于将开关、按键、LED、传感器等接到单片机。
数字IO脚有两个状态: HIGH 或 LOW,
HIGH就是高电压(5V,
表示1), LOW是低电压(0 V, 表示0).
可以通过软件控制管脚的电平状态, 从而实现对外围设备的控制.
2, Arduino 模块
Arduino 模块就是把电子元件做在一个电路板上,
引出几个管脚.
使用者只需把管脚连接到Arduino板, 即可组成电路.
这样做很方便,
初学者甚至不需要懂得元件或 电路, 就能开展电子制作.
Arduino 模块种类非常多,包括:LED, 开关, 各类传感器等.
俺在淘宝上购买一个Arduino 37件模块套装(约70元).
以下进入本次实验学习
二、点亮LED灯(使用LED模块)
1, LED模块
这种LED模块上面有一个发光二极管(即LED),
有两个状态:亮或灭
模块有三个引出管脚,
GND接地, VCC接5V, IN 接IO脚.
不同厂家的模块对管脚标注方法可能不同,
有的厂家把GND标为 "-"号,
把 IN 标为 S (即 Signal 信号的意思)
用杜邦线把LED模块的三个脚接到Arduino板上,
GND接地, VCC接5V, IN 接 D5脚 (IO脚可以随便选)
3, 在Arduino IDE中写个Arduino程序控制D5脚上的LED灯
int pin = 5; //LED的管脚
void setup() {
pinMode(pin, OUTPUT); //设置管脚为输出模式
void loop() {
digitalWrite(pin, 1); //向管脚写入1, 设置为高电平, 则LED灯亮
4, 再写个程序,让LED灯闪烁
int pin = 5; //连接LED的IO脚
void setup() {
pinMode(pin, OUTPUT); //设置管脚为输出模式
void loop() {
digitalWrite(pin, HIGH); //将管脚设置为高电平, 则LED灯亮
delay(1000); //等待1000毫秒
digitalWrite(pin, LOW); //将管脚设置为低电平, 则LED灯灭
delay(1000); //等待1000毫秒
}运行效果:
LED灯闪烁 (亮1秒, 灭1秒)
三、点亮LED灯
(使用LED元器件自已搭电路)
1, 准备元器件和器材
发光二极管(LED) 一个
面包板一块
1K 电阻一个
杜邦线若干
2, 了解LED
发光二极管(LED) 是一种单向导电的二极管.
有两个脚. 两个脚有一长一短,短的是连接GND,长的是连接正极. (注意: 接反了不会亮的)
当适当的电流通过时,
LED将发光.
一般的LED发光时电流值为 3- 10 mA,
电流太小不发光,
电流过大则会烧坏LED.
电流小则亮度低, 电流大一些则更亮.
LED两端电压不能太大, 一般在1 -
连接在电路中时, LED会产生压降,约为1.7V.
LED接线的 电路原理图如下:
LED压降约为1.7V,
当GPO脚输出为5V时,
电阻R两端电压为3.3V, 根据欧姆定律计算电流
3.3V / 1000 = 3.3mA.
由于3.3mA电流通过 LED, 则LED将发光.
当GPIO脚输出0V时, 两端无电压, 无电流,则LED灭
上图中,如果把电阻换为 330欧姆, 当GPO脚输出为5V时,
则电流 = 3.3V / 330 = 10 mA.
电流更大一些,则LED会更亮一些.
3, 用面包板接线
把LED和电阻插入面包板, 用杜邦线接线,
示意图如下:
4, 在Arduino IDE中写个Arduino程序控制D5脚上的LED灯
int pin = 5; //LED的管脚
void setup() {
pinMode(pin, OUTPUT); //设置管脚为输出模式
void loop() {
digitalWrite(pin, 1); //向管脚写入1, 设置为高电平, 则LED灯亮
这个程序与使用模块的程序是一样的.
5, 再写个程序,让LED灯闪烁
int pin = 5; //连接LED的IO脚
void setup() {
pinMode(pin, OUTPUT); //设置管脚为输出模式
void loop() {
digitalWrite(pin, HIGH); //将管脚设置为高电平, 则LED灯亮
delay(1000); //等待1000毫秒
digitalWrite(pin, LOW); //将管脚设置为低电平, 则LED灯灭
delay(1000); //等待1000毫秒
}运行效果:
LED灯闪烁 (亮1秒, 灭1秒)这个程序与使用模块的程序也是一样的.
课后练习题:
1,连接一个LED灯到Arduino开发板,编写一个程序,让LED灯来亮。
  用万用表测量一下,当向IO口输出1时,该IO口电压是多少?输出0时电压是多少?
  通过LED灯的电流是多少。限流电阻两端的电压是多少。LED灯两端的电压是多少
  如果要增加电流到10ma,限流电阻应改为多少? 修改电阻,看LED灯亮度有否变化,电流是否变化。
2,思考题: LED灯的电阻是多少? LED灯产生的压降是多少?
       用万用表电阻档,直接测量LED灯的电阻,会不会把LED烧坏? 该怎么量?
3,连接一个LED灯,编写一个程序,让灯亮二秒、灭一秒,依此循环。
4,连接四个LED灯到Arduino开发板,编写一个程序,让第1个LED亮一秒然后灭掉,让第2个LED亮一秒然后灭掉,第3个LED亮一秒然后灭掉, 第4个LED亮一秒然后灭掉。 然后现让第1个LED亮一秒然后灭掉,依此循环。形成跑马灯。
5,如何搭一个低电平触发电路,让IO脚输出0时LED灯亮, 输出1时LED灯灭
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 arduino按键控制led灯 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信