一 产品介绍

本产品使用esp8266模块和ws2812b灯珠制作了一款wifi控制的智能家居炫彩灯牌。你还可以结合家中的其他物件,对其进行包装,实现各个灯的颜色变化。比如台灯,手电筒等等,甚至你还把灯珠嵌入到某个模型里面,使其发光发亮。试想一下,在逢年过节之时,偶尔在家中需要烘托一下节日的气氛,这时你拿起手机控制家中灯的颜色变化,岂不给节日增添一份色彩。想要自己动手制作一款智能灯珠吗,我们就以炫彩灯牌为例,一起来学习这款DIY的制作过程吧。

如果你想直接获取【基于ESP8266和WS2812B的智能炫彩灯牌设计】的源码,接线表等相关资料,可直接划到本页末尾按要求获取即可。

二 准备材料

想要制作一款wifi控制的智能灯珠,esp8266和ws2812b这两个模块是必不可少的。其次,我们还需要一个esp8266的扩展板,nodemcu,用来接电源线和地线,若是没有可用面包板代替。然后,接线要用到的就是杜邦线啦,我们要准备一些母对母的杜邦线,你还需要一个供电设备给该设备供电,比如充电宝。最后,你还需要一部手机和一台电脑,用来完成软件方面的工作。

三 ESP8266介绍

ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能 耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进 行互联网或局域网通信,实现联网功能。ESP8266EX 内置 Tensilica L106,32 位微型控制器(MCU),具有超低功耗和 16 位RSIC。CPU 时钟速度高达 80 MHz,最高可达 160 MHz。支持实时操作系统(RTOS)。目前 Wi-Fi 协议栈只用了 20% 左右,其它的都可用于用户编程和开发。ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种省电模式:激活模式、睡眠模式和深度睡眠模式。工作温度范围达到-40°C 到 +125°C。

引脚图:

技术指标:

四 WS2812B介绍

WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和可编程定电流控制部分,有效保证了像素点光的颜色高度一致。数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅受限信号传输速度要求。高达 2KHz 的端口扫描频率,在高清摄像头的捕捉下都不会出现闪烁现象,非常适合高速移动产品的使用。280μs以上的RESET时间,出现中断也不会引起误复位,可以支持更低频率、价格便宜的MCU。LED具有低电压驱动、环保节能、亮度高、散射角度大、一致性好超、低功率及超长寿命等优点。将控制电路集成于LED上面,电路变得更加简单,体积小,安装更加简便。

引脚功能:

五 接线图

六 程序设计思路及流程图

我们使用Arduino IDE软件编写该程序的代码,使用C语言编程,其优点是可调用的库比较多,便于我们学习理解。首先我们先初始化各个设备,然后esp8266先断开所有热点连接,再尝试连接程序中所定义的WIFI热点名称和密码,如果连接失败,则一直尝试连接。若连接成功,则串口打印出对应的IP地址,这时,我们在调用web端的服务器页面,用来选择灯的颜色变化。用户登录对应的IP地址,当对应的灯的颜色按键被按下时,从而控制灯珠显示对应的颜色和亮度。最后,判断电源是否关闭,如果电源关闭,则程序结束。

七 核心代码展示

此段代码用来初始化wifi的连接,以及使用wifi来连接对应的设备。

/*** 初始化Wifi连接*/
void initWifiConnect(void)
{Serial.printf("Connecting to WiFi:%s\n",SSID);// 串口打印当前WiFi热点的名字WiFi.disconnect();   // 默认断开之前的连接,回归初始化非连接状态WiFi.mode(WIFI_STA); // 设置ESP工作模式为Station模式WiFi.begin(SSID, PASSWORD);  // 连接到WiFiint cnt = 0; // 记录重试次数while (WiFi.status() != WL_CONNECTED) // 当还没有连接上WiFi热点时{delay(1000);       // 延时等待1秒cnt++;             // 累计次数+1Serial.print("."); // 串口输出.表示设备正在连接WiFi热点if(cnt>=40)        // 超过40秒还没有连接上网络{delayRestart(1); //一直连接不上就重启ESP系统}}Serial.println(WiFi.localIP()); // 打印当前IP地址
}

八 结果展示

1 eps8266与ws2812的智能灯牌

本项目代码开源,若需获取,戳1 eps8266与ws2812的智能灯牌 (bilibili.com)网址进行学习后,私信CSDN可以提供源码资料。

软嵌物联团队会不定期更新嵌入式DIY作品教学,若您有需要,可关注我们的CSDN账号。

若需要免费的技术支持,可以在企鹅群找到我们,1159144432

