3386

帖子

0

TA的资源

五彩晶圆(中级)

21
 

  【花雕动手做】有趣好玩的音乐可视化系列小项目(14)---水杯水瓶灯

  项目程序之二:多彩动态音乐反应灯

  模块接线:WS2812B接D6

  MAX4466      UNO

  VCC          5V

  GND         GND

  OUT          D7

 

/*
  【花雕动手做】有趣好玩的音乐可视化系列小项目(14)---水杯水瓶灯
  项目程序之二:多彩动态音乐反应灯
  模块接线:WS2812B接D6
  MAX4466      UNO
  VCC          5V
  GND         GND
  OUT          D7
*/

#define FASTLED_INTERRUPT_RETRY_COUNT 0
#include <FastLED.h>
#define NUM_LEDS 12
CRGB leds[NUM_LEDS];

const int ledPin = 6;
int sensorPin = 7;
boolean val = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  FastLED.setBrightness(60);
  FastLED.addLeds<WS2812B, ledPin, RGB>(leds, NUM_LEDS);
}

void loop () {
  val = digitalRead(sensorPin);
  Serial.println (val);
  if (val == HIGH) {
    leds[0] = CRGB(180, 0, 0);
    FastLED.show();
    delay(3);
    leds[1] = CRGB(0, 180, 0);
    FastLED.show();
    delay(3);
    leds[2] = CRGB(0, 0, 240);
    FastLED.show();
    delay(3);
    leds[3] = CRGB(150, 0, 240);
    FastLED.show();
    delay(5);
    leds[4] = CRGB(180, 200, 20);
    FastLED.show();
    delay(5);
    leds[5] = CRGB(85, 60, 180);
    FastLED.show();
    delay(10);
    leds[6] = CRGB(50, 220, 20);
    FastLED.show();
    delay(5);
    FastLED.show();
    leds[7] = CRGB(0, 0, 250);
    FastLED.show();
    delay(5);
    FastLED.show();
    leds[8] = CRGB(240, 0, 0);
    FastLED.show();
    delay(10);
    leds[9] = CRGB(0, 250, 0);
    FastLED.show();
    delay(10);
    leds[10] = CRGB(0, 0, 255);
    FastLED.show();
    delay(10);
    leds[11] = CRGB(220, 200, 20);
    FastLED.show();
    delay(10);
  }
  else {
    leds[12] = CRGB(150, 0, 255);
    FastLED.show();
  }
  FastLED.clear();
}

 

 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

22
 

实验场景图  动态图

 

 

点击上图查看Gif动图

 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

23
 

实验的视频记录之五(1分39秒)

 

 

https://v.youku.com/v_show/id_XNTg5MzM1MTI3Ng==.html?spm=a2hcb.playlsit.page.1

 

 


 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

24
 

谢谢老师的鼓励

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

25
 
吾妻思萌 发表于 2022-8-8 14:30 说真的你有这么好的动手能力,我们合作搞些小视频玩呗

具体怎么做呢?

点评

就是手工耿那种的,又有趣又有噱头  详情 回复 发表于 2022-8-9 15:28
 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

26
 

  【花雕动手做】有趣好玩的音乐可视化系列小项目(14)---水杯水瓶灯
  项目程序之三:Adafruit_NeoPixel音乐可视化水灯

 

/*
  【花雕动手做】有趣好玩的音乐可视化系列小项目(14)---水杯水瓶灯
  项目程序之三:Adafruit_NeoPixel音乐可视化水灯
*/

#include <Adafruit_NeoPixel.h>
#define MIC A0 
#define LED_PIN 6
#define N_PIXELS 12 
#define N 100 
#define fadeDelay 10 
#define noiseLevel 10 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
int samples[N]; 
int periodFactor = 0; 
int t1 = -1;
int T;
int slope;
byte periodChanged = 0;

void setup() {
  strip.begin();
  ledsOff();
  delay(500);
  displayColor(Wheel(100));
  strip.show();
  delay(500);
}

void loop() {
  Samples();
}

void Samples() {
  for (int i = 0; i < N; i++) {
    samples[i] = analogRead(0);
    if (i > 0) {
      slope = samples[i] - samples[i - 1];
    }
    else {
      slope = samples[i] - samples[N - 1];
    }

    if (abs(slope) > noiseLevel) {
      if (slope < 0) {
        calculatePeriod(i);
        if (periodChanged == 1) {
          displayColor(getColor(T));
        }
      }
    }
    else {
      ledsOff();
    }
    periodFactor += 1;
    delay(1);
  }
}

