ESP8266 + ws2812+MAX9814 实现远程控制氛围灯效果和律动功能(支持软件和小爱同学)

目录

前言

一、硬件篇

1.1 . 材料准备

二、代码篇

 2.1.安装环境

       2.1.1.安装Arduino IDE

        2.1.2.安装esp 8266 SDK

      2.1.3.安装相应的库

2.2.部分代码解析

   2.2.1.点灯科技的配置

2.2.2.部分需要修改的地方

2.2.3.部分模式代码

3.1.点灯科技APP设置

4.实物图片及视频

5.做氛围灯途中的心得和体会

总结


前言

随着科技发展,我们的生活逐渐智能化,本文就介绍如何通过esp8266与其他模块配合来实现远程操控灯带呈现出不同的效果。


一、硬件篇

1.1 . 材料准备

esp8266 12f ; ws2812灯带(建议买1m60颗的);max9814;USB转TTL模块;TP4056充电模块;锂电池;灯筒(淘宝搜索,几块钱一个的那种,叫商家发散件);飞线若干,热熔枪,电烙铁

1.2 各模块介绍

ESP8266-12F

下载模式时(注意拉低GPIO0电平)

GPIO0GPIO2GPIO15VCCGNDTXRX
低电平高电平低电平VCCGNDRXTX

                      ESP8266TXUSB转TTLRX,然后RXUSB转TTLTX

运行模式时

                       

GPIO2GPIO15ENVCCGND
高电平低电平高电平VCCGND

MAX9814

接线方式

GNDV+OUT
GNDVCC接esp的ADC口

WS2812

接线方式

GNDVCCPIN
GNDVCCGPIO5

二、代码篇

 2.1.安装环境

       2.1.1.安装Arduino IDE

Arduino IDE 下载地址

安装后大概是这个界面

        2.1.2.安装esp 8266 SDK

        esp8266 SDK下载

        跟着网址上的步骤安装好,然后按图里的选项选择开发板

      2.1.3.安装相应的库

库文件下载地址

下载完在项目一栏选择加载库,选择添加zip库,然后要是在后面的编译过程中发现缺少某个库的话,就在工具一栏点击管理库,在线下载缺少的库就行了

2.2.部分代码解析

   2.2.1.点灯科技的配置

我们使用的是点灯科技来远程控制和连接小爱同学,可以通过点灯科技的官网的说明及下载示例来进行配置

部分引用的库

#include<MegunoLink.h>
#include<Filter.h>  
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

#include <DNSServer.h>//密码直连将其三个库注释
#include <ESP8266WebServer.h>
#include <CustomWiFiManager.h>


#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#define BLINKER_WITHOUT_SSL
#include <FastLED.h>
#include <Blinker.h>
#include <Adafruit_NeoPixel.h>

2.2.2.部分需要修改的地方

#define MIC_PIN   A0//ADC
#define NOISE 500                  //声音
#define TOP   (NUMPIXELS+2)
#define LED_TYPE  WS2812B//灯板型号
#define BRIGHTNESS  100     
#define COLOR_ORDER GRB

