【嵌入式简单外设篇】-433MHz 无线遥控模块
本文介绍了433MHz无线模块的应用场景和使用方法。适用于遥控灯光/窗帘/门禁原型、物联网节点唤醒等场景。所需器材包括433MHz收发模块、STM32开发板和电源等。工作原理是通过无线电频段传输数据,需注意硬件模式配置。提供了详细的接线示意图(VCC→5V,GND→GND)和两种代码示例(标准库和HAL库),展示如何通过GPIO读取遥控信号并通过串口输出。
·
一、适用场景
适用场景:遥控灯光/窗帘/门禁原型、遥测/遥控教学实验、无线按键接入、简易无线遥控车/机器人控制、物联网节点远距离唤醒(短包)、嵌入式通信实验与协议学习等。

二、器材清单
433MHz接收模块 ×1
433MHz遥控器 ×1
STM32F103VET6 ×1
若干杜邦线(母对母/公对公,根据引脚)
5V/3.3V电源
三、工作原理(要点)
原理是通过无线电频段进行数据传输。它由发送端和接收端两部分组成。发送端将要发送的数据通过串口或1Q口输入到模块中,经过编码和调制后,通过天线发送出去。接收端的天线接收信号后,经过解调和解码(433接收模块一般来说对固定编码进行了处理,所以我们不需要太考虑其中的编码信号),将数据送到输出端口,供用户使用
注意使用前一定要再硬件上配置好其模式(点动、互锁、自锁)

四、接线示意
VCC → +5V
GND → GND
标准库
D0-3 → PC9-12
HAL库
D0-3 → PA1-4
五、示例代码
//标准库
void gpio_init()
{
GPIO_InitTypeDef PA;
GPIO_InitTypeDef PC;
//使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
PC.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10| GPIO_Pin_11| GPIO_Pin_12;
PC.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOC,&PC);
PA.GPIO_Pin = GPIO_Pin_3;
PA.GPIO_Mode = GPIO_Mode_Out_PP;
PA.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&PA);
}
int main()
{
USART_Config();
SysTick_Init();
gpio_init();
while(1)
{
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9) == 1)
{
Usart_SendString(USART1,"D0\n");
}
else if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_10) == 1 )
{
Usart_SendString(USART1,"D1\n");
}
else if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_11) == 1 )
{
Usart_SendString(USART1,"D2\n");
}
else if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_12) == 1 )
{
Usart_SendString(USART1,"D3\n");
}
Delay_us(1000000);
}
// return 0;
}
//HAL库

while (1)
{
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1) == 1)
HAL_UART_Transmit(&huart1,"D0\r\n", strlen("D0\r\n"), HAL_MAX_DELAY);
else if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_2) == 1)
HAL_UART_Transmit(&huart1,"D1\r\n", strlen("D1\r\n"), HAL_MAX_DELAY);
else if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_3) == 1)
HAL_UART_Transmit(&huart1,"D2\r\n", strlen("D2\r\n"), HAL_MAX_DELAY);
else if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_4) == 1)
HAL_UART_Transmit(&huart1,"D3\r\n", strlen("D3\r\n"), HAL_MAX_DELAY);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
六、讲解视频
更多推荐



所有评论(0)