在本系列教程中,我们学习了如何连接电位器以获得模拟输入、通过生成PWM输出连接RGB LED、使用PWM输出控制直流电机速度以及其他一些内容。
本教程介绍了ATtiny85与蓝牙模块HC05的串行通信。ATtiny85没有内置的UART或USART与Rx和Tx引脚,但它支持可配置的USI(通用串行接口)。Arduino编程允许我们使用数字IO引脚作为Tx和Rx引脚使用SoftwareSerial库。因此使用这个库,我们将使引脚7 (PB2)和引脚2 (PB3)的ATtiny85工作为Rx和Tx引脚。蓝牙模块HC05使用这些Tx和Rx引脚与ATtiny85通信。
更有趣的部分还在后面。HC05模块通过Android应用程序从任何智能手机的蓝牙获取命令——该应用程序从手机的内置蓝牙发送命令。因此,智能手机通过HC05模块向ATtiny85发送命令来控制任何设备。听起来很有趣吗?让我们看看怎么做。
如果您没有从一开始就了解本系列,那么应该阅读以下两个教程,它们解释并演示如何使用ATtiny85和逐步指南构建hello world(LED闪烁)应用程序。
线路图
电路连接
该电路仅使用三个组件HC05模块、继电器模块和ATtiny85构建。HC05(蓝牙模块)有四个接口引脚(1)Vcc(2)GND(3)Tx和(4)Rx。Tx引脚连接PB2(引脚7),Rx引脚连接PB3(引脚2)。Vcc引脚与5V相连,GND引脚与接地的引脚4相连。继电器模块有三个接口引脚(1)Vcc、(2)GND和(3)IN。Vcc引脚与5V连接,因为继电器为5V。GND引脚连接至ATtiny85的引脚4。PB0引脚连接到IN引脚以打开/关闭继电器。电路中提供5 V电源。
注:可将带有继电器的任何交流(或直流)设备连接至其接触端子,以便在继电器打开/关闭时,设备将打开/关闭
电路操作
- 当5V电源被送至电路时,继电器是OFF(所以设备也将是OFF)。HC05模块将开始闪烁,以表明它正在寻找另一个将与之配对(连接)的蓝牙设备。
- 想要控制设备的人,将首先通过在他的智能手机上拥有蓝牙数据发送设备来打开Android应用程序(你可能在谷歌play store中得到很多这样的应用程序)。搜索“Arduino的蓝牙控制”)。此应用程序将搜索并与HC05模块配对(用于配对1圣时间,需要输入HC05模块的蓝牙密钥,默认为1234)。当智能手机连接到HC05模块时,它的闪烁速度会变慢
- 现在从应用程序中键入并发送“1”。手机蓝牙将此“1”发送至HC05模块
- HC05模块将接收该“1”,并通过串行通信将其发送给ATtiny85
- 当ATtiny85获得命令1时,它将通过向引脚PB0发送高电平来开启继电器。与继电器相连的设备也会打开
- 现在要关闭设备(继电器),人必须从智能手机发送命令' 0 '
- 因此,通过智能手机发送命令来打开/关闭设备
程序
该程序是用Arduino IDE软件使用C编程语言编写的。它被编译,并创建一个十六进制文件,下载到ATtiny85的内部闪存中
程序逻辑
最初,该程序会向用户的智能手机发送一条消息,说明手机蓝牙已与HC05连接,并发送命令1/0以打开/关闭设备。
然后它等待从串行端口获得的任何数据。如果接收到' 1 '或' 0 '命令,它将通过发送HIGH/LOW到继电器模块输入引脚来开关ON/OFF继电器。此外,它还会向用户的智能手机发送消息,告知设备处于开启/关闭状态。
在下一篇教程,我们将学习构建无线传感器数据记录器。
您可能还喜欢:
根据以下文件提交:188app彩票