// web配网页面自定义我的图标请随便使用一个图片转base64工具转换https://tool.css-js.com/base64.html, 64*64
const char Icon[] PROGMEM = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABAAEcDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9+tx34x8vc0M5De3cmjcS+McdzXnP7QnxS1T4Yabb3MOm3Fxo8gZb29t18ySx6bSyY4Q/Nl+cEYwCQa8/NMypYDCTxlZNxgrtRTb+SX9JavQ2w9CVaoqUN330O91DWrfTSolmjVmGQucs30Xqaxrv4jQwuVjjU47yyBAfpjcfzArxC3+LNrrdr51vfLJHINxfflm+pPJPuTnisiDxxfeMdQurTQ/s6w2K+ZqOrXbbbHS4xyTI2RubHRAQTg8qAWH4TW8aMZjsUsHkmEcpS2u9fV9Eu7ei6ux9TDhlU4Opip2S37L+unc+htD+I0GqaxHZSrFDJPnyWWXeshAJK5IUhsAnGOQDzwcdB525lC4b1OelfI9h8U5bG7ay8RQy6LeR5urW5O+OC9ijYFbiFmAPBCsVYBkyNyjv1ml/HnVr2H7boOsQ6lGuUnjmuUWPOAysXKSFccfKoAIcHsAezJfGyhBOhndGUKie8EnG3Tqt+lrp73MsVwxV+PDtOL7n0czEMMD6n0oYncAB9T6V8/fCH9tibxlYPJrHh/UdIjiujZi4n2+RcuO8Uo+VxnjO1VJOATXtvhnxhY+LbXzLGZZWQ/vUPyvD7MOo9ux9a/UMg40yfOZOngayc1q4vSX3PfzaukeLjcrxWEf7+Nl33X3o1qKKK+qPPG7j5mNvGM5rN8TeJNN8NWjTandWdnbfxSXUqxx84HVuO4H41pFm34C/UmvPfix+zlonxh8YaVqerzX3l6dDLDLbRSbYr2NwB5cmQfk2mQFVxu3gk5RCM6zmo3ppN+ehth40nO1ZtR8ld/mt9jhP+FCfD34nX15qWlLr/hVYUWbUIbeM2dsysCRlZY2jU7RuIhKlVZS2NwzDqdt/av8AZ+k+F9Hj03wPpKebFJK/kx3t0GyJCCGeQKAGDNyXZi3zIpFH9sv4aaf44+E2lfCnwb4guvC1ys8c82l+Hfs4uGsUSU+XJGxGyF5dhJJUOVIJYFgfLvAPxJ13xX4T1q1n1m51HxB4Ntkiv9O1Gwaz1iBs4WW5hZmi8sqCQ0IdJMEq4wRX4Hx5iMLhqs8swNCMZ1klUlBcnNd/C5JbfzJavrZN3+0ynCVcXy1ZVG4p2jGTva+ibvZb7N6Luz2Cw0OTxNqBsZ9X0248txcwxtp+/wAjaAu5cyckNnDYBG4iuH+KHwpvPBfiGTXNYktdd0mQoLi4ghaJrVVBO6aIsysi84fLFM5wACR0HwV1W9vdBh1Sxs9Nezv5yl4zGWG6UINvmKzbxMucgIfL2LnDMRg7vxD8UWcvhLUobhsxSQOknzsjKu3nkcqcdxyOor8wxeW4GnhJUsRC1VXtJSelum7TPUh9Zo4yVKPR2asvnrYRbHT/ABN4WhaLAtmCOIyg2yIOdjA9jxxjP0rmbTxBd/DDxTb3Fi7YVWeFNxAljXHmW7H0IIZfTGf4BVH9nCf+3vh7aRNcM0lqiwz7nL7JNisV3Ec43dRx9OlSfFWKG2/sttvmXEeoRpCwJ+QN8rnHT7hI59RXx31/E4atRxuFXs5Qekk92utvwfRrQ7o4aDnPDVNU90z6h8M+IbXxVoVpqFm5ktryFZoyeuGGeR2I6EdiCKK84/ZB1Wa++Heo2sn+r0rVZraAk5JRkinP/j8zj6Yor+6sgzL+0ctoY61vaQjK3ZtJtfJn5bjsP7DETo/yto9Ud9rdOMZJrzr42fE2/wDD9r9j0Xy5LreBcsCPMgj2F22gkAME+bJPAKgDLAr6HK/Vfbk+lfOuj6FpkvxI1ALPqeoa5eXN9bG1eYCGMyOzS7M4BHycMSWCr6k5+b48zbF4XBww+CdqlaXImt1p9nT4nstV3Wp1ZVh4VKjqVFdRV7Wut+vZdzj/AIcfFjwz+274D8YaXov9vadpWi362Fn4ggLWd3PMYklNzb7lEiMjtghwd2ASMNtHXfD7wFfPBompeMFtb7xt4bjn0xtbtoxD/atsejsB0WVRHI8RyqTI23IUMXXnhGT4MeKDNDcQ/YZbNrm7gvdQeT7AygBfnbczB8EgdvLJPJy17VviRN4p8MWK6baltU1ZRHb2yg7t7DIU8cY5JJ+6oZjwDX4PjaNWhXlgcVrWi0lFe9zXs1bZrfqk97n2blGolLC/wn1fTSzu/O13bT8DF+K/jdPA9v5c2ofZtJ1qJ7eOZJxFNZybTlopCCFIHzLnIBX8K4288K33xd0bTYtP1D7HoNrFJHcX1xLJd3urIw2MrPuVSCB/rGDNwNuMbj1HxA/Zx8ZeI9F0uNtNsryLRYmR40vQJLyUnmeMcDBy2AzBvnORwM87rdx4u8G+HZo9Q8N6xp8FvbNkfZDKkaBf70W5OAOgbjvivns6yXPsM37TC1FD/C2l36O2u34HpYHEYSUE6E4uet9V8tOrt1/U6y08M6VY+DlihjC7wWjSJiiRL1UgLj5u+7rk8HivP38djUvBlvbXc2+6juBBNMW2sUQLNvLZyONgLZ6896m8b/F22bw3MtvPIk1yEWF4hubc2CoA53HplcHIOACTXafs1fsm6k17b614wtYYIBIbiHTWfzGkyQU87AAAAC5QZ3FRklflrxuG+F8w4ixMaOEp2irJytpFd33f4tmtevRwNCVfEvW+i6t9l/Wh65+y/wCEJvCfwrtmuInhuNWkbUHjcEMgcBYwwPIbykjyDyDkUV6Gi7B2/AUV/b2V5fSwODpYKj8NOKivRK2vn3PyfEV5Vqsq095Nv7ziPjsNWbwg39mu4hQ5vEiU+c8ffaRzgdWUfMR07q3j3gu7h8KeJ7PVFtYrr7MCyRMxVfmBAZWAODg8ZDDHYda+lZlWfMbLuVhzkcV5p40+AstxqDXeg3FvA0zmSa0ugfJkJ5JR1y0bE8k4YEkkqSc1+b8fcI5li8XSzjKp3q0rWg7NXTveKlpfunvZdUe7kuZ0aVOeFxC92XVb+jt+BQ8PfCjwb8WdbvtRurPVrqWaX7TcWt5dv5Cs5YggK3zLuU7QxIXHAXivQvDPw90XwZNu03Tbe3mZdhm2lpSnHy72y2OBxnFYfwp8M33hu8uFurNrbdGFZvMV1cg9iDnHJxkA89BXbF8OBjr+lfUcJYFPBQxeLw0KeIbk52gou93r31Vm9dfQ87MMRJ1HSp1HKmrWu21a33AzYYDHX9KSX5mVcdev0pWfDqMfeoZ8MBj/AOtX1x5pxmg/s9+C/CviSPVdP8N6Xb6hGS0Miw5W2J4JiU5WM44+QLxx0rs87Nq8tQzYYDHX9KGbDLxya58PhaFBONCCinrZJLXvp1NKlapUd6km35u46iiiugzP/9k=";
// **************************//


