STM32Cube HW-493激光发射

文章代码使用 HAL 库。

文章目录

  • 一、HW-493激光模块
  • 二、创建工程:
  • 三、代码详解:
      • 实验现象:
  • 总结


一、HW-493激光模块

  1. HW-493激光模块 是一种小型化的激光发射模块,其主要特点是体积小、功耗低、精度高、可靠性强。它采用了半导体激光器作为光源,搭配高精度光学透镜,可以发射出稳定、准确、高亮度的激光光束。
  • VCC :+5 V 电压。(电源电压范围为 3.5V-5.5V,过高或过低都会影响模块的正常工作 )
  • -负极 :接 GND
  • S :连接到单片机的 io 口。(这里我接在 STM32 的 PA7 处)
  1. 工作原理:
    HW-493激光发射器 的控制电路需要接收一个数字信号电平为高电平时,激光器开始工作并发射激光。当数字信号的电平为低电平时,停止激光的发射。
    STM32Cube HW-493激光发射_第1张图片

二、创建工程:

这里可以使用 CubeMX 设置引脚,也可以自己写引脚控制代码。

  1. 配置引脚

①创建一个结构体变量:

GPIO_InitTypeDef GPIO_InitStruct = {0};

②使能 GPIOA 引脚

__HAL_RCC_GPIOA_CLK_ENABLE();

③初始化引脚为 低电平

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);

④设置引脚的 模式,输出,速度

  GPIO_InitStruct.Pin = GPIO_PIN_7;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

⑤完成初始化

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  1. CubeMX 设置引脚:
    使用 CubeMX 生成工程的步骤可以参考我之前的文章,这里我只把需要改变的列出来了。STM32f103 CubeMX封装 led程序

①设置引脚为 Ouput 输出引脚
STM32Cube HW-493激光发射_第2张图片
②设置初始引脚电平
STM32Cube HW-493激光发射_第3张图片

三、代码详解:

  1. 发射激光:
void HW_493_ON(void)
{
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);  //高电平发射激光
}
  1. 关闭激光
void HW_493_OFF(void)
{
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);  //低电平关闭激光
}
  1. 配置引脚
void GPIO_Reinit(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  __HAL_RCC_GPIOA_CLK_ENABLE();
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
  
  GPIO_InitStruct.Pin = GPIO_PIN_7;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
int main()
{
	GPIO_Reinit();
	HW_493_ON();
    HAL_Delay(5000); //延时5 秒
    HW_493_OFF();
    HAL_Delay(2000); //延时 2 秒
}

实验现象:

激光发射实验现象


总结

你可能感兴趣的:(STM32,模块大全,stm32,单片机,嵌入式硬件)