最新消息:

Scratch模拟系列之004模拟发电报

Scratch 少儿编程 4360浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

回忆起电为人类服务的历程,最早的要算是电报了。有趣的是,发明电报的人不是物理学家,也不是工程师,而是一位画家,他的名字叫塞缪尔莫尔斯。一个搞美术的,竟成为有线电通信的开创者,这好像有些不可想象,让我们了解一下其中的故事吧!

1832101日,一艘名叫萨丽号的邮船,满载旅客和邮件,在法国北部的勒阿弗尔港启碇,驶向纽约。

邮船在浩瀚的大西洋上破浪前进,船尾上空飞着海鸥。这种例行的远航大多是枯燥无味的。旅客们或是聊天、下棋,或是在甲板上眺望无边的大海,消磨时光。一天傍晚,旅客们正在餐厅里准备进餐,被一个年轻旅客的演说吸引住了。这位青年名叫查尔斯杰克逊,他是美国马萨诸塞州波士顿的医生,但是对电学研究却有浓厚的兴趣。当时,电磁感应刚发现不久,人们对一切有关电磁的现象都觉得新奇。杰克逊向大家展示了一个名叫电磁铁的新装置。这是一个上面绕着绝缘铜线的马蹄形铁块,当铜线通电的时候,马蹄形铁块就产生了磁性。杰克逊用孩子般的热情滔滔地解说着。

“先生们!”他说,“请记住,我们快要利用一种无限的力量了。最近有实验表明,绕在铁芯周围的导线越多,磁铁的吸力就越强。而且有人已经证明,电能够神速地通过一段导线,不管有多长。科学就要创造出改变我们生活的电的奇迹啦!”

青年医生的话不时被打断,餐厅里响起一阵欢呼和热烈的议论。最后,演说家被大家抬了起来。人们都被一种神奇的幻想陶醉了。谁也没有注意到,听众中有一个皮肤黝黑的中年男子,一言不发地望着讲台,两眼闪烁着异样的光芒。夕阳映照在他的脸上,象火在燃烧。他的心也在燃烧。他就是四十一岁的美国画家塞缪尔莫尔斯。

Scratch模拟系列之004模拟发电报

一连几天,莫尔斯坐卧不安,晚上也兴奋得不能入睡。他的情绪完全被神奇的电所左右。几天以后,邮船到达目的地。旅客们挥手告别,有关电磁铁的议论,不过成为记忆中的一朵浪花罢了。

可是,莫尔斯却好象换了一个人。在船靠近码头的时候,他忽然对船长说:“先生,不久你就可以见到神奇的‘电报’啦,请记住,它是在你的‘萨丽’号上发明的呀!”他提着画箱走下邮船,步履坚定,神情庄严。杰克逊那天傍晚的一席话改变了莫尔斯的一生。从此以后,写生画、肖像画不再是莫尔斯的主要兴趣。他告别艺术,投身到科学领域里去。画家在写生簿上端端正正地写下了“电报”两个字,立志要完成用电传递信息的伟大使命。

可是,只要翻开电子科学技术史的最初几页,就可以看到,莫尔斯要完成的使命是非常艰巨的。一个从来没有研究过电磁学的画家,而且已经过了四十岁,居然改行要攀登这座人们都没有征服的高峰,这需要多么大的勇气和决心!

莫尔斯遇到的最大困难,是他对电和磁的知识几乎一窍不通。但是他一点也不动摇,决心从头学起。经过半年的刻苦学习,莫尔斯初步掌握了电磁原理。特别是美国物理学家亨利一年以前提出的电报原理,对莫尔斯有很大启发。亨利用电磁铁做成电铃,可以把信号传到1.6公里远的地方。这实际是电磁音响式电报机的最早模型。莫尔斯决定采用亨利的原理,进行深入的实验。

画家买来各种电工器材和工具,在家里夜以继日地干起来。从前的小画室变成了地道的实验室,到处都是线圈、磁石和导线。他的写生簿也涂满了各式各样的方案和草图。莫尔斯的全部生活和希望都凝聚在这个小小的实验室里了。夜幕笼罩着城市,只有他实验室里的灯火常常彻夜不熄。冬尽春来,秋去冬至。他画了一张又一张草图,进行了一个又一个试验,但是每次都以失败而告终。

三年过去了,莫尔斯的积蓄几乎全部花完,电报机还是没有造出来。

失败没有使莫尔斯气馁,他变得冷静了。用导线传递信息难道不可能吗?不,经过三年的实践,他更加坚信杰克逊的话是能够实现的。那么失败的原因在哪里呢?莫尔斯苦苦思索着。他反省了自己的设计思路,认真地检查了所有的实验。