void calculatePeriod(int i) {
  if (t1 == -1) {

    t1 = i;
  }
  else {

    int period = periodFactor * (i - t1);
    periodChanged = T == period ? 0 : 1;
    T = period;

    t1 = i;
    periodFactor = 0;
  }
}

uint32_t getColor(int period) {
  if (period == -1)
    return Wheel(0);
  else if (period > 400)
    return Wheel(5);
  else
    return Wheel(map(-1 * period, -400, -1, 50, 255));
}

void fadeOut(){
  for (int i = 0; i < 5; i++) {
    strip.setBrightness(110 - i * 20);
    strip.show(); // Update strip
    delay(fadeDelay);
    periodFactor += fadeDelay;
  }
}

void fadeIn() {
  strip.setBrightness(100);
  strip.show();

  for (int i = 0; i < 5; i++) {
    delay(fadeDelay);
    periodFactor += fadeDelay;
  }
}

void ledsOff() {
  fadeOut();
  for (int i = 0; i < N_PIXELS; i++) {
    strip.setPixelColor(i, 0, 0, 0);
  }
}

void displayColor(uint32_t color) {
  for (int i = 0; i < N_PIXELS; i++) {
    strip.setPixelColor(i, color);
  }
  fadeIn();
}

uint32_t Wheel(byte WheelPos) {
  if (WheelPos < 85) {

    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  }
  else if (WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  else {
    WheelPos -= 170;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}

 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

27
 

实验的视频记录(1分39秒)

 

 

https://v.youku.com/v_show/id_XNTg5MjE3MTgxNg==.html?spm=a2hcb.playlsit.page.3

 


 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

28
 

找到一个其他家用电器上的塑料盒子。

 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

29
 

准备用它来做十位120颗LED彩色音乐节奏灯的底座。

 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

30
 

为打这个孔,特意收了几个大规格扩孔器........

 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

31
 

没想到效果比预料的好

 

 
 
 

回复

4792

帖子

12

TA的资源

版主

32
 
eagler8 发表于 2022-8-8 20:09 具体怎么做呢?

就是手工耿那种的,又有趣又有噱头

点评

手工耿是太罕见有天分的人!  详情 回复 发表于 2022-8-10 12:45
 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

33
 
吾妻思萌 发表于 2022-8-9 15:28 就是手工耿那种的,又有趣又有噱头

手工耿是太罕见有天分的人!

点评

我觉得你也很棒  详情 回复 发表于 2022-8-12 13:45
 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

34
 
本帖最后由 eagler8 于 2022-8-10 13:00 编辑

实验场景图  动态图(水杯+水瓶)

 

点击上图查看Gif动图

 

点击上图查看Gif动图

 

 

https://img.mydigit.cn/forum/202208/10/125347wfvrfajt9w5j0990.gif

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

35
 

实验的视频记录(1分13秒)

 

https://v.youku.com/v_show/id_XNTg5MjQ2OTEyMA==.html?spm=a2hcb.playlsit.page.1

 

 


 

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

36
 
本帖最后由 eagler8 于 2022-8-10 13:35 编辑

定制的十片灯环,终于到了

 

https://img.mydigit.cn/forum/202208/10/133127qvyy1uzuvx3cwemb.jpg

 

 
 
 

回复

7504

帖子

2

TA的资源

五彩晶圆(高级)

37
 

兄台喝个水都这么炫酷

点评

谢谢老师的许多支持和鼓励,呵呵,水会折射,还不知效果怎样  详情 回复 发表于 2022-8-11 09:12
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

38
 
freebsder 发表于 2022-8-10 19:32 兄台喝个水都这么炫酷

谢谢老师的许多支持和鼓励,呵呵,水会折射,还不知效果怎样

 
 
 

回复

1万

帖子

2853

TA的资源

管理员

39
 
eagler8 发表于 2022-8-10 12:45 手工耿是太罕见有天分的人!

我觉得你也很棒

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

谢谢鼓励!  详情 回复 发表于 2022-8-13 05:16
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

3386

帖子

0

TA的资源

五彩晶圆(中级)

40
 
okhxyyo 发表于 2022-8-12 13:45 我觉得你也很棒

谢谢鼓励!

点评

5点就起来了,佩服呀,要注意休息哦!  详情 回复 发表于 2022-8-13 07:08
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表