检测声音强度,显示大概的分贝数在oled上,不同强度下舵机转不同的角度

1、项目简介

2、实现逻辑

#通过STM32的adc检测大概声音强度
#在oled上显示声音强度
#舵机根据声音大小转动

3、应用场景

#益智小玩具(听到声音自动转头的小猫模型)

4、核心代码梳理

int main(void)
{/* USER CODE BEGIN 1 */uint32_t  clk;uint8_t pwm;/* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_I2C1_Init();MX_ADC1_Init();MX_TIM1_Init();/* USER CODE BEGIN 2 */OLED_Init();           //初始化OLEDOLED_Clear();OLED_ShowString(0,3,"SOUND:    .   DB",16);//    OLED_ShowNum(52,3,123,3,16);
//      OLED_ShowNum(88,3,13,2,16);HAL_ADC_Start_IT(&hadc1);HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 90);HAL_Delay(500);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_Delay(2);HAL_ADC_Start_IT(&hadc1);if(clk%250 == 0){HAL_GPIO_TogglePin(GPIOC, LED_Pin);db = 0;for(uint8_t i=0; i<50; i++){db += (ADC_temp[i]/10);}db = db/5;if(DB < 30)DB = db*0.5;if(DB<40)DB = db*1.5;else if(DB < 50)DB = db*1.5;else DB = db*2;DB = DB*1.5;if((DB >= 0) && (DB <= 200)){intDB = (int)DB;float DB_tmp = DB - intDB;DB_tmp *= 100;decDB = DB_tmp;OLED_ShowNum(52,3,intDB,3,16);OLED_ShowNum(88,3,decDB,2,16);if(DB >= 60){if(pwm < 110){for(uint8_t i=0; i<30; i++){pwm = 90 + i;__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, pwm);HAL_Delay(8);//2400/30=8}HAL_Delay(5000);}}else{if(pwm > 100){for(uint8_t i=0; i<30; i++){pwm = 120-i;__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, pwm);HAL_Delay(8);//1000/25=4}}}}}clk++;}/* USER CODE END 3 */
}

5、部分参考资料

6、注意事项

#舵机选360度的
#声音检测模块是现成的,不过不是特别准,而且感觉只对某个频率范围内的声音有检测

完整可运行项目地址

技能梳理21@stm32+oled+声音强度检测+舵机相关推荐

  1. 技能梳理7@stm32+OLED+flash掉电保存+按键

    学校违纪分数记录,按键,1.3寸OLED显示,数据掉电保存 1.项目简介 2.实现逻辑 #如上图为显示屏显示内容 #三个物理按键,一个是选择对哪一项进行控制,两个是加减对应项的分数 #控制范围±10, ...

  2. 技能梳理37@stm32+按键+光耦+锁存+串行转并行+继电器

    技能梳理37@stm32+按键+光耦+锁存+串行转并行+继电器 1.项目简介 2.实现逻辑 3.应用场景 #主从机有线控制 #开关操作 4.核心代码梳理 //根据按下的按键执行相应的操作 void h ...

  3. 技能梳理20@stm32+ESP8266+onenet+dht11+mq2+led+风扇+oled

    F103C8T6 ESP8266和ONENET通信 DHT11测温湿度 MQ-2测烟雾浓度 LED模拟室内灯 温湿度和烟雾超标,蜂鸣器报警,风扇转动:OLED显示数据:数据传输onenet,控制LED ...

  4. 技能梳理15@stm32+lora(sx1276)+oled+ds18b20+土壤湿度传感器+按键+蜂鸣器+电路板

    从机采集温湿度及超标报警并显示在oled屏幕上,按下按键通过lora模块传输给主机,主机再也显示在其搭载的屏幕上 1.项目简介 2.实现逻辑 #从机实现对温湿度数据的检测 #从机将数据显示到oled上 ...

  5. 技能梳理14@stm32+esp8266+ds18b20+红外传感器+烟雾传感器+CO传感器+蜂鸣器

    画板子,有至少8个io口(分别连ds18b20.红外传感器.烟雾传感器.CO传感器,后面3个传感器都是检测到就发高电平),2个串口,1个蜂鸣器,nbiot用的YED-C724 核心板(AIR724) ...

  6. 技能梳理28@在oled上控制一条狗的奔跑

    先上效果视频 [单片机控制显示屏上狗跑-哔哩哔哩] 修狗奔跑 使用的主控是stm32,逻辑是通过检测滑动变阻器的电阻(类似无级控制),不断切换oled的图片,主要手够快哈哈,就可以实现类似视频的效果, ...

  7. python 声音强度检测_python检测音频中的静音

    #-*- coding: utf-8 -*- importosimportwavefrom time importsleepimportnumpy as np SUCCESS=0 FAIL= 1 #需 ...

  8. 技能梳理18@stm32+柔性墨水屏+薄膜按键+二维码

    薄膜压力按键控制mos开关,切换给柔性墨水屏vcc供电方式,单片机控制vcc切换图像,其中有可以扫描的二维码 1.项目简介 2.实现逻辑 #有两个薄膜按键,一个控制墨水屏供电方式(其实就是一个继电器) ...

  9. python 声音强度检测_怎样表达一段语音的强度(响度)?

    我希望通过一段语音分析语音的强度(响度). 因为是工科狗而非理科狗,且对于音频信号分析是外行,只简单看了下FFT,所以对于自己分析语音强度的方法没有安全感.希望这方面的高手能够指导下.非常感谢!!! ...

