2022-11-19 20:56:03 [显示全部楼层]
1385浏览
查看: 1385|回复: 4

[教程] MicroBlocks 编程案例: 正中靶心!

[复制链接]
本帖最后由 种瓜 于 2022-11-19 21:00 编辑

历史人物胡乱射出一箭, 历史学家在箭的落点画个圈说: 看!他正中靶心!
原文地址:  MicroBlocks 编程案例: 正中靶心! (编辑文章是遇到一些问题,建议阅读原文)


MicroBlocks 中文主页
前言
@leeyve 最近买了两个机器人,问我能否接管它们,使其可编程。我拿来玩了会儿,十分喜欢,于是便着手试着用蓝牙接管它们。
蓝牙黑客的工作主要集中在处理 bytes,只要愿意投入时间,总是可以弄懂传输的信息,更何况身后有伟大的开源社区。
在汇景上课,课间十分钟,完成了第一次控制。
以下是接管之后,在 Python 里对其编程的小例子(近期我们也会将其接入 Scratch)

视频:

https://adapter.codelab.club/video/93a6505c3c8ea33485381eb852abda.mp4

https://adapter.codelab.club/video/8c0bfc6508a66d2e5c2ea588bd3dab.mp4

然而,我们今天并不打算讨论蓝牙黑客的技巧,玩一些更有趣的东西。
ps: 如果你对蓝牙黑客感兴趣, 可能会喜欢 btlejack

猜想与反驳
知识,特别是我们的科学知识,是通过未经证明的(和不可证明的)预言,通过猜测,通过对我们问题的尝试性解决,通过猜想而进步的。 – 波普尔《猜想与反驳》
在瞎折腾的过程中,我们发现这两机器人有一种对战模式: 当用户驾驶机器人对战时,如果按下发射按钮,击中对方,另一个机器人会被击败。
机器人并没有真的发出的子弹,另一个机器人如何知道被击中呢? 我猜测,机器人身上带有红外发射器和红外接收器。
猜想的具体内容是: 红外基本沿直线传播,如果一个机器人的红外发射器发出红外线,正好被另一个机器人的红外接收器收到,就产生了 “击中” 事件。
验证
我想验证这个想法,于是找来 micro:bit, 翻箱倒柜,从 CodeLab 旧物箱里找到 m5stack 的红外传感器:
在旧物箱里又找到一个不知哪个公司的红外遥控器:
我将红外传感器接到 micro:bit 里,之前没有对红外设备进行编程的经验,但因为有 Microblocks,信心十足,感觉可以搞定它,因为 Microblocks 是一个放大你心智力量的编程环境,对探索和理解事物提醒了绝佳支持。
我将 m5stack 的红外传感器(IN pin)连到 micro:bit 1 号引脚,通过使用 Microblocks 内置的 IR Remote (在 积木库/Other 分类里):
现在,可以实时观察到接受自红外遥控器的信号。
挫折
对我们猜想的批判极为重要:通过指出我们的错误,使我们理解我们正试图解决的那个问题的困难。就这样我们越来越熟悉我们的问题,并可能提出越来越成熟的解决:对一个理论的反驳——即对问题的任何认真的尝试性解决的反驳——始终是使我们接近真理的前进的一步 – 波普尔《猜想与反驳》
我开心地跑到隔壁办公室准备拿小黄人机器人试试。
@leeyve 和 @leon 正在折腾它,我让他们操控机器人朝我的红外接收器发射,结果一无所获,我们的猜想似乎被实验反驳了。
我猜想,有两种可能:
  • 机器人对战根本不是基于红外线
  • 机器人确实发射了红外线,但目前 Microblocks 插件对红外的解码机制与机器人发射红外时的编码机制不同,所以无法得到有意义的内容。
如何验证「猜想 2」呢?我需要拆开红外积木,看看它是如何处理红外信号的,和大多数积木化平台不同, Microblocks 对于深入理解事物的机制,提供了绝佳的支持,你可以在其中自由探索。
于是我打开积木的定义:
通过查看积木定义,大致了解了其工作原理。回到我们的 「猜想 2」:
2 机器人确实发射了红外线,但目前 Microblocks 插件对红外的解码机制与机器人发射红外时的编码机制不同,所以无法得到有意义的内容。
为了绕开红外的解码机制,我打算直接使用定义里看到的 读取数字引脚。 如果小黄人确实发射红外,那么我们就会收到红外,并显示被枪击中(用于实时调试)。
可行!
这段代码对我们就够用了,因为我们并不关心红外信号里的内容,所以不必去解码红外信号,只关心是否有被红外射中(检测 有/无红外线 射过来)。


帖子字数受限,建议阅读 原文:  MicroBlocks 编程案例: 正中靶心!



三春牛-创客  初级技神

发表于 2023-8-9 09:30:02

厉害厉害
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-8-9 09:31:04

不错不错!
回复

使用道具 举报

星辰之子  中级技师

发表于 2023-8-31 13:57:04

厉害厉害
回复

使用道具 举报

星某小号  见习技师 来自手机

发表于 2023-9-1 17:48:56

666666!!!
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail