凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)

目的

使用basic:bit套件完成莫尔斯密码编码。

使用材料

1 x basic kit基础套件

背景知识

莫尔斯电码

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。

莫尔斯电码表

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(1)

硬件连接图

如图所示,将按键模块连接到basic:bit主板的P1口。

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(2)

软件

微软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。

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(3)

步骤 2

  • 判断flag变量(字符串长度)是否等于4,(本案例只取莫斯密码的英文,故长度最多4位),如果等于4,显示字符A,提示用户。

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(4)

步骤 3

  • 以模拟值读取P1口,判断按下了哪个键,返回值80-130之间为C按钮按下,当C按钮按下时,将字符串长度变量加1,播放一个音调持续八分之一,点阵显示屏显示一个点,代表莫尔斯电码中的点,延时消抖,向字符串末尾写入一个字符“0”。
  • 当按钮D按下时,与C按钮同理,区别是显示一个横,代表莫尔斯电码中的横,向字符串末尾写入“1”

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(5)

步骤 4

当按下A按钮时,显示字符串,发送字符串,同时清空变量item和flag,初始化程序。

凯恩帝m98与m99编程实例(BasicKit系列教程案例3摩斯密码)(6)

程序

请参考程序连接:https://makecode.microbit.org/_3JrVPeeDVY2r

你也可以通过以下网页直接下载程序。

结论

按下按钮C,意为莫尔斯电码中的点,按下按钮D,意为莫尔斯电码中的横,按下C或者D总次数等于4时,显示字符A,需要按下A按钮,显示和发送当前字符串,并且初始化变量重置程序。

思考

延时消抖的作用和意义是什么?

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页