最新文章

  1. C# 判断远程文件是否存在
  2. 计算机专业英语文章翻译,计算机专业英语英汉双语文章翻译
  3. linux 之RAID详解
  4. ICCV 2017 《Towards End-to-End Text Spotting with Convolutional Recurrent Neural Network》论文笔记
  5. OPPO Enco Free真无线耳机:超低延迟高音质 智慧触控看得见
  6. opencv fast角检测
  7. 首批 5G 手机到位;来电显示暗藏黑色利益链;印度下架抖音国际版 | 极客头条...
  8. 在Java下连接SQLite数据库
  9. 利用vs 分析DMP文件、pdb文件定位release下的异常崩溃
  10. java-实战java高并发程序设计-ch2java并行程序基础
  11. 数据库课程设计 ——酒店管理系统
  12. 使用大白鲨进行木马攻击实验并实现爆破目标机账号密码以远程连接
  13. c++实现LSTM,ADAM优化,预测大写数字
  14. Survey of Aspect-based Sentiment Analysis Datasets
  15. 安装mysql_python
  16. 【产品】UI设计:哪些字体可以商用
  17. 怎么恢复计算机误删的用户组,如何恢复误删的用户组
  18. 解决【VS/VC】中文乱码问题-5种解决办法
  19. python中单引号,双引号,三引号的区别
  20. could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node

热门文章

  1. Chrome的隐身模式与访客模式的差异
  2. 15号有木有妹纸陪俺去做巧克力
  3. C# 手动实现UrlEncode(查看微软底层代码整理)
  4. 上古卷轴5移除瑟拉娜兜帽_上古卷轴5天际解除瑟拉娜在哪里还能找到 | 手游网游页游攻略大全...
  5. 李白关于鸿蒙的诗,诗仙李白,写得最好的10首诗
  6. JS逆向 | 手把手教你某书网登陆思路解析
  7. 大可乐android 4.3刷机包,4.2系统+高实用性可乐OS界面_大可乐 大可乐3(3GB RAM/移动4G)_手机Android频道-中关村在线...
  8. easypoi常规应用
  9. python 博客程序_项目1——博客系统 - Python测试和开发 - OSCHINA - 中文开源技术交流社区...
  10. 苹果手表5各个版本区别_苹果手表