电子说
步骤1:对Ardunio进行编程
首先,我们将在Ardunio上编写一个简单的测试程序。该测试程序(附带)非常简单,但是通过pin13 LED提供了一些视觉反馈,因此我们知道它正在工作。此示例程序使用了一个串行读取功能,该功能最多支持20个字符串,因此它不仅仅可以用于测试。
基本逻辑是:
-在setup()中,打开LED等待2秒钟,这会给我们一些警告,以防尚未准备好串行数据。
-在串行端口上写一个“ A”
-打开LED持续0.2秒钟
-读取串行端口,如果它读到“ A”,请打开LED 1秒钟。
以您惯用的任何方法对Arduino进行编程。编程并打开电源后,LED应该每秒闪烁约5次。
第2步:对BeagleBone编程
名为PyBBIO的工具包。它为python添加了一个非常类似于Arduino/Wiring的框架,但仍然可以让您轻松使用所需的任何python库和功能。 github页面上有一些很好的说明,尽管如果您使用的不是Angstrom发行版,则python包名称可能会有所不同。
我只是按原样使用PyBBIO串行回显示例,它只接收Serial2接收的任何内容,将其打印并发送回去。这应该给我们的Arduino程序发回它发送的“ A”,这将使其打开LED 1秒钟。如果有任何不良的接线或外部噪声破坏信号,则Arduino不会看到“ A”。
您还可以使用所需的任何语言编写自己的串行回显脚本。
步骤3:全部连接!
Sparkfun电平转换器具有低压侧和高压侧,并支持2个通道数据的。一个简单的分压器将无法工作,因为它不是双向的,我们需要将3.3v TX数据在Arduino上提高到5V。我们将仅使用一个渠道进行此演示。它需要从LV侧的BB 3.3v和HV侧的Arduino 5V供电。 BB和Arduino之间也需要建立公共的地线连接,否则数据可能会在线路上损坏。我将面包板的蓝色导轨用作公共接地,并且两个导轨都连接在一起。我在两个红色电源轨上也都有5V电压,因为最小的Arduino需要它。
我包括了Fritzing,显示了普通Arduino的状态。
首先关闭所有电源,以防万一。 》首先,让电平转换器通电:
-将两个GND引脚接地,
-将HV引脚连接到面包板5V导轨
-LV引脚将连接到BB稍后,
下一步,将BeagleBone连接:
-P9引脚1(GND)到面包板接地轨
-P9引脚3(3.3v)到电平转换器LV引脚
-P9引脚21(将Serial2 TX)接到电平转换器低侧TX引脚之一(TXI)-P9引脚22(Serial2 RX)接到电平转换器低侧RX引脚之一(RXO)-在照片中,忽略电线连接到Arduno的重置引脚,供以后的Instructible使用。
最后,连接Ardunio。我们正在PC领域制造所谓的“零调制解调器电缆”。 BB的TX数据需要最终在Arduino的RX引脚上:
-D0(RX)至电平转换器高端TX引脚(TXO)。
-D1(TX)到电平转换器高端RX引脚(RXI)
-引脚13上的LED像往常一样
注意:如果您有3.3V Arduino,则可以连接BB和Ardunio注意:我发现,如果RX和TX线像这样相互缠绕在一起,通信将更加可靠。扭曲会减少EMF干扰。
打开Arduino的电源,LED应该像以前一样开始闪烁。
启动BB并进入下一步
步骤4:就这样
现在,打开一个终端(ssh,usb串行或本地GUI)并找到serial_echo.py脚本并使用python运行它。
您应该看到收到“ A”,Arduino应该更改为短眨眼-长眨眼模式。如果不是这样,则说明布线有些问题。确保RX和TX正确,如果向后倾斜则不会造成任何伤害,只是不要在任何地方将Ardunio的5V和BeagleBone骨骼直接连接在一起,因为这会损坏BeagleBone。在本演示中,只能直接连接GND。
下一步是什么?
创建一个框架来回获取您的数据!如果您是从头开始工作,则Ardunio SerCommand库非常易于使用。
检查我的后续Instructible,它将使用该复位线从BeageBone对Ardunio进行编程!在笨拙的安装中不再需要拉芯片或连接FTDI。
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !