手把手教你做智能LED灯(一) 功能规划与设计方案
前言
智能硬件有意思,现在市场上有很多针对普通消费者的智能硬件。例如,智能灯泡、智能插座、智能电子秤,甚至无人飞行器。抛开这些智能设备实现的功能不谈,它们的实现原理都是大同小异:通过手机的蓝牙(或者wifi网络),连接智能硬件上的蓝牙模块,向蓝牙模块发送各种控制命令,让硬件工作起来。
也许你只是个普通的软件开发者,对硬件毫无概念,也不要着急,我们向纯软件开发者推荐一个很好的智能硬件入门平台Arduino,以此为基础,逐步熟悉智能硬件开发。
万事开头难,本章将从最简单的智能LED灯开始,向大家介绍一个智能硬件是如何设计并实现的。
当本章完成之后,大家将会得到如下图的作品,
![](http://res.anddle.com/image/arduino/00.LED%E7%BB%84%E8%A3%85%E6%95%88%E6%9E%9C.png)
并且可以通过手机控制LED灯的明暗强弱。
![](http://res.anddle.com/image/arduino/00.LED%E6%8E%A7%E5%88%B6%E7%95%8C%E9%9D%A2.png)
本文针对的读者是:
- 对智能开发感兴趣的初学者;
- 对安卓开发有初步的了解(假如毫无安卓开发的能力,请参看《手把手教你安卓入门》,快速上手安卓应用开发);
在开始以前,假设各位已经做好了如下准备:
- 一台Windows系统(Win7 Win8 Win10)的电脑(台式机或笔记本);
- 一部具有蓝牙功能的安卓系统设备(手机或平板电脑);
- 一根连接电脑和安卓设备的数据线(通常是micro usb数据线);
- 四根Arduino线缆;
- Arduino MEGA开发板;
- 一根连接电脑和Arduino开发板的数据线;
- 一个外接蓝牙模块(HC06或者HC05);
- 一个LED显示灯;
- 一个按钮开关
- 若干积木零件;
- 一到两天时间;
- 耐心与求知欲。
*以上需要使用到的硬件开发板或者传感器可以在我们的安豆杂货铺中选购。
另外,在开始以前,我们强烈建议大家首先阅读我们发布的5篇智能硬件相关文章:
我选Arduino
从Hello world开始
控制LED灯
蓝牙传输
按钮开关
我们所有的内容都是建立在这四篇文档的基础之上的。
本文的代码,可以从安豆网的示例代码中下载。
***************************************
本系列课程使用到的Arduino开发板、扩展板以及其他相关的传感器,各位可以根据我们文章中介绍的硬件在淘宝网选购。
您也可以在我们的网店跟我学Arduino开发中购买,这些相关硬件都由我们为您把关购买,为大家节省选择的精力与时间。同时也感谢大家对我们这些码农的支持。
最后再次感谢各位读者对安豆
的支持,谢谢:)
第1节 功能规划与设计方案
1.1 功能定义
LED灯的功能很简单,
- LED灯通过蓝牙模块收到打开或者关闭的命令,并根据命令进行对应的操作;
- LED灯收到调节当前灯光强弱的命令,并根据收到的亮度值做相应的操作;
- LED灯的蓝牙模块处于被连接状态,随时准备被其他控制设备连接;
- 安卓手机端的控制软件能搜索、发现并连接到LED灯的蓝牙模块;
- 安卓手机端的控制软件能发送控制命令到LED灯,开启关闭LED灯,并调节LED灯的亮度;
- LED灯要有个实体的开关,能够打开关闭LED灯;
- LED灯的外观要简洁实用,便于普通人组装;
![](http://res.anddle.com/image/arduino/01.%E9%81%A5%E6%8E%A7LED%E7%81%AF.png)
1.2 设计方案
作为一个智能硬件,需要考虑三个方面的设计:硬件功能、硬件结构、手机控制软件。
1.2.1 硬件功能
硬件开发需要储备很多的硬件知识,需要多年的实际经验,这对于新手或是纯软件开发者来说是个不小的门槛。因此,我们选择采用一套简单的硬件开发平台来帮助我们这些小白们解决这个问题。
Arduino是一个使用非常简单的硬件开发平台,利用它,任何软件开发者都可以在对硬件几乎一无所知的情况下进行智能硬件的开发。
Arduino开发板有多种型号,这里我们选择Arduino MEGA开发板作为智能硬件的控制板。
![](http://res.anddle.com/image/arduino/01.uno_and_mega.png)
开发板外接的LED灯模块大同小异,都是3个引脚,需要将它们连接到Arduino开发板上。
![](http://res.anddle.com/image/arduino/01.LED%E6%A8%A1%E5%9D%97-1.png)
开发板外接的蓝牙模块,我们选择HC-06,将它们连接到Arduino开发板上。
![](http://res.anddle.com/image/arduino/01.%E8%93%9D%E7%89%99%E6%A8%A1%E5%9D%97.png)
开发板要外接一个按钮开关,用来控制LED灯的开关。
![](http://res.anddle.com/image/arduino/01.%E6%8C%89%E9%92%AE%E5%BC%80%E5%85%B3.png)
为了在开发板上同时接入多个传感器器件,需要使用扩展板,
![](http://res.anddle.com/image/arduino/03.shield_board.png)
将以上元件连接以后就具备了通过蓝牙接收命令,控制LED灯亮度开关的功能。
为了节省大家选购这些器件的时间、精力、和经费,我们将它们打包成了Arduino 开发套件的套装版,放在安豆杂货铺中,供大家选购。
1.2.2 硬件结构
硬件组装好以后,需要为它设计一个简洁实用的外壳,将开发板、连接线、LED灯包裹起来。
作为个人设计的智能硬件,一定是个性化的产品。开发者可以采用3D模型软件设计一个精巧的外形,然后通过3D打印机将它变成现实,再和我们之前的智能硬件组合起来。
![](http://res.anddle.com/image/arduino/01.3D%E6%89%93%E5%8D%B0%E6%9C%BA.png)
但是3D建模也是需要花费一定时间和精力学习的。这里我们准备采用积木拼接的方式搭建一个LED灯的外部结构。积木颗粒众多,可以随意插入和拆卸,可定制性很高,各位开发者也可以根据自己的创意随意的修改外形,设计成世界上独一无二的智能LED灯。
![](http://res.anddle.com/image/arduino/01.%E4%B9%90%E9%AB%98%E7%A7%AF%E6%9C%A8.png)
1.2.3 手机控制软件
手机端需要控制LED灯,它的界面流程图如下,
![](http://res.anddle.com/image/arduino/01.%E6%8E%A7%E5%88%B6%E6%B5%81%E7%A8%8B.png)
- 启动控制软件;
- 查找要连接的蓝牙模块,点击连接;
- 连接成功后,拖动滑块,调节灯光的亮度;
/*******************************************************************/
本系列课程使用到的Arduino开发板、扩展板以及其他相关的传感器,各位可以根据我们文章中介绍的硬件在淘宝网选购。
您也可以在我们的网店跟我学Arduino编程中购买,这些相关硬件都由我们为您把关购买,为大家节省选择的精力与时间。同时也感谢大家对我们这些码农的支持。
最后再次感谢各位读者对安豆
的支持,谢谢:)
/*******************************************************************/
手把手教你做智能LED灯(一) 功能规划与设计方案相关推荐
- 手把手教你做智能LED灯(三) 手机控制端开发
第3节 手机控制端开发 Arduino开发板已经可以接收命令了.接下来就要开始考虑手机端如何控制LED灯. 我们在之前一篇文档中开发过蓝牙聊天应用,那里面详细介绍了蓝牙设备互相连接的原理和实现方法.在 ...
- 【手把手教你做智能车】第三节-Jlink驱动安装_下载第一个例程到系统板
飞思卡尔智能车系列教学视频教程 手把手教你做智能车:第三节-Jlink驱动安装_下载第一个例程到系统板 视频教程观看地址:http://v.youku.com/v_show/id_XNzkwNTYyO ...
- 手把手教你做智能手环
基于百度强大的云计算与大数据技术优势,百度的手环方案运动模型的计算算法精确度高达90%.百度还牵头发起了可穿戴项目组,获得国家发改委的移动互联网专项基金支持,更是成为这一领域的领军企业. 为了繁荣可穿 ...
- 手把手教你做蓝牙聊天应用(二)-设计方案
第2节 设计方案 功能确定后,就要开始围绕功能进行功能的验证.界面设计的规划.以及程序结构的规划了. 2.1 技术验证 选定了现阶段要完成的核心功能后,我们首先需要对它们做技术上的验证,看看用什么样的 ...
- 机器人新车号牌安装_手把手教你打造智能小车(0)-写在前面的话
每个男孩都有一个机器人的梦,这个梦也许就是从第一次玩遥控汽车玩具开始的.只是那时的男孩还不能够明白,神奇的小车为什么能够按照自己的指令行动,随着知识的增长,他开始明白了一个叫做电磁波的东西传递这其中的 ...
- 可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析
之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...
- 炸翻AI和生化环材圈!GPT-4学会自己搞科研,手把手教人类做实验
[导读]GPT-4等大模型组成的AI智能体,已经可以手把手教你做化学实验了,选啥试剂.剂量多少.推理反应会如何发生,它都一清二楚.颤抖吧,生化环材圈! 不得了,GPT-4都学会自己做科研了? 最近,卡 ...
- python做bi系统_可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析
之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...
- 立创开源|手把手教你做个WiFi/蓝牙网关
我知道你也想要一个属于自己的WiFi/蓝牙网关 开源地址:ESP32 WiFi/蓝牙网关 ESP32 GetWay 工程说明 官方说明:安信可 Wi-Fi 家庭智能网关(ESP32-G)由安信可科技设 ...
最新文章
- 为什么mysql打开闪屏_mysql登录闪屏问题解决办法
- PandaRSS 自助服务系统安装配置
- 跨链Cosmos(7)普通交易流程
- C语言printf与scanf函数
- 云智能遥控开关设备再物联网领域的应用:智能养殖高效、生态、安全!
- java vbs_VBS基础篇 - vbscript Dictionary对象
- NLP将迎来黄金十年,7个案例带你入门(附Python代码)
- Python使用OpenCV+pillow提取AVI视频中关键帧图像
- 微软公司软件开发模式简介
- Vue源码:抽象语法树
- BET365的websocket实时数据采集分析
- 数据结构之算法——递归
- eclipse中Debug调试基本操作
- Grafana密码重置
- vlog常用参数解析
- 北大计算机录取分数线2017,北大2017年高考在全国31省市录取分数线人数对比
- 基于php的网络教学平台,基于PHP技术的网络教学平台的设计与实现
- java bitwise_java – Bitwise不对一串位操作
- MAC 强制退出程序
- 国内外关于文物安全的法律法规、政策、标准等公开文件收集
热门文章
- 如何做二维码?教你一招轻松制作个性二维码
- java教材管理系统,基于web的教材管理系统
- 手工编程是指利用计算机完成,CAD CAM考试复习题答案(1)
- 手机网络抓包 转载记录http://blog.csdn.net/skylin19840101/article/details/43485911
- 实习日志 - 第四天
- 什么是等级保护----网络安全等级保护一级安全测评要求
- 学习css3,使用代码实现一根心爱的二踢脚
- 【保研夏令营经验贴】2021武汉大学国家网络安全学院+华中科技大学网络空间安全学院+华中科技大学武汉光电国家研究中心
- 湖南多校对抗赛(2015.03.28) H	 SG Value
- 狗的品种识别实战(tf2.0)