多少个不眠之夜过去了,莫尔斯终于找到了问题的症结:踩着别人的脚印是不能走在前面的,必须寻找新路!经过反复思考,一个崭新的思想酝酿成熟了。莫尔斯的这个构思,是电报发明史上一项重大的突破。莫尔斯设想用点、划和空白的组合来表示字母,只要发出两种电符号,就能够传送消息。这就大大简化了设计和装置。莫尔斯规定了特定的点、划、空白组合,表示各个字母和数字,这就是著名的莫尔斯电码,也是电信史上最早的编码。

莫尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用01两种状态的二进制代码,它的代码包括五种:点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。

莫尔斯电码由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t

Scratch模拟系列之004模拟发电报

1844年五月二十四日,人类通信史上的庄严时刻到来了。这一天,华盛顿沉浸在节日般的气氛中。在国会大厦联邦最高法院会议厅里,莫尔斯向应邀前来的几位科学家、政府人士介绍了实验原理,而盖尔等候在六十四公里外的巴尔的摩。大厅外面观众云集,人们怀着极大的兴趣来观看用导线传递消息的奇迹。几年以前嘲讽过莫尔斯的那两个人也赶来了,他们万万没有想到丑小鸭飞上了蓝天,变成人人赞美的白天鹅

在预定的时间,莫尔斯接通电报机,用一连串的点、划——也就是到今天还在使用的莫尔斯电码,开始发出电文,盖尔成功的接收到历史上第一份电报:“上帝创造了何等的奇迹!”

试验成功了,人类通信史揭开了新的一页。莫尔斯的发明迅速风行全球。从此以后,电报广泛应用在军事、民用通信领域,人类传递信息变得更加快捷和方便。

Scratch模拟系列之004模拟发电报

下图是有线发报机的工作原理。当电线中有电流时,收报机中的电磁铁就会带动铁片上的笔在纸带上作记号,时间短记的是点,时间长记的是线。发送信号者靠一个按钮,按下时电路接通,抬起时电路断开,接通和断开的时间长短用手来控制。

Scratch模拟系列之004模拟发电报

51年后, 1895年意大利的发明家马可尼发明了无线电报,从此电报不再受电线的约束。

电报是不是非常神奇啊?让我们站在巨人的肩膀上,做一个自己的电报小程序吧!

小朋友们应该努力学习科学知识,只要有新奇的想法,就应该鼓励自己去尝试,在实践中学习和成长。

1     本案例适合对象

本样例适合3年级及以上,且已经学习完Scratch基础课程的孩子。

2     功能分解

这个程序主要包括两部分。第一部分是讲解电报机和莫尔斯编码的相关知识,第二部分是模拟发送莫尔斯编码。

3     编程实现

3.1     讲解知识

我们可以在网上或者图书馆去查询有关电报机和莫尔斯编码的相关知识、图片、声音效果,然后筛选整理出需要的知识点,通过说话积木把相关知识逐条说出来就可以了。

如果想做的更加生动有趣,还可以根据解说内容切换不同的背景或音乐。

3.1.1    舞台背景

本列中一共为舞台设置了8幅背景,按照解说内容调整好排列顺序即可。

程序的主要功能是:当程序开始运行时,显示第一个背景;当接收到“切换背景”消息后,切换为下一个背景。

背景设置和程序如下。

 

 

Scratch模拟系列之004模拟发电报

 

3.1.2    讲解知识

从角色库库中选择一个小男孩,请他作为讲解员吧。

我们需要把要讲解的知识告诉他,并让他按照先后顺序逐条说出来。有的时候需要切换背景图片,就发出一条切换背景消息,通知舞台切换背景就可以了。

为了方便控制小男孩的语速,掌握讲解的节奏,我们设置了一个间隔时间参数,通过它来控制每次说话保持的时间。

小男孩告诉我,他觉得就这么台词太没劲了,他想和观众进行一次互动。程序开始运行后,站在舞台上的小男孩会给观众播放一段声音,让大家猜猜这是什么声音。这样更能吸引观众。我觉得这个建议非常好!

来看看程序吧。

Scratch模拟系列之004模拟发电报

 

3.2     发电报

小男孩介绍完莫尔斯编码以后,激动人心的时刻就要到来了。

舞台上出现了一个蓝色的按钮。当我们按下左键的时候,会发出的声音;当我们按下右键的时候,会发出的声音。

这里的声音来源于从网络上下载的那段电报声音。让我们来看看这段电报声音的模样吧!

Scratch模拟系列之004模拟发电报

原来声音也是有“形状”,看得见的啊!

用心的小朋友通过这段声音的波形,再结合莫尔斯编码,已经能看出里面的文字信息了吧。是不是非常有趣呢?

