Page Title

Blynk教程之制作一个无线七彩灯


2020-04-24 16:55:54


1586239427350087.png


一、简介


本教程将向您展示如何使用好搭酷-Nano制作一个无线七彩灯。


二、材料准备


硬件准备:


  • 好搭酷-Nano

  • ESP-01S Wi-Fi 模块(需烧录官方 AT 固件)

  • Nano 扩展板(或面包板)

  • OLED模块

  • RGB模块

  • 杜邦线若干


软件准备:



三、电路连接


本教程中所使用的的 ESP-01S Wi-Fi 模块如下图,它主要通过串口与主控板进行通信。


1586766629445601.png


好搭酷-Nano 的引脚标注如下图所示,可以看到好搭酷-Nano 有两个串口,分别是串口 0(RX、TX,即 D0、D1)和串口 1(RX1、TX1,即 A4、A5)。本示例中使用串口 1 与 ESP-01S WiFi 模块进行连接通信。


nano_pinmap.png


好搭酷-Nano 与 ESP-01S 的电路连接图如下:


七彩灯.png


注意:只能使用 3.3V 为 ESP-01 供电,5V会烧坏!!!


四、Blynk App 设置


Blynk 的下载与账号注册就不再赘述了。注意注册账号时服务器的选择,这个服务器地址要与后面编程时对应填写。


目前可选的 Blynk 服务器地址有:


  • Blynk 官方服务器:blynk-cloud.com

  • 盛思服务器:blynk.mpython.cn

  • 裘炯涛老师服务器:116.62.49.166

  • 武玉柱老师服务器:60.213.28.10


注册完账号并且登录 Blynk App 后,我们需要新建一个项目,点击“New Project”按钮:


1586237971796080.png


在项目初始化设置中,项目名称根据你的需要随意写,硬件类型选择 Arduino Nano,这是因为好搭酷-Nano 的引脚与 Arduino Nano 的引脚是兼容且对应一致的。连接类型选择 WiFi,然后点击“Create Project”按钮即可完成新建项目步骤。 


1586238183711091.png


这时会有一个弹窗,提示你已将 Blynk 授权码(AUTH TOKEN)发送到你注册账号时的邮箱。授权码在 Blynk 中是非常重要的,它是保证你的项目程序与 App 一一对应的凭证,如果你忘记授权码了,也可以在项目设置中找到:


1586238219508346.png


接着添加一个RGB组件放入项目中:


1587717724760889.jpg


设置RGB组件的虚拟引脚(虚拟引脚可选择下拉列表中的任意一个,只需与程序设置的统一即可),此案例将虚拟引脚设置为V2。


1587717811563477.jpg


设置完成后的项目如下图所示,主界面上多了一个斑马图案的RGB色盘,长按可设置组件大小。点击右上角的三角形 ▷ 标志,即可运行项目。


1587718373975367.jpg


五、程序编写


这里以好搭酷-Nano 在线编程为例,离线版好搭 Block 编程方法与在线编程方法一致。


首先在浏览器中打开好搭酷-Nano 的在线编程环境,网址为:http://haohaodada.com/Core/nano.php。点击左边的侧边栏“Blynk 物联网”选项卡,我们就可以看到 Blynk 相关的图形编程模块。


1586238515189933.png


首先将“服务器信息设置”模块与“运行 Blynk 进程”模块分别拖入到“初始化”模块和“重复执行”模块中,并且修改对应的服务器地址、Wi-Fi 名称、Wi-Fi 密码、Blynk 授权码等,如下图所示。注意服务器地址要与注册 Blynk 账号时的地址保持一致。目前 TX 和 RX 的引脚选择,只能选好搭酷-Nano 的串口 1(即 A4、A5 引脚)。

1586238660339915.png


再使用OLED显示和RGB显示的图形块,当app发送数据后,RGB灯显示app端取得的颜色,使用OLED将接收到的RGB数据显示出来。


图片.png

点击此处查看示例程序。


在编程工具栏点击“下载到设备”,将程序下载到好搭酷-Nano 中,稍等片刻,等待好搭酷-Nano 连接上 Blynk 服务器,过一会我们就可以在 Blynk 手机 App 中看到连接成功的提示。


六、效果演示


在 Blynk 项目中,拖动取色器,取得自己想要的颜色,松开手指,发送RGB数据。


1587718460309065.jpg


发送数据后,RGB灯亮起相应颜色,OLED屏显示RGB数据,且与app中取色器取得的的RGB值相同。


七色灯.gif