Step 6:树莓派与伺服驱动器的连接
树莓派可用于直接驱动伺服系统,但是这需要花些功夫。有一个专用的PWM通道,但我们需要4根导线。因为在软件中可以虚拟,但是,这不是简单的事情。作为一台电脑,树莓派在高层级的处理比低级别的控制好多了。这一步你当然可以使用任何PWM驱动器,但我用这16通道,12位驱动程序的形式Adafruit。是的,这有点过了,这是很容易编程的ATTIny24操作4舵机通过 I2C总线通信。可以创建你自己的,但可能会超出了本指南的范围。
网上很多教程可以帮助你使用这款主板,您将需要一些额外的源代码文件。这些都可以在源代码库的命名文件为“Adafruit”的目录中找到 -。。。。。。”它将会告诉数树莓派如何与PWM驱动器通信。
连接树莓派的板很容易。在树莓派I2C线路上发现插针3和5,但这样的情况下也需要打开I2C通信信道,记得查看。一个重要的输入引脚被标为“OE”,即低电平有效“输出使能”引脚,当此引脚保持低电平伺服系统才会启用,它可以直接连接到地,或者驱动另一个端IO引脚。在这个项目中,实际上也是从ATMEGA328P矩阵驱动电路也采用I2C数据线连接到R派。
在该图中,伺服附着到通道1 PWM驱动的。在项目中,设置像这样的舵机:
Step 7:近观servo.py
Python代码来控制舵机是非常简单的,只要你理解了Python。就个人而言,我没有很喜欢这种语言,但是这是题外话,您可以在GitHub上查看servo.py文件的这个副本。
就像在Java代码中,你需要把你的个人PubNub发布,在这里订阅键,以及通信信道的名称。
该树莓派会做引导执行以下操作:
1.复位AVR矩阵驱动电路。
2.初始化PubNub与你的钥匙。
3.订阅PubNub通道“leap2pi”。
4.永远循环下去,检查输出模式切换(一分钟内多次检查)。
在系统底层,在PubNub库处理所有的工作。这其会调用完成所有的操作,我们只需要指定一些回调 ---- 这是指当事件发生而需要调用的函数。
关于连接回调应该是显而易见的(连接,重新连接,等等),但一个没有将大部分工作是适当命名的“回调”的回调。这个函数实际上在做从订阅频道接收消息这些事。如上所述,该箱具有一对连接到几IO线的滑动开关选择的输出模式。
•镜像 - 机器人将反映你的动作;因此,你的左手反向控制权机器人
•禁用 - 伺服系统会停止响应
•克隆 - 的机器人会克隆你的动作;因此,你的左手直接控制左机器人
这些模式的逻辑还有I2C驱动报表中的回调函数来处理。
值得注意此文件中的唯一项目就是利用GPIO引脚4作为输出。该引脚驱动MOSFET,连接蓝光LED地面阵列的大门。该引脚使能PubNub连接上,这样的LED作为连接指示灯,这是一个无头的设置的一个非常重要的方面 ---- 需要有一些现象表明我们成功地连接到互联网!
评 论
请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。
正在加载评论...