接下来,我们利用Scratch的声音编辑功能,剪切出两种声音。你猜到他们的模样了么?没错,短一点的是“嘀”,长一点的是“嗒”。

Scratch模拟系列之004模拟发电报

“按钮”角色的造型和程序如下所示。

Scratch模拟系列之004模拟发电报

4     调试和升级

运行一下程序,感觉想要实现的主要功能都已经做到了。接下来,对程序进行一些优化,并增加新的功能,让它变得更加有趣吧。

4.1     优化程序

程序可以从功能、结构、表现细节等方面进行优化。

4.1.1    输入字符功能

既然已经可以发出“嘀”、“嗒”的声音了,那么我们可以试试用左键、右键来输入单个字符。

按照莫尔斯编码的规则,在规定的时间内输入的音节可以组合成一个节拍,如果把“嘀”识别为0,把“嗒”识别为1,这样一个节拍就可以变换成一个字符串,最后去查表找出对应的字符就可以了。

用记事本软件,按照莫尔斯编码的规则,建立两个文件。其中一个文件用来录入所有的莫尔斯编码;另一个文件用来录入对应的字符。两个文件中编码和字符的排列顺序必须完全一致,一一对应。如下图所示。

Scratch模拟系列之004模拟发电报

后在Scratch中新建两个列表:“二进制翻译表”、“字符翻译表”。通过导入功能,从txt文件中导入数据即可。

输入字符功能的主要程序如下所示。

Scratch模拟系列之004模拟发电报

细心的小朋友会发现,为啥要在“二进制字符”前面加上一个‘符号,如图下所示:

Scratch模拟系列之004模拟发电报

这是因为我在调试的过程中,发现计算机会把“01”认作“1”,这样就无法区别“A”和“T”了。原来,使用字符连接积木以后,计算机发现字符串如果是纯数字(只包含0~9),就会把它当做数字处理,如“01”等于“1”,“0010”等于“10”。

要解决这个问题,只需要告诉计算机,我们输入的是一个字符串,而不是数字。那么在数字前加上任意一个非0~9的字符就可以了。

接下来,还需要修改二进制翻译表里面的内容。首先修改txt文件,然后再导入到列表中即可。

Scratch模拟系列之004模拟发电报

4.2     结构

4.2.1    用空格键控制讲解节奏

在第一部分讲解知识的过程中,小男孩是按照规定好的时间间隔来介绍发报机的。如果听众对某个环节很感兴趣,需要停下来多聊一聊可就不行了。就像坐在行驶的火车上看窗外飞驰而过的风景,想多看一眼也不行。

另一方面程序也比较冗长,结构不简练,阅读麻烦,修改费劲。

我们可以试试用列表来记录说有的说话内容。按一下空格键,小男孩就说出下一条内容,根据按下空格键的次数,选择背景。

说话内容列表的内容如下。

Scratch模拟系列之004模拟发电报

小男孩的程序如下。

Scratch模拟系列之004模拟发电报

背景的程序如下。

Scratch模拟系列之004模拟发电报

4.3     表现细节

4.3.1    按键动态效果

按下“左键”、“右键”以后,“按键”角色可以切换不同的造型,给操作者一个视觉反馈。但是能不能做的更有趣呢?

很多程序里面有下沉按钮。当按下按钮的时候,按钮会下沉,松开后会弹起。实现下沉效果的程序是这样的。

Scratch模拟系列之004模拟发电报

把下面的程序加入到按键执行程序里面就可以实现下沉效果了。

Scratch模拟系列之004模拟发电报

5     终极程序

前面两个版本的程序,发送电报都是用的左键和右键这两个按钮。这跟发报机使用一个按钮不同。那么有没有办法只用一个按钮来发送莫尔斯编码呢?

当然有!

可以根据按键按下的时间长短来判断是短音,还是长音。以下程序在嵌入式系统的按键检测程序里也可能会用到。

Scratch模拟系列之004模拟发电报

6     总结

孩子们为了完成这个模拟程序,会积极主动的去学习相关知识,锻炼了检索、整理知识的能力。

Scratch来模拟发报机,让孩子们对发报机、莫尔斯编码有了深入的体验。尤其是按键的检测方案,完全可以应用在嵌入式系统的学习中。如单片机、arduino、树莓派等等。所谓编程思想是独立于硬件的,是一种抽象的、通用的思想,孩子们通过模拟,为将来学习高级语言或其他教学器材打下来坚实的基础。

7     程序链接

模拟电报V01https://kada.163.com/project/1569484-954149.htm

模拟电报V02https://kada.163.com/project/1571350-954149.htm

模拟电报V03https://kada.163.com/project/1570383-954149.htm

谢谢大家关注。转载是对我最大的鼓励。谢谢!

您必须 登录 才能发表评论!