char auth[] = "***********";                       //修改blinker设备的授权码
#define PIN             5                          //定义gpio5为灯带输出口
#define NUMPIXELS      54                         //ws2812 灯数  如果直接接灯带 建议灯珠60以内=====请更改=====
int openState = 7;//默认灯效模式,上电后自动启动特定模式

//uint8_t colorR, colorG, colorB, colorW, _colorW;  //如果需要上电默认不亮灯或者0模式则使用此行初始值设置并注释掉下方5行初始值设置

uint8_t colorR = 150;
uint8_t colorG = 0;
uint8_t colorB = 150;
uint8_t colorW = 100;
uint8_t _colorW = 0;

int interval = 25;/灯效节奏
bool wsState;
uint8_t wsMode;
int brt_set = 100;//未调整亮度时呼吸灯初始亮度

//********************************************************************************************************************************
//********************************************************************************************************************************

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);//Adafruit_NeoPixel
CRGB leds[NUMPIXELS];//FASTLED
int lvl = 0, minLvl = 0, maxLvl = 250; //根据需要调整麦克风接收“最小值”和“最大值”

//音频过滤实现平滑原始音频信号
ExponentialFilter<long> ADCFilter(5,0);

2.2.3.部分模式代码

void music_vu()//律动模式
    {
  
          int n, height;
          n = analogRead(MIC_PIN);
          n = abs(1023 - n);
          n = (n <= NOISE) ? 0 : abs(n - NOISE);
          ADCFilter.Filter(n);
          lvl = ADCFilter.Current();
          height = TOP * (lvl - minLvl) / (long)(maxLvl - minLvl);
          if(height < 0L) height = 0;
          else if(height > TOP) height = TOP;
          for(uint8_t i = 0; i < NUMPIXELS; i++) 
          {
          if(i >= height) leds[i] = CRGB(0,0,0);
          else leds[i] = Wheel( map( i, 0, NUMPIXELS-1, 30, 150 ) );
              }
  FastLED.show();
     }



void breath()//呼吸灯
{
  for (int brt = brt_set; brt > -1 ; brt--) {
    if (openState == 3)
    {
      colorW = brt;
      pixelShow();
      Blinker.delay(interval);
    }
  }
  Blinker.delay(2000);
  for (int brt = 0; brt < brt_set + 1; brt++) {
    if (openState == 3)
    {
      colorW = brt;
      pixelShow();
      Blinker.delay(interval);
    }

  }


}

