检测声音强度,显示大概的分贝数在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. 让Updatepanel中的控件触发整个页面Postback
  2. python没用_大部分Python资料都没有说到的重点-用实战教你解决问题的思路
  3. Azure App Service 健康检查正式发布
  4. mysql 毫秒比较_MYSQL的毫秒级时间比较问题
  5. 虚拟服务器新建桌面池,VMware vSphere 服务器虚拟化之二十三 桌面虚拟化之建立手动虚拟桌面池...
  6. 德国精品软件 Throttle 网络加速软件
  7. jQuery - slice( start, [end] ) Method
  8. centos安装apache+mysql_CentOS7安装apache+mysql+php环境
  9. 三星固态优化软件.samsung magician 中文下载地址
  10. 网易云音乐评论加密解析
  11. 苹果计算机远程控制软件,向日葵远程控制软件iPhone手机远程控制电脑
  12. 如何写一份风投喜欢的商业计划书?【转载】
  13. 怎么设置计算机桌面一键关机,图文详解如何设置电脑定时开关机
  14. 过犹不及,别再在编程中高射炮打蚊子
  15. OpenJudge -6047 :分蛋糕
  16. 纯css实现刻度尺列表样式
  17. CorelDRAW2022订阅版本最新更新内容
  18. 在线展示pdf和word并且不能显示下载和打印按钮
  19. JAVA强制类型转换常见错误
  20. ZJUer必备之西塘自助游攻略…

热门文章

  1. Python爬虫-小某书达人榜单
  2. 未来IT工程师协会 会徽征集
  3. mybatis通用mapper的使用
  4. 【计算机控制技术】基于单片机的A/D、D/A转换实验
  5. mysql导出数据库所有表和数据
  6. gojs 2.2.14 去除水印
  7. Lucas 定理学习笔记
  8. 今日科技联播:袁隆平迪拜试种“沙漠海水稻”成功,阿里健康“扫一扫”排查问题疫苗!...
  9. pdf转word需要密码怎么办?几个方法教你解决
  10. open报错文件不存在