爱板网论坛

查看: 200|回复: 0

[项目] 基于micro:bit和3D打印的摩尔斯电码发报机

[复制链接]

64

主题

0

好友

1253

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    开心
    2015-7-14 09:10
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2017-11-24 10:30:02 |显示全部楼层
    Micro:bit 是英国广播公司(BBC)联合很多企业推出的一个微型可编程计算机,设计的初衷是为了让每个孩子都能零基础的接触计算机编程,不需要任何编程语言学习就可以直接上手,通过USB和电脑连接就行了。
    TIM截图20171124101952.png


    一般我们是进入 https://makecode.microbit.org 这个网址,在这里进行网页编程。写好指令后下载到micro:bit盘符,或者把hex文件拷贝到盘符里。

    640.webp (11).jpg


    这次我们用micro:bit来做一个小发报机。

    摩尔斯电码(英语:Morse code)是一种时通时断的信号码,通过排列顺序来表达不同的英文字母、数字和符号,1836年发明。目前还在使用的是国际摩尔斯电码。
    TIM截图20171124102207.png

    材料和工具清单

    写程序

    我们用的代码主要参考了 microbit-micropython.readthedocs.io 网上的现成例子,略作了调整,语言是python,可以显示a-z 26个字母以及数字。基本编程思路是,220毫秒内的按键计为短信号 •(点),220-440毫秒的按键计为长信号- (划)。

    按 •(点)和 - (划)时屏幕会显示不同的图案,并判断间隔时间,如果等待时间大于440毫秒还没有输入信号,则认为当前输入已经完成。在输入完成后显示当前输入的字母或数字。

    屏幕上会始终显示最后输入的字母或数字,如果输入信号组合不是程序能识别的字母或数字则在屏幕上显示一个点。所有输入字母和数字会被存在一个缓存区里。

    在连续输入一些信息后,按A键显示所有已经输入的字母和数字,并重新开始缓存。

    TIM截图20171124102309.png


    点信号在屏幕上显示竖线,划信号显示横线
    TIM截图20171124102339.png


    后续完善
    可以使用3D打印做一个发报机盒子,把micro:bit放进去。比如https://www.myminifactory.com 这个网站上的micro:bit区就有共享的发报机3D打印源文件。

    这个网站给出的stl文件模型略小了一点,按原始尺寸打印,micro:bit板子会放不进去,我们在使用3D打印软件时,把模型放大到108%就比较合适了。由于只用了左喷头,所以我们打出来的是纯色发报机盒子,这里用的是黄色。另外共享的这个发报机把手模型有个弯折部分,3D打印起来有可能会断,最好是改一下,把这部分拉直。
    TIM截图20171124102414.png


    TIM截图20171124102442.png


    TIM截图20171124102503.png


    最后附上python源代码和修改调整后的stl模型文件 microbit_Morse_code_decoder.zip (554.02 KB, 下载次数: 3) ,可以使用mu编辑器(https://codewith.mu/)来编译。


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    手机版|爱板网 |网站地图  

    GMT+8, 2017-12-13 07:42 , Processed in 0.147156 second(s), 13 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部