小白在准备随时更新了,在学了在学了,很多不懂的地方,大佬勿喷

#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET#include <Blinker.h>
#include <Arduino.h>
#include <IRrecv.h>
#include <IRremoteESP8266.h>
#include <IRutils.h>
#include <Servo.h>char auth[] = "**********";//换成自己的key吧
char ssid[] = "**********";//换成自己的wifi吧
char pswd[] = "**********";//换成自己的wifi密码吧// 定义引脚const int SERVO1 = 16;  // 舵机1  D0  可以自己设置具体百度esp8266的针脚对应的数字
const int SERVO2 = 5;  // 舵机2  D1
int value0 = 90;//记录滑条值
int maxa = 150;//最大角度(左转角度)
int mina = 20;//最小角度(右转角度)
int avga = 90;//中间角度(不偏转角度)Servo myservo1;//关灯舵机
Servo myservo2;//开灯舵机
Servo myservo0;//中间量// 新建组件对象
BlinkerButton btnTurn("btnturn");//开关,括号中的双引号起来的是手机app中组件的名字,下同
BlinkerSlider ranPer("ran");//滑杆
BlinkerButton btnc("btnc");//一个按钮,用来测试用的也可以借鉴(之后介绍用处)// 小爱语音控制
void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {BlinkerMIOT.powerState("on");BlinkerMIOT.print();btnTurn_callback("on");//(调用函数,传入on开灯)}else if (state == BLINKER_CMD_OFF) {BlinkerMIOT.powerState("off");BlinkerMIOT.print();btnTurn_callback("off");//(调用函数,传入off关灯)}
}
void doServo(Servo myservo){//控制舵机的函数myservo.write(maxa);//操作左边的开关delay(1000);//延时1秒myservo.write(mina);//操作右边的开关delay(1000);//延时1秒
}void btnc_callback(const String & state) {if(state == "tap"){//解释一下这里是两个东西配合使用,一个滑竿,一个按钮。滑杆得出一个值,maxa = value0;  //然后用按钮把这个值设置给舵机的旋转角度,可以用来测试或者纠正误差}//这里是点击按钮把滑杆的值设置给左偏角度,长按按钮设置给右偏转角度else{mina = value0;}}
void btnTurn_callback(const String & state) {//关灯舵机操作BLINKER_LOG("get button state: ", state);if(state == "on"){//判断开关,myservo0 = myservo2;//执行开灯时,赋给中间舵机量btnTurn.print("on");}else{myservo0 = myservo1;//关灯btnTurn.print("off");}doServo(myservo0);//用中间舵机执行操作myservo0.write(avga);//记得复原舵机偏转状态,不然会一直按着开关的
}
void ranPer_callback(int32_t value){//滑杆值获取BLINKER_LOG("get ran state: ", value);value0 = value;
}// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);
}void setup() {// 初始化串口Serial.begin(115200);#if defined(BLINKER_PRINT)BLINKER_DEBUG.stream(BLINKER_PRINT);#endifmyservo1.attach(SERVO1);//绑定舵机到相应针脚上myservo2.attach(SERVO2);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerMIOT.attachPowerState(miotPowerState);btnTurn.attach(btnTurn_callback);//按钮滑杆等绑定他们的执行函数ranPer.attach(ranPer_callback);btnc.attach(btnc_callback);
}void loop() {Blinker.run();//循环监听
}

esp8266声控灯代码相关推荐

  1. 实现mind+下光控灯、声控灯、语音识别灯以及Easy IoT上mqtt消息的通讯

    实现mind+下光控灯.声控灯.语音识别灯以及Easy IoT上mqtt消息的通讯 摘要 本篇文章实现四个功能 (除3采用实时模式,其余都采用上传模式) 1.实现天黑自动亮灯,天亮灭灯 2.实现声音强 ...

  2. 和12岁小同志搞创客开发:手撕代码,做一款声控灯

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  3. 【毕设参考】ESP32 + HaaS Python 打造数据上云声控灯

    声控灯    声控灯是通过声音控制开灯的技术,适用于使用声音控制开灯的场景,特别是楼宇.住宅楼的公共场合,例如楼梯间.走廊.大厅等场所,它可减少人工开关电灯的麻烦,解放您的双手,可避免您的双手接触公共 ...

  4. 【掌控板2.0】<Mind+>:光控灯、声控灯、语音识别模块、实现Easy IoT上MQTT消息的通讯实验

    一.实验目的及要求 [实验一]光控灯 [实验二]声控灯 [实验三]语音识别控制灯 [实验四]实现Easy IoT上mqtt消息的通讯 (1)甲按A键(或触摸P)发送消息至topic1,同时监听topi ...

  5. STM32入门必看 简单几步用cubeMX模拟声控灯

    文章目录 一.为什么叫模拟声控灯? 二.操作步骤 1.声音传感模块 2.硬件连接 3.在cubeMX中配置 4.主函数 三.效果展示 一.为什么叫模拟声控灯? 生活中我们可以在很多场所看见声控灯,那么 ...

  6. Stduino小白练习第七弹--楼道声控灯 声音传感器

    2020/01/09 星期四 作者:Astilbe 问题:怎么制作楼道里的声控灯呢? 本小结我们将应用声音传感器. 声音传感器在日常生活中非常常见,例如楼道里的声控开关:传感器感应到脚步声,从而点亮楼 ...

  7. 光敏电阻控制led亮度程序_利用光敏电阻加声音传感器制作声控灯

    视频演示 https://www.zhihu.com/video/1145029294962020352 光敏电阻传感器模块 模块参数: 工作电压:3.3V-5V 光敏电阻模块对环境光线敏感,一般用来 ...

  8. 启明智显分享| ESP32学习笔记参考--PWM(脉冲宽度调制) 篇,配PWM控制 LED呼吸灯代码示例参考

    提示:启明智显专为智能产品提供一站式彩屏显示+连接+云端服务+APP软件开发.维护等解决方案,帮厂商快速实现硬件的智能化.作为启明云端旗下方案公司,我们用心整理了开发小伙伴在开发过程中可能会遇到的问题 ...

  9. Tiny4412汇编流水灯代码,Tiny4412裸机LED操作【转】

    本转载自:http://www.techbulo.com/1313.html Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 2014年10月20日 ⁄ 裸机程序 ⁄ 共 4171字 ...

最新文章

  1. zhs16gbk对应mysql_[Oracle] 彻底搞懂Oracle字符集
  2. 【408预推免复习】操作系统之IO层次结构和IO控制方式
  3. select case when if 的一些用法
  4. python正确的字符串常量_4.1 字符串常量(python)
  5. leetcode712. 两个字符串的最小ASCII删除和(动态规划)-Gogo
  6. jquery获取表格中特定列
  7. IDEA 2020 配置 Maven 创建 Spring Boot 项目
  8. java 定义三维列表_java 多维数据定义
  9. jdbc增删改查_JDBC和MyBaits之争,Debug告诉你谁更胜一筹
  10. 英中繁简编程术语对照
  11. 解决:3Dmax 渲染后任意点击就卡住不能点击,UI界面冻结
  12. WordPress防止自动压缩jpg图片
  13. 伯努利贝叶斯分类算法
  14. java分页用到的控件,laypage分页控件使用方法
  15. 使用js+css样式实现淘宝详情页图片放大镜的效果
  16. pta c语言作业,C语言PTA平台习题与答案
  17. Linkflow+表单工具:赋能表单数据,提升表单营销能力
  18. 画论20 郭熙《林泉高致集》
  19. 精彩来袭!华为将携手数据库领域专家出席NDBC 2021
  20. iphone panic故障对照表_苹果 AirPods 新维修工具上线:可区分是污垢堵塞还是故障 - AirPods...

热门文章

  1. SpringMvc简略运行流程
  2. 教你如何调整每段视频的帧速率
  3. Ardunio开发实例-PAJ7620手势识别传感器
  4. C++ 小功能算法模板:读取字符串中的数字
  5. 代分数计算机气在线,c++课程设计--分数计算器.doc
  6. P30-P32:逻辑类型,保留小数的输出,辗转相除法求最大公约数
  7. 十七、生成树协议STP 、STP实际操作过程、 3个案例分析
  8. 最新js验证手机号码、电话号码、身份证号码正则表达式代码
  9. 【讲座信息】(海洋科学-物理海洋学;大气科学;水文等)
  10. anltr oracle,Antlr4官方参考手册