六十分钟让你的手机远程控制空调

本文适用对象:HPU大学生电器开发部成员

功能描述

在手机上远程控制Nodemcu的引脚输出高电平脉冲,单片机通过外部中断获取手机指令,控制红外灯发射空调开机或者关机信号。

材料

硬件材料列表:

  • 手机
  • Nodemcu
  • 电器开发部开发板
  • 四根双母杜邦线

所需软件列表:

  • Keil
  • STC-ISP
  • Arduino

制作过程需要用到的设备列表:

  • 示波器
  • 空调遥控器

制作成本:Nodemcu(约15元)+ 四根杜邦线 = 15元

实现步骤

  1. 下载Arduino软件,安装并运行软件,
  2. 粘贴代码(不会上传附件,请找我copy),
  3. 下载APP:blinker,注册账号,点击‘添加设备’,选择‘Arduino’,选择‘MQTT接入’,点击‘阿里云’,复制key,
  4. 将key复制到代码指定位置,填写WiFi的ssid和password,点击软件左上角第二个朝右的按钮,等待几分钟,直到下方控制台显示100% ,
  5. 因为我单片机的代码是针对我这里的空调的,要控制你们自己的空调需要捕获空调开关机时要发送的红外信号,需要用到示波器,
  6. 把开发板(先取下来单片机)插到电脑上,示波器打开接到P3^2,按下示波器的single按钮,按下空调遥控器的开关键示波器出现波形(如果没有触发请调整触发电压),然后依据个人喜好调整波形开始观察,捕获到的波形应类似于这样:
  7. 六十分钟让你的手机远程控制空调_第1张图片
  8. 其实从中间分开左右两个波形是重复的,我试着只发一遍但空调没有反应,所以我们译码的时候可以选其一进行,以左侧为例,放大调整后的波形:
  9. 六十分钟让你的手机远程控制空调_第2张图片
  10. 然后再放大,就可以译码了,译码原则:低电平之后的高电平时间不同,高电平时间长代表1,高电平时间短代表0;红外接收管特性:在接收到38K红外信号时示波器显示低电平,接收不到时显示高电平;红外发射协议:六十分钟让你的手机远程控制空调_第3张图片可以看出发送1时38K载波为560us,关闭红外2250-560=1690us,对应示波器显示为560us低电平+1690us高电平;发送0时38K载波为560us,关闭红外1120-560=560us,对应示波器显示为560us低电平+560us高电平。
  11. 译码完成后将所有字节转为16进制,
  12. 打开Keil新建工程,粘贴代码(不会上传附件,请找我copy),填写16进制代码编译下载。
  13. 连接杜邦线:Nodemcu的Vin,Gnd,D0,D1连接至开发板Vcc,Gnd,P3^2,P3^3;
  14. 打开blinker应用,点击刚才创建的设备,点击右上角第一个按钮进入编辑模式,点击屏幕已有组件再点击左下角垃圾桶可以删除,点击右下角√可以保存;点击下面的图标可以添加组件,我们的最终目的是在屏幕上保留两个按钮:关闭空调,开启空调。
  15. 修改按键的数据键名为‘ButtonKeyOff’和‘ButtonKeyOn’即可开始控制。
  16. The End。

你可能感兴趣的:(其它)