乐高java解魔方_【图片】乐高CubeSpinner解魔方成功_乐高吧_百度贴吧

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1. 搭建

用LDD打开release/CubeSpinner.lxf,照图搭之!这个魔方机器人的大多数零件来自EV3套件,你只需要再准备白色和黄色的圆砖(当然颜色随意,白色和黄色会比较友好)。 第二个颜色传感器(连接到4端口)是可选的,加上它可以使扫描时间缩短4秒。 因为LDD搞不定皮筋,所以请大家参照视频用皮筋拉紧两个手臂使棘轮结构能够正常工作

2.准备一个魔方

你需要一个竞速魔方,色块有倒角会更顺滑,你还可以方便地取掉中心帽来调节螺丝。我使用的是“速度魔方极限II版”(Speed Cube Ultimate II)。 你需要对魔方进行一下改造,用两个LEGO 2x2 板替换中心帽,凸点向外。要让你的魔方拥有视频里的那种魔力,你只需要把LEGO板用锉锉掉一点点边角,使它能够适合魔方块的形状。我选择把板粘上去,这样更耐用,如果你不想永久破坏原来的魔方也可以选择不粘。 魔方的配色方案必须遵循带有贴纸/板材的标准红宝石魔方和黑色背景。

3.安装软件

你需要在EV3主机上创建一个工程目录,一个简单的方法是利用EV3-g上传“launcher/CubeSpinner.ev3”自动建立这个目录,然后下载“release/CubeSpinner.rbf”和“spinnermain.rbf”到这个目录。 也可以用如下步骤: a.将主机连接到电脑 b.启动EV3-g c.新建一个新项目“CubeSpinner”,它将只包含开始模块 d.下载到主机,主机上就有文件夹“CubeSpinner”了,里面有一个程序文件 e.启动内存浏览器。这将显示“CubeSpinner”文件夹和内容 f.删除CubeSpinner文件夹中的程序文件 g.选择“CubeSpinner”文件夹,并使用“下载”功能将“release/CubeSpinner.rbf”和“spinnermain.rbf”文件下载到主机。

3.操作魔方机器人

在启动程序之前,请确认所有的电机臂对齐。两个大型电机带动的红色3M跨接块对齐的时候,你可以用手指感觉到它跟黑色11M梁过渡地地方是光滑的。红色3M跨接块应该能顺时针和逆时针转动动相同的角度。同样,你可以将中型电机带动的旋转结构与离中型电机最近的红色11M梁对齐。程序运行后,就不能对齐了。 从项目“CubeSpinner”启动“CubeSpinner”。主机的中心按钮已经用7M梁转到侧面,往下按7M梁即可。启动后,程序会用大概1分40秒的时间来创建一些大型数据表。完成之后颜色传感器的灯变白,就可以放魔方了。

打乱魔方,插入正确的方向:白色中心块必须在左边,黄色中心块必须在右边(按机器人上的两个圆砖的颜色放),橙色中心块必须在上面。

按中心按钮开始运行。

如果你只连接了一个颜色传感器,机器人将直接还原魔方(如果没有出错)。 如果你用了两个颜色传感器,首次运行只能校准颜色传感器,并且进行一些看似杂乱的步骤,然后魔方会回到刚放进去的状态。再次按中心按钮,机器人才还原魔方。每次启动程序后都需要进行这样的校准步骤。

每次成功还原之后,你可以在显示屏上看到一些信息:所用的时间和解决的步数。

4.故障排除

这个机器人的结构和程序是用9V电源开发和测试的(一些直流电源适配器或不可充电电池)。我试过7.2V(可充电电池)也似乎工作正常,就是电机转得慢一点。如果你遇到设置的问题,请联系我

颜色传感器在昏暗的灯光下效果最佳,太亮的灯光尤其是新式LED灯会对颜色传感器造成真正的麻烦。如果扫描程序无法获得合理的颜色组合

楼主注 LDD是乐高虚拟积木,下载处http://ldd.lego.com/en-us/download/

fd80de3665992856c4f4764d7474583c.gif度娘别删,我不是打广告的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要编写一个 Python 乐高 EV3 魔方机器人的代码,需要用到 EV3 Python 库和 Rubik 库。以下是一个简单的示例代码: ```python from rubik.cube import Cube from rubik.solve import CFOPSolver from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D from ev3dev2.sensor.lego import TouchSensor from ev3dev2.sound import Sound # 创建 EV3 对象 sound = Sound() motor_up = LargeMotor(OUTPUT_A) motor_down = LargeMotor(OUTPUT_B) motor_left = LargeMotor(OUTPUT_C) motor_right = LargeMotor(OUTPUT_D) touch_sensor = TouchSensor() # 创建魔方对象 cube = Cube() # 打乱魔方 cube.randomize() # 创建 CFOP 求器对象 solver = CFOPSolver() # 求魔方 solution = solver.solve(cube) # 启动魔方机器人 sound.beep() # 发出蜂鸣声,提示用户准备好了 for step in solution: # 操作机器人 if step == 'U': motor_up.on_for_degrees(50, 90) elif step == 'D': motor_down.on_for_degrees(50, 90) elif step == 'L': motor_left.on_for_degrees(50, 90) elif step == 'R': motor_right.on_for_degrees(50, 90) # 等待用户按下触摸传感器,开始下一步操作 while not touch_sensor.is_pressed: pass while touch_sensor.is_pressed: pass ``` 在这个示例代码中,我们使用 EV3 Python 库控制 EV3 机器人,使用 Rubik 库求魔方。在每个步骤中,我们根据求器返回的法步骤控制 EV3 机器人的电机来操作魔方。每个步骤结束后,我们等待用户按下触摸传感器,然后再进行下一步操作。 需要注意的是,这个示例代码只是一个简单的示例,实际上编写一个完整的乐高 EV3 魔方机器人需要考虑很多细节和异常情况,比如如何处理电机停止时的位置、如何处理触摸传感器的误触等等。编写一个稳定可靠的乐高 EV3 魔方机器人需要一定的技术和经验,并需要进行多次实验和测试来验证其正确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值