arduino nano 蓝牙_基于Arduino的摩尔斯电码练习及无线收发报训练器

摘要:本文介绍一款基于Arduino NANO开发的,带2.4G无线收发报功能的摩尔斯电码训练器的系统设计思路。发射端通过NANO板的外部中断引脚采集电键输入的脉冲PPM序列同时驱动喇叭播放电键音,然后对采集到的PPM序列时序进行量化分析,解析得到当前输入的摩尔斯电码,在LCD屏幕上显示对应的字符。与此同时将量化好的脉位数据及字符编码、空格等信息利用串口数据透传模块发送出去。接收端接收到数据后,解析出原PPM序列及字符编码、空格信息,驱动喇叭播放电键音,并在LCD屏幕上显示对应的字符及空格。并且,以电键输入特定编码:1、可以实现国际通用字码及数字长码模式与数字短码模式的相互切换;2、可以启动国际通用字码及数字长码的自动播报。

1. 引言

摩尔斯电码是一种国际通用的信号代码,以"点"和"划"的组合对字母、数字、符号进行编码,它可以利用电台的载波进行传输,也可以利用声音、图形来进行信息传递。一直以来,摩尔斯码都是一种重要的通信方式,在航空、航天、航海等领域都有不可取代的地位,目前也是无线电爱好者进行通联"必备软件"。用电台进行摩尔斯码的抄报与发报需要进行大量的训练才能达到正常使用的水平,因此,摩尔斯电码练习器是不可或缺的。而目前市面上的练习器,主要有两种:一种只可以通过听来练习;一种可以听,可以解码显示,接电台可以进行发报。笔者在进行练习时想到,能不能开发一种可以听、可以显示,而且不接电台就可以进行模拟收发报的训练器(要持有电台并且使用电台要经历一个比较漫长的过程)。因此,笔者开发这一套基于Arduino的、带2.4G无线传输功能的摩尔斯电码练习器。

c6caeb7463682c8e1d0bdaa9a66f47bd.png
c0de254c7fa3e43d21ae5e3ce368ce5d.png

2. 系统硬件组成

本文使用的处理核心为Arduino NANO板,其搭载的ATmega328单片机足以完成系统功能。

4db80464078c188b79ed273e43f1186e.png

由于系统需具备较高的实时性,电键信号使用NANO板的外部中断0即D2引脚来进行采集,电键实质上就是一个开关,因此构建一个开关电路,当电键按下时为高电平,放开时为低电平。为了防止由于电压波动产生误中断,在信号与地之间加入了滤波电容,如下图:

cb274894f7766bc8576bec6a16dea2b9.png

屏幕显示选用了IIC接口的LCD2004液晶显示屏幕。该屏幕有4行显示区,每行可显示20个字符。因此将屏幕分为上下两个显示区,第1、2行显示发送或本机电键输入的电码字符,第3、4行显示接收到的电码字符,界面设计如下图所示:

1e9c8f39c2538db985531d1fdd985d7d.png

声音播放用NANO的D3口进行控制,即高电平时发声,低电平时停止发声。声源可由有源蜂鸣器提供。本文选用NE555芯片产生音频脉冲,D3口驱动继电器模块(本文中继电器使用是成品模块)通断,控制脉冲信号的通断以驱动喇叭发声,同时喇叭音量、音调可以通过电位器进行调节。电路原理图如下:

c77002ed79c1dc2a03d5c000e9e1ffa1.png

无线传输部分使用的是UART接口的数据透明传输模块,工作频率为2.4GHz。该模块由于使用的是UART传输,只需要连接TX和RX,简化了硬件结构,同时程序设计也相对简化了,只要设置好波特率和通讯协议即可。接下来开始介绍软件设计思想。

7aeac68637055f659fded31e23fc8fc8.png
b85dfbc2b2f634c57a0976b02d847900.png
067d0dca991f93303f5a6ceb55944b81.png

制作过程

3. PPM采集到摩尔斯电码的转换

1) 摩尔斯码与PPM的联系

摩尔斯码由"点"和 "划"组合而成,例如字母"a

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值