从零开始用microbit做一个无线电报机简单

从零开始用microbit做一个无线电报机简单

背景最近刚刚接触到microbit,我便被它强大且易用的无线通讯功能吸引了。得益于其可以通过2.4G方式通信,只需简单设置就可以做到多块板子之间的信息收发。我便计划利用它的这个特性,做一些有意思的无线通讯小作品出来。

就在这时,我突然想到了摩尔斯电码(Morse code),它也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,保持一定时间的长信号“—”,表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。

因为摩斯电码只是依靠一个平稳的不变调的无线电信号,所以它的无线电通讯设备比起其他方式的就会更加的简单,同时它还能在高噪声、低信号的环境中被使用。与此同时,它所需要的频宽也是很窄的,而且还能够帮助两个母语不同、在话务通讯时会遇到巨大困难的操作者之间进行沟通。

作品设计而microbit板载A,B两个按键,而且还有5*5的点阵屏可供使用。我便计划利用A键表示短促的点信号“・”,B键表示长信号“—”进行信息输入,A+B键一起按下就发送。并通过点阵屏显示接收到的信息。这样,一套基于microbit的无线电报机便可以实现了

实现过程本作品最核心功能的是记录输入的电码并识别出相应的字符。

在这方面我的设想是使用一串由1和2组成的变量实现。1代表点信号“・”,2代表长信号“—”

这样以来,字符A的摩斯电码是“・—”,通过变量就可以表示为“12”以此类推,字符B的摩斯电码是“—・・・”,通过变量就可以表示为“2111”

实现位数加减的方式也十分简单,如果按下A键,也就是用户输入“1”,那么就把变量乘上10后再加上1,变量也就在末尾增加了一位“1”如果按下B键,也就是用户输入“2”,那么就把变量乘上10后再加上2,变量也就在末尾增加了一位“2”

为了更加方便读者理解,在此举个栗子:

原本的数值是“212”,用户现在按下A键,那么变量就是212*10+1=2121,变量的结尾就加上了“1”

原本的数值是“212”,用户现在按下B键,那么变量就是212*10+2=2122,变量的结尾就加上了“2”

再简简单单做个电码判断和接收逻辑

加上亿点小动画,让整体体验更加自然流畅

铛铛!完工!!!(完整代码会附在文字结尾)

(目前只做了26个字母的判断)

效果演示:(各位大佬可以提提有什么可以改进的,新手小白做的很粗糙,权当抛砖引玉QAQ)

相关推荐

如何写好作文?这里有十个小技巧
365三式投注

如何写好作文?这里有十个小技巧

📅 07-08 🔥 12
Switch防BAN指南:别再纠结了! 你是不是还在为Switch被BAN而烦恼?刚入手的大气层系统让你提心吊胆?心仪的游戏不敢玩?别担心,这篇文章将为你提供Switch的终极防BAN指南。  首先,了解Switch的BAN机机制很重要。主要有两种:一种是
导览七月的日本
365 双式投注

导览七月的日本

📅 08-10 🔥 177
角球统计数据 - 国际足联俱乐部世界杯 (国际)
【平】可以组哪些词
365bet盘口开户

【平】可以组哪些词

📅 08-28 🔥 773
浣熊洗棉花糖,真是因为蠢萌吗?
365 双式投注

浣熊洗棉花糖,真是因为蠢萌吗?

📅 07-04 🔥 908