需要完整代码的我会在下方放出链接

3.1.点灯科技APP设置

           在点灯科技官网下载点灯APP,点添加设备,接入阿里云,把得到的密钥复制到你的代码中,并在界面配置中把文本复制,然后点更新配置。(文本我会打包放在代码压缩包里面)

4.实物图片及视频

由于没办法上传视频,我就放在网盘里了,有兴趣的朋友可以看看

律动模式和彩虹灯模式

5.做氛围灯途中的心得和体会

        我也是半路出家,在b站上看到觉得好玩就自己动手试试,前期环境的搭建和库的寻找就花了我不少的时间,东拼西凑代码也用了不少时间,在用TTL上传代码的时候注意有时候得外接电源,不然单纯TTL供电不足一直上传不了,找了很久的原因,后来我用了stm32f103开放板来当工具人,如果没有stm32的朋友用其他的也可以,主要就是用来供电和接地。

最直观的感受,当我做了很久,完成接上电源那一刻,灯不亮,内心很绝望,但不甘心,重新接线他亮了,顿时就感觉一切都值得了


总结

总的来说,做这个灯让我提升很多,无论是从代码理解上还是焊接能力上,对耐心也有一定的提高,有兴趣的朋友可以自己动手试试看

代码链接

esp8266代码

  • 17
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: max4466麦克风模块是一种高灵敏度的麦克风模块,可以用于声音采集和处理。它可以与STM32单片机进行连接,实现声音信号的采集和处理。在使用时,需要注意模块的供电电压和信号输出电平,以及与STM32单片机的连接方式和通信协议。同时,还需要根据具体的应用场景和要求,进行相应的参数配置和算法设计,以实现更好的声音采集和处理效果。 ### 回答2: Max4466麦克风模块是一种高性能的放大器模块,常用于音频信号的放大和处理。它具有低噪声、高放大增益等特点,适用于各种声音采集应用场合,例如语音识别、语音控制、音频录制等。 根据Max4466麦克风模块的特性和应用需求,搭配使用STM32单片机可以实现声音信号的采集、处理、控制等功能。STM32单片机是一种高性能、低功耗的嵌入式处理器,具有丰富的外设接口和丰富的软件支持,可以满足Max4466麦克风模块的多种应用需求。 在具体的设计中,通过STM32单片机的GPIO接口和ADC接口连接Max4466麦克风模块,实现模拟信号的采集和数字信号的处理。为了提高信号的质量和减小干扰,还可以采用滤波、放大、降噪等技术对采集到的音频信号进行优化。在实现语音控制、识别等智能应用时,还可以使用相应的算法和软件,如STM32Cube.AI,进行数据分析和模型训练,实现更加精准的声音识别效果。 总之,Max4466麦克风模块和STM32单片机的搭配使用不仅可以满足音频信号采集、处理等基础需求,还可以支持更加高级的智能语音应用,为我们的生活和工作带来更加便捷和智能的体验。 ### 回答3: Max4466麦克风模块是一种高灵敏度、低噪声的麦克风模块。在STM32单片机中,它可以被用于声音检测。我们可以通过它来检测环境中的声音,并将声音信号转换为电信号,从而实现语音识别、语音命令等应用。 Max4466麦克风模块具有以下特点: 1. 高信噪比: Max4466麦克风模块具有高灵敏度(-44dBV/Pa)和低噪声特性,可以保证高信噪比的音频输出。 2. 可调增益: Max4466麦克风模块具有可调增益电路,可以根据不同应用场景和噪声环境进行调整。 3. 低功耗: Max4466麦克风模块具有低功耗特性,可在节能模式下工作。 在STM32单片机中,我们可以使用AD转换器(ADC)将声音信号转换为数字信号。同时,使用DMA技术可实现数据的高速传输,提高系统效率。 在使用Max4466麦克风模块时,需要注意以下几点: 1. 选择合适的放大倍数,保证声音信号在最佳范围内。 2. 在使用过程中,避免磁性信号输入,以免影响系统精度。 3. 应根据不同应用场景和噪声环境进行调整,以保证最佳效果。 总之,Max4466麦克风模块在STM32单片机中的应用,是实现声音传感器和语音识别等应用的基础。它具有高灵敏度、低噪声、可调增益等特点,可以实现多种应用需求,是一个非常重要的模块。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值