你可能已经听说了,爪子游戏已经制作好,编写好程序,准备发货了来ASEE和ECEDHA.你一定听说过我用的那些零件,包括Basys 3.,PmodSTEP,PmodJSTK.但是,你没有听说的是引擎盖下面是什么…什么Basys 3.其实是在做控制爪子运动的游戏。好吧,这一切都会在适当的时候被揭露!
然而,首先我想谈谈最重要的部分之一,状态机。不久前我写了一个发布关于什么是状态机和状态图的帖子.如果你忘记了,请随时去看看,重新复习一下。
我喜欢使用FPGA的一个原因是因为,由于您正在编程硬件,一切都非常灵活,故意和快速。也是作为一个入门级板Basys 3.有大量可配置的I/O。如果你读过我的宣布爪子游戏完成的帖子,那么你就知道我几乎使用了所有的Pmod端口。
作为一种FPGA,有了这些特性以及大量的I/OBasys 3.适合使用状态机运行爪机。所以开始我画出一个州图。当然沿途改变,但最终看起来像这样。
我们从等待状态开始,爪子实际上是在等待某人开始游戏。这里电机无法启动,只有按下启动按钮才能离开这个状态。一旦按下按钮,它就进入开始状态。在这里,用户可以移动马达来定位爪。这可以在各个方向的状态中看到。如果操纵杆发出一个方向信号,它就会移动到这些状态之一,在那里它会启动相应的电机。
或者,如果按下下落爪按钮,它将进入下拉爪序列。首先,它打开爪,然后下降直到达到下限。然后它关闭了爪子,希望掌握奖品,然后在奖品拍摄中向上移动,然后向上移动,并打开爪子。
最后,掉落爪键和开始键的结果是一样的,因为它们不能从相同的状态被触发。现在,当我说这是最终状态图时,那是一个小谎言。的真的Tommy补充道,最终状态图包含了弹跳状态,以确保按钮和限制开关不会被弹跳触发。然而,这只会使状态图更加复杂,我将在后面的文章中介绍FPGA的退波。这只涵盖了基本的功能。

嗯,图表很有趣,但我相信你对实际部署的内容感兴趣Basys 3.,这就是状态机代码。
抓取机代码!
它太长了,不能添加为图片,而且博客不相信。v文件,所以它是一个文本文件!您可以在任何文本编辑器中查看它。
既然你已经看到了抓娃娃机的部分零件和大脑,请继续关注我们的博客Instructables集合对于其他部分。毕竟,大脑只是战斗的一部分,我们还必须找到一种方法,让它与Pmod端口的实际接口Basys 3.还有外面的世界。

我很高兴看到Basys 3充分发挥了它的潜力,可以作为一个童年噩梦的来源存在。
但我印象深刻,你幸存下来让爪子游戏 - 我看着“是爪子游戏的电子产品的疯狂”,房间开始旋转。你是怎么做到的?