用micro:bit和3D打印做一个摩尔斯电码发报机

标签:micro:bit

Handaxe_Maker 发布于 2017-11-10 13:37

0.jpg 0 (1).jpg QQ截图20171123134626.jpg

本文可以学到:

1. 什么是摩尔斯电码

2. 用micro:bit做一个可以用的发报机


Micro:bit 是英国广播公司(BBC)联合很多企业推出的一个微型可编程计算机,设计的初衷是为了让每个孩子都能零基础的接触计算机编程,不需要任何编程语言学习就可以直接上手,通过USB和电脑连接就行了。更多介绍可以看我们之前的这篇文章 用micro:bit做一个可以用的指南针


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


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


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

Step 1: 材料和工具清单

微信图片_20171109134933.jpg

  • Micro:bit主控板

  • 数据线

  • Makecode在线网站 https://makecode.microbit.org

  • 3D打印机及耗材

Step 2: 写程序

QQ截图20171123140235.jpg

写程序:

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


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


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


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


点信号在屏幕上显示竖线,划信号显示横线

Step 3: 后续完善

QQ截图20171123140411.jpg QQ截图20171123140359.jpg QQ截图20171123140350.jpg

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


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



最后附上python源代码和修改调整后的stl模型文件(见附件,源代码zip是目前后缀为dxf的文件,将dxf后缀去掉),可以使用mu编辑器(https://codewith.mu/)来编译。



石斧(Handaxe)可能是人类最早制造出的工具。从石器木棒到3D打印,让我们像祖先一样愉快地造点东西。

 

作者

Handaxe_Maker

北京,海淀

3粉丝 7作品 0随笔
  关注 私信


阅读数: 1118