基于ESP8266和WS2812B的智能炫彩灯牌设计相关推荐

  1. 物联网系列⑤——基于ESP8266与点灯科技平台的氛围灯设计(接入小爱同学)

    物联网系列⑤--基于ESP8266与点灯科技平台的氛围灯设计(接入小爱同学) 一.设计目标 二.电路设计 三.思路介绍 四.ESP8266代码 一.设计目标 使用点灯科技平台接入物联网,可通过手机点灯 ...

  2. nbiot教学实箱_基于NBIoT的一种智能环卫装置的设计与实现

    应用场景 图 2 系统设计框图 根据以上系统框图 , 要求实现以下功能 [3] : ( 1 ) 单片机控制步进电机转动出纸 : ( 2 ) 超声波传感器监测用纸情况 : ( 3 ) 人体红外传感器感应 ...

  3. 基于Arduino的多功能智能交通信号灯的设计与实现 ---------对盲人语音播报,红灯结束时铃声提醒,信号灯倒计时和闯红灯语音劝阻

    ** 基于Arduino的多功能智能交通信号灯的设计与实现 ---------对盲人语音播报,红灯结束时铃声提醒,信号灯倒计时和闯红灯语音劝阻 ** 魏树鸿, 1.系统设计思路 a.: 满足基本信号灯 ...

  4. 基于ZigBee和STM32的智能家居控制系统的设计与实现(五)--终结篇

    基于ZigBee和STM32的智能家居控制系统的设计与实现(五)–终结篇 说明 首先祝贺自己顺利的完成了毕业答辩工作,想起整个过程还是挺让自己感动的.最后还被评为优秀毕业设计,虽然并没有什么luan用 ...

  5. 基于ZigBee和STM32的智能家居控制系统的设计与实现(二)

    基于ZigBee和STM32的智能家居控制系统的设计与实现(二)   上一篇博客中总体介绍智能家居系统的基本实现原理,这篇博客和以后的几篇博客会详细进行相应的介绍.这里首先进行硬件电路的设计. 硬件电 ...

  6. 基于ZigBee和STM32的智能家居控制系统的设计与实现

    基于ZigBee和STM32的智能家居控制系统的设计与实现(一) 时间过的好快,已经到了做毕业设计的时候了,本次毕业设计题目是自己选的,为什么做这个?原因很简单,想把自己所学的大部分知识都应用上,虽然 ...

  7. 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)

    基于ZigBee和STM32的智能家居控制系统的设计与实现(三) 自从前两篇博客介绍了智能家居系统的基本实现机理后,收到了好多朋友的来信,和我讨论了好多的这方面的知识,在此很高兴,虽然自己做的这个所谓 ...

  8. 基于AM5728 DSP+ARM的智能电力巡检机器人设计

    基于AM5728的智能电力巡检机器人设计 国家十二五规划对电力系统固定资产投资建设的高峰结束,投资重点由基础建设转向智能运维,电力设备的监控.维护.保养等庞大的需求将得到充分释放.传统的人工巡检的方式 ...

  9. 基于微信小程序的智能停车场管理系统的设计与实现

    要] 计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量.优秀的智能停车场管理系统能够更有效管理用户预约停车业务规范,帮助管理者更加有效管理用户预约停车,可以帮助提高克服人工管 ...

最新文章

  1. java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
  2. 华为,再牵手一流大学
  3. MapReduce统计排序和HDFS的读写
  4. Nature:原来记忆是这样形成的!科学家发现记忆形成新机制
  5. python人生的不同阶段_从入门到入土的Python自学教程,用改变你的人生轨迹
  6. libuv 中文编程指南(四)网络
  7. java显示行号_java开发文本编辑器手记之行号显示
  8. 计算机网络学习笔记(1. 什么是计算机网络?)
  9. 做游戏,学编程(C语言) 3 利用函数对飞机游戏进行重构
  10. RSA的JavaScript程序
  11. OpenGL基础19:法向量与漫反射
  12. 用python计算今天是今年的第几天_Python计算指定日期是今年的第几天(三种方法)...
  13. Mybatis3 最简例子
  14. DBUtil-一款简单好用的数据库操作工具
  15. 金融经济学期末梳理(王江)第七章 风险厌恶程度度量
  16. @ResponseBody详解
  17. 机器学习(八):样本分布不均衡问题的处理
  18. 【数据分析】电商平台订单报表分析思路及案例
  19. matlab小数分数互换
  20. OGNL中#、%和$的用法

热门文章

  1. PMBOK(第六版) PMP笔记——《一》第一章 引论
  2. 软件工程理论与实践—吕云翔 课后习题第二章答案
  3. 文件夹遍历的非递归实现
  4. 原生JAVASCRIPT操作cookie方法
  5. Windows自动弹出MSN中文网界面解决办法
  6. 2022年湖北省节能减排政策汇总,申报条件以及奖励补贴讲解(附申报流程)
  7. 【软路由】 DNS地址
  8. ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用
  9. Java多线程手写代码——奇偶交替输出,123123循环输出、A1B2C3交替输出
  10. FME DecimalDegreesCalculator将度分秒转成度