锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于STM32超声波风速风向测量仪

时间:2022-09-15 10:00:00 usregal风速风向传感器

目录

一、功能描述

二、视频显示

三、原理图

四、部分代码

五、论文

六、数据清单

数据下载地址:基于STM超声波风速风向测量仪

一、功能描述

通过超声波风速风向传感器检测风速风向并在液晶屏幕上显示出来

二、视频显示

基于STM超声波风速风向测量仪

三、原理图

四、部分代码

 #include "main.h" #include "stm32f1xx.h" #include  #include "./led/bsp_led.h"  #include "./adc/bsp_adc.h" #include "string.h" #include "oled.h"  uint16_t value[5]; char strvalue[10]; char strvalue2[100];  float  Current_Voltage2;  void Get_val(void); int main(void) {      HAL_Init();//HAL库初始化   SystemClock_Config()//系统时钟配置为72M   ADCx_Init();//AD端口初始化   I2C_GPIO_Config();//I2C端口初始化   OLED_init();//OLED液晶屏初始化    while (1)   {    Get_val()//获取风速风向数据    HAL_Delay(500)ms   } } void Get_val(void) {     value[0] = ADC_Get_Average(0,100)   Current_Voltage =  value[0] * 360 / 2482   if(Current_Voltage >= 360 )    Current_Voltage = 360;   sprintf(strvalue,"Direct: %d   ",Current_Voltage);///浮点数据转换为字符串   OLED_P8x16Str(15,4,strvalue);//显示风向     value[1] = ADC_Get_Average(6,100)   Current_Voltage2 =  value[1] * 30.0f / 2482.0f;///找出风速   sprintf(strvalue2,"Speed: %.1f m/s  ",Current_Voltage2)//浮点数据转化为字符串   OLED_P8x16Str(15,6,strvalue二、//显示风速  }   /**   * @brief  System Clock Configuration   *         The system Clock is configured as follow :    *            System Clock source            = PLL (HSE)   *            SYSCLK(Hz)                     = 72000000   *            HCLK(Hz)                       = 72000000   *            AHB Prescaler                  = 1   *            APB1 Prescaler                 = 2   *            APB2 Prescaler                 = 1   *            HSE Frequency(Hz)              = 8000000   *            HSE PREDIV1                    = 1   *            PLLMUL                         = 9   *            Flash Latency(WS)              = 2   * @param  None   * @retval None   */ void SystemClock_Config(void) {   RCC_ClkInitTypeDef clkinitstruct = {0};   RCC_OscInitTypeDef oscinitstruct = {0};      /* Enable HSE Oscillator and activate PLL with HSE as source */   oscinitstruct.OscillatorType  = RCC_OSCILLATORTYPE_HSE;   oscinitstruct.HSEState        = RCC_HSE_ON;   oscinitstruct.HSEPredivValue  = RCC_HSE_PREDIV_DIV1;   oscinitstruct.PLL.PLLState    = RCC_PLL_ON;   oscinitstruct.PLL.PLLSource   = RCC_PLLSOURCE_HSE;   oscinitstruct.PLL.PLLMUL      = RCC_PLL_MUL9;   if (HAL_RCC_OscConfig(&oscinitstruct)!= HAL_OK)   {     /* Initialization Error */     while(1);    }    /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2       clocks dividers */   clkinitstruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);   clkinitstruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;   clkinitstruct.AHBCLKDivider = RCC_SYSCLK_DIV1;   clkinitstruct.APB2CLKDivider = RCC_HCLK_DIV1;   clkinitstruct.APB1CLKDivider = RCC_HCLK_DIV2;     if (HAL_RCC_ClockConfig(&clkinitstruct, FLASH_LATENCY_2)!= HAL_OK)   {     /* Initialization Error */     while(1);    } }   /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 

五、论文

六、数据清单

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章