目的
使用basic:bit套件完成莫尔斯密码编码。
使用材料
1 x basic kit基础套件
背景知识
莫尔斯电码
摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。
莫尔斯电码表
硬件连接图
如图所示,将按键模块连接到basic:bit主板的P1口。
软件
微软makecode在线积木块编程https://makecode.microbit.org/#
按钮模块以模拟值读取I/O口返回值,值如下。[list=1]A按钮<10[/li]
B按钮10-80
C按钮80-130
D按钮130-160
E按钮160-600
编程
步骤 1
- 当开机时显示一个图标,设置变量item作为要发送的数据变量,变量flag作为字符串长度控制变量。
- 并且设置无线发送组为50。
步骤 2
- 判断flag变量(字符串长度)是否等于4,(本案例只取莫斯密码的英文,故长度最多4位),如果等于4,显示字符A,提示用户。
步骤 3
- 以模拟值读取P1口,判断按下了哪个键,返回值80-130之间为C按钮按下,当C按钮按下时,将字符串长度变量加1,播放一个音调持续八分之一,点阵显示屏显示一个点,代表莫尔斯电码中的点,延时消抖,向字符串末尾写入一个字符“0”。
- 当按钮D按下时,与C按钮同理,区别是显示一个横,代表莫尔斯电码中的横,向字符串末尾写入“1”
步骤 4
当按下A按钮时,显示字符串,发送字符串,同时清空变量item和flag,初始化程序。
程序
请参考程序连接:https://makecode.microbit.org/_3JrVPeeDVY2r
你也可以通过以下网页直接下载程序。
结论
按下按钮C,意为莫尔斯电码中的点,按下按钮D,意为莫尔斯电码中的横,按下C或者D总次数等于4时,显示字符A,需要按下A按钮,显示和发送当前字符串,并且初始化变量重置程序。
思考
延时消抖的作用和意义是什么?
,