1 简介
Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机开发常用模块:433无线数传模块
单片机常用模块:433无线数传模块
大家可用于 课程设计 或 毕业设计
2 433 模块介绍
2.1 什么是433M无线模块?
无线收发模块433MHz,采用高频射频技术,所以又称RF433射频小模块。它以全数字技术生产的单IC射频前端和ATMEL的AVR单片机组成,可实现高速数据信号传输的微型收发器,实现对无线传输数据的打包、检错和纠错处理。部件均采用工业级标准,工作稳定可靠,体积小,安装方便。用于安全报警,无线自动抄表,家庭和工业自动化,远端遥控,无线数传等广泛领域。
2.2 433M无线数传模块用途。
数据采集功能:采集各类仪器输出的脉冲、模拟或RS232/RS485串口信号。
储存功能:本机循环储存监控数据,不掉电。
通讯功能:采用433MHZ免费频段对外通讯,无需授权。
警报功能:监测到的数据越多,报警信息就越多。
外部供电功能:可对外提供直流电源,供仪表/变送器使用。
RemoteManagement功能:支持远程参数设置,程序升级。
2.3 应用领域
一、智能家居安全预警系统。
除了金钱,人们现在最看重的是什么呢?只是为了个人安全。年年发生的入室抢劫、偷窃,甚至有些女生对自己的人身伤害等等不在少数。在受害人不注意的情况下,这些犯罪团伙往往会得逞。而且智能家居安全报警系统能在最短的时间内再次给我们提醒。例如:在安保系统下,犯罪团伙在深夜入室行窃时,可先进行提醒。也可能是陌生人经常在门口进行徘徊提醒等。
二、远程控制。
每个人对遥控器都不陌生,大家日常接触的电视遥控器、空调遥控器、汽车钥匙等等都是需要使用无线模块的。
三、远程抄表。
在物联网高速发展的今天,以前挨家挨户、逐个去手工抄表的传统方式将被时代慢慢淘汰,远程抄表可以大大减少我们付出的人力、物力和时间,因此智能远程抄表将成为这一领域的发展趋势。采用LoRaTM扩频调制跳频技术,LoRaF30大功率无线433m无线模块的通信距离和接收灵敏度均远远超过其它FSK和GFSK方案,并且其多个传输信号占用同一信道,不受干扰,使得其具有超强的抗干扰能力,可广泛应用于远程工业控制、远程抄表等领域。
3 发射模块
- 1、通讯方式:调幅AM
- 2、工作频率:315MHz/433MHz
- 3、频率稳定度:±75kHz
- 4、发射功率:≤500mW
- 5、静态电流:≤0.1μA
- 6、发射电流:3~50mA
- 7、工作电压:DC 3~12V
- 8、发射头(采用2SC3357三极管)
4 接收模块
体积:30x13x8毫米
主要技术指标:
- 1、通讯方式:调幅AM
- 2、工作频率:315MHz/433MHz
- 3、频率稳定度:±200kHz
- 4、接收灵敏度:-106dBm
- 5、静态电流:≤5mA
- 6、工作电流:≤5mA
- 7、工作电压:DC 5V
- 8、输出方式:TTL电平
433 实例
这是用433做的远程智能遥控开关,手上拿的是单片机做的433发射器
文章来源:https://www.toymoban.com/news/detail-653370.html
5 部分实现代码
基于stm32的部分433驱动代码文章来源地址https://www.toymoban.com/news/detail-653370.html
#include "conf_433m.h"
uint8_t M_RecData[RecLen] = {0};
uint8_t *M_pIndex = M_RecData;
uint8_t *M_pWrite = M_RecData;
uint8_t *M_pRead = M_RecData;
uint8_t M_DataLen = 0;
void Wireless_433MConfiguration(void)
{
GPIO_InitTypeDef GPIO;
//Enable APB2 Bus
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//Register IO
GPIO.GPIO_Pin = GPIO_Pin_5;
GPIO.GPIO_Speed = GPIO_Speed_50MHz;
GPIO.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_Init(GPIOA, &GPIO);
GPIO.GPIO_Pin = GPIO_Pin_0;
GPIO.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO);
M_Mode_Config;
}
void Wireless_433MInitalized(void)
{
uint8_t Wireless_433_Conf[15] = {0};
uint16_t Base_Freq = 430;
uint8_t i = 0;
uint16_t Checksum = 0;
//F8 00 00 00 28 12 34 12 34 00 00 02 B6
//0 1 2 3 4 5 6 7 8 9 10 11 12
Wireless_433_Conf[0] = 0xF8;
Wireless_433_Conf[1] = Buad_Default;
Wireless_433_Conf[2] = Rate_Defualt;
Wireless_433_Conf[3] = (uint8_t)(((434 - Base_Freq)*10) / 256);
Wireless_433_Conf[4] = (uint8_t)(((434 - Base_Freq)*10) % 256);
Wireless_433_Conf[5] = 0x11;
Wireless_433_Conf[6] = 0x11;
Wireless_433_Conf[7] = 0x22;
Wireless_433_Conf[8] = 0x22;
Wireless_433_Conf[9] = RF_Buad_Defualt;
Wireless_433_Conf[10] = Serial_Mode_default;
Wireless_433_Conf[11] = Frequency_Default;
for (i = 1; i < 12; i ++)
{
Checksum += Wireless_433_Conf[i];
}
Wireless_433_Conf[12] = (uint8_t)(Checksum % 256);
printf("Master Config Cmd: ");
for (i = 0; i < 13; i ++)
{
printf("%02X ", Wireless_433_Conf[i]);
}
printf("\r\n");
for (i = 0; i < 13; i ++)
{
USART_Send(USART2, Wireless_433_Conf[i]);
}
while(M_DataLen == 0);
printf("M_RecData: %s\r\n", M_RecData);
if (M_DataLen == 2)
{
if (M_RecData[0] == 'O' && M_RecData[1] == 'K')
printf("Config Master PASS!\r\n");
}
else if (M_DataLen == 5)
{
printf("Config Master Error!\r\n");
}
else
{
printf("DataLen = %d!\r\n", M_DataLen);
}
M_DataLen = 0;
memset(M_RecData, 0, RecLen);
M_Mode_Work;
}
6 最后
到了这里,关于【毕业设计 - 教学】单片机常用模块:433无线数传通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!