一、HW-493激光模块
HW-493激光模块 是一种小型化的激光发射模块,其主要特点是体积小、功耗低、精度高、可靠性强。它采用了半导体激光器作为光源,搭配高精度光学透镜,可以发射出稳定、准确、高亮度的激光光束。
VCC :+5 V 电压。(电源电压范围为 3.5V-5.5V,过高或过低都会影响模块的正常工作 )
-负极 :接 GND 。
S :连接到单片机的 io 口。(这里我接在 STM32 的 PA7 处)
工作原理:
HW-493激光发射器 的控制电路需要接收一个数字信号电平为高电平时,激光器开始工作并发射激光。当数字信号的电平为低电平时,停止激光的发射。
二、创建工程:
这里可以使用 CubeMX 设置引脚,也可以自己写引脚控制代码。
配置引脚
①创建一个结构体变量:
GPIO_InitTypeDef GPIO_InitStruct = {0}; 1
②使能 GPIOA 引脚
__HAL_RCC_GPIOA_CLK_ENABLE();
1
③初始化引脚为 低电平
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
1
④设置引脚的 模式,输出,速度
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; 1
2
3
4
⑤完成初始化
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 1
CubeMX 设置引脚:
使用 CubeMX 生成工程的步骤可以参考我之前的文章,这里我只把需要改变的列出来了。STM32f103 CubeMX封装 led程序
①设置引脚为 Ouput 输出引脚
②设置初始引脚电平
三、代码详解:
发射激光:
void HW_493_ON(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET); //高电平发射激光 } 1 2 3 4 关闭激光 void HW_493_OFF(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET); //低电平关闭激光 } 1 2 3 4
配置引脚
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 秒 }
实验现象:
激光发射实验现象