摘要:本文介绍一款基于Arduino NANO开发的,带2.4G无线收发报功能的摩尔斯电码训练器的系统设计思路。发射端通过NANO板的外部中断引脚采集电键输入的脉冲PPM序列同时驱动喇叭播放电键音,然后对采集到的PPM序列时序进行量化分析,解析得到当前输入的摩尔斯电码,在LCD屏幕上显示对应的字符。与此同时将量化好的脉位数据及字符编码、空格等信息利用串口数据透传模块发送出去。接收端接收到数据后,解析出原PPM序列及字符编码、空格信息,驱动喇叭播放电键音,并在LCD屏幕上显示对应的字符及空格。并且,以电键输入特定编码:1、可以实现国际通用字码及数字长码模式与数字短码模式的相互切换;2、可以启动国际通用字码及数字长码的自动播报。
1. 引言
摩尔斯电码是一种国际通用的信号代码,以"点"和"划"的组合对字母、数字、符号进行编码,它可以利用电台的载波进行传输,也可以利用声音、图形来进行信息传递。一直以来,摩尔斯码都是一种重要的通信方式,在航空、航天、航海等领域都有不可取代的地位,目前也是无线电爱好者进行通联"必备软件"。用电台进行摩尔斯码的抄报与发报需要进行大量的训练才能达到正常使用的水平,因此,摩尔斯电码练习器是不可或缺的。而目前市面上的练习器,主要有两种:一种只可以通过听来练习;一种可以听,可以解码显示,接电台可以进行发报。笔者在进行练习时想到,能不能开发一种可以听、可以显示,而且不接电台就可以进行模拟收发报的训练器(要持有电台并且使用电台要经历一个比较漫长的过程)。因此,笔者开发这一套基于Arduino的、带2.4G无线传输功能的摩尔斯电码练习器。
![c6caeb7463682c8e1d0bdaa9a66f47bd.png](https://i-blog.csdnimg.cn/blog_migrate/741fbc76cf2ece6882491510525e8408.jpeg)
![c0de254c7fa3e43d21ae5e3ce368ce5d.png](https://i-blog.csdnimg.cn/blog_migrate/c4858e7e2ede6ba0ff52b4eca1f02155.jpeg)
2. 系统硬件组成
本文使用的处理核心为Arduino NANO板,其搭载的ATmega328单片机足以完成系统功能。
![4db80464078c188b79ed273e43f1186e.png](https://i-blog.csdnimg.cn/blog_migrate/fa0d31317e5859da6bd85de8eb1c2cc9.jpeg)
由于系统需具备较高的实时性,电键信号使用NANO板的外部中断0即D2引脚来进行采集,电键实质上就是一个开关,因此构建一个开关电路,当电键按下时为高电平,放开时为低电平。为了防止由于电压波动产生误中断,在信号与地之间加入了滤波电容,如下图:
![cb274894f7766bc8576bec6a16dea2b9.png](https://i-blog.csdnimg.cn/blog_migrate/f87856780b33f0645dcc49dc86fc0134.jpeg)
屏幕显示选用了IIC接口的LCD2004液晶显示屏幕。该屏幕有4行显示区,每行可显示20个字符。因此将屏幕分为上下两个显示区,第1、2行显示发送或本机电键输入的电码字符,第3、4行显示接收到的电码字符,界面设计如下图所示:
![1e9c8f39c2538db985531d1fdd985d7d.png](https://i-blog.csdnimg.cn/blog_migrate/3affca0d12aea90865352cd9b1be0c70.jpeg)
声音播放用NANO的D3口进行控制,即高电平时发声,低电平时停止发声。声源可由有源蜂鸣器提供。本文选用NE555芯片产生音频脉冲,D3口驱动继电器模块(本文中继电器使用是成品模块)通断,控制脉冲信号的通断以驱动喇叭发声,同时喇叭音量、音调可以通过电位器进行调节。电路原理图如下:
![c77002ed79c1dc2a03d5c000e9e1ffa1.png](https://i-blog.csdnimg.cn/blog_migrate/cf8f61b0d8eb8fac7b47cff60679dbc9.jpeg)
无线传输部分使用的是UART接口的数据透明传输模块,工作频率为2.4GHz。该模块由于使用的是UART传输,只需要连接TX和RX,简化了硬件结构,同时程序设计也相对简化了,只要设置好波特率和通讯协议即可。接下来开始介绍软件设计思想。
![7aeac68637055f659fded31e23fc8fc8.png](https://i-blog.csdnimg.cn/blog_migrate/4305b10b1413767c771075c99fb51ff3.jpeg)
![b85dfbc2b2f634c57a0976b02d847900.png](https://i-blog.csdnimg.cn/blog_migrate/669499de879f61df1dcf759ecf0ccb22.jpeg)
![067d0dca991f93303f5a6ceb55944b81.png](https://i-blog.csdnimg.cn/blog_migrate/69caa34b4f9953eb6f6bccd22ea449ae.jpeg)
制作过程
3. PPM采集到摩尔斯电码的转换
1) 摩尔斯码与PPM的联系
摩尔斯码由"点"和 "划"组合而成,例如字母"a