admin 管理员组

文章数量: 887017

前言

智能硬件有意思,现在市场上有很多针对普通消费者的智能硬件。例如,智能灯泡、智能插座、智能电子秤,甚至无人飞行器。抛开这些智能设备实现的功能不谈,它们的实现原理都是大同小异:通过手机的蓝牙(或者wifi网络),连接智能硬件上的蓝牙模块,向蓝牙模块发送各种控制命令,让硬件工作起来。

也许你只是个普通的软件开发者,对硬件毫无概念,也不要着急,我们向纯软件开发者推荐一个很好的智能硬件入门平台Arduino,以此为基础,逐步熟悉智能硬件开发。

万事开头难,本章将从最简单的智能LED灯开始,向大家介绍一个智能硬件是如何设计并实现的。

当本章完成之后,大家将会得到如下图的作品,

并且可以通过手机控制LED灯的明暗强弱。

本文针对的读者是:

  1. 对智能开发感兴趣的初学者;
  2. 对安卓开发有初步的了解(假如毫无安卓开发的能力,请参看《手把手教你安卓入门》,快速上手安卓应用开发);

在开始以前,假设各位已经做好了如下准备:

  • 一台Windows系统(Win7 Win8 Win10)的电脑(台式机或笔记本);
  • 一部具有蓝牙功能的安卓系统设备(手机或平板电脑);
  • 一根连接电脑和安卓设备的数据线(通常是micro usb数据线);
  • 四根Arduino线缆;
  • Arduino MEGA开发板;
  • 一根连接电脑和Arduino开发板的数据线;
  • 一个外接蓝牙模块(HC06或者HC05);
  • 一个LED显示灯;
  • 一个按钮开关
  • 若干积木零件;
  • 一到两天时间;
  • 耐心与求知欲。

*以上需要使用到的硬件开发板或者传感器可以在我们的安豆杂货铺中选购。

另外,在开始以前,我们强烈建议大家首先阅读我们发布的5篇智能硬件相关文章:
我选Arduino
从Hello world开始
控制LED灯
蓝牙传输
按钮开关

我们所有的内容都是建立在这四篇文档的基础之上的。

本文的代码,可以从安豆网的示例代码中下载。


***************************************


本系列课程使用到的Arduino开发板、扩展板以及其他相关的传感器,各位可以根据我们文章中介绍的硬件在淘宝网选购。
您也可以在我们的网店跟我学Arduino开发中购买,这些相关硬件都由我们为您把关购买,为大家节省选择的精力与时间。同时也感谢大家对我们这些码农的支持。

最后再次感谢各位读者对安豆的支持,谢谢:)

第1节 功能规划与设计方案

1.1 功能定义

LED灯的功能很简单,

  1. LED灯通过蓝牙模块收到打开或者关闭的命令,并根据命令进行对应的操作;
  2. LED灯收到调节当前灯光强弱的命令,并根据收到的亮度值做相应的操作;
  3. LED灯的蓝牙模块处于被连接状态,随时准备被其他控制设备连接;
  4. 安卓手机端的控制软件能搜索、发现并连接到LED灯的蓝牙模块;
  5. 安卓手机端的控制软件能发送控制命令到LED灯,开启关闭LED灯,并调节LED灯的亮度;
  6. LED灯要有个实体的开关,能够打开关闭LED灯;
  7. LED灯的外观要简洁实用,便于普通人组装;

1.2 设计方案

作为一个智能硬件,需要考虑三个方面的设计:硬件功能、硬件结构、手机控制软件。

1.2.1 硬件功能

硬件开发需要储备很多的硬件知识,需要多年的实际经验,这对于新手或是纯软件开发者来说是个不小的门槛。因此,我们选择采用一套简单的硬件开发平台来帮助我们这些小白们解决这个问题。

Arduino是一个使用非常简单的硬件开发平台,利用它,任何软件开发者都可以在对硬件几乎一无所知的情况下进行智能硬件的开发。

Arduino开发板有多种型号,这里我们选择Arduino MEGA开发板作为智能硬件的控制板。


开发板外接的LED灯模块大同小异,都是3个引脚,需要将它们连接到Arduino开发板上。


开发板外接的蓝牙模块,我们选择HC-06,将它们连接到Arduino开发板上。


开发板要外接一个按钮开关,用来控制LED灯的开关。

为了在开发板上同时接入多个传感器器件,需要使用扩展板,

将以上元件连接以后就具备了通过蓝牙接收命令,控制LED灯亮度开关的功能。

为了节省大家选购这些器件的时间、精力、和经费,我们将它们打包成了Arduino 开发套件的套装版,放在安豆杂货铺中,供大家选购。

1.2.2 硬件结构

硬件组装好以后,需要为它设计一个简洁实用的外壳,将开发板、连接线、LED灯包裹起来。

作为个人设计的智能硬件,一定是个性化的产品。开发者可以采用3D模型软件设计一个精巧的外形,然后通过3D打印机将它变成现实,再和我们之前的智能硬件组合起来。

但是3D建模也是需要花费一定时间和精力学习的。这里我们准备采用积木拼接的方式搭建一个LED灯的外部结构。积木颗粒众多,可以随意插入和拆卸,可定制性很高,各位开发者也可以根据自己的创意随意的修改外形,设计成世界上独一无二的智能LED灯。

1.2.3 手机控制软件

手机端需要控制LED灯,它的界面流程图如下,

  1. 启动控制软件;
  2. 查找要连接的蓝牙模块,点击连接;
  3. 连接成功后,拖动滑块,调节灯光的亮度;

/*******************************************************************/

本系列课程使用到的Arduino开发板、扩展板以及其他相关的传感器,各位可以根据我们文章中介绍的硬件在淘宝网选购。
您也可以在我们的网店跟我学Arduino编程中购买,这些相关硬件都由我们为您把关购买,为大家节省选择的精力与时间。同时也感谢大家对我们这些码农的支持。

最后再次感谢各位读者对安豆的支持,谢谢:)

/*******************************************************************/

本文标签: 手把手 设计方案 教你做 功能 智能