怎样将Arduino连接到树莓派并命令闪烁LED

电子说

1.2w人已加入

描述

在本教程中,我们将Arduino连接到Raspberry Pi并让Arduino将“Hello from Arduino”发送到Raspberry Pi,Raspberry Pi会在收到Arduino的命令后闪烁LED 。

为了进行通信,我们将使用USB电缆进行串行通信。

所以,让我们开始吧!

将LED连接到引脚编号11,如下图所示。

打开Raspberry Pi并打开Python 3 in一个新窗口。

在新窗口中编写以下代码并保存。 (保存到桌面,这样就不会丢失它。)

import serial

import RPi.GPIO as GPIO

import time

ser=serial.Serial(“/dev/ttyACM0”,9600) #change ACM number as found from ls /dev/tty/ACM*

ser.baudrate=9600

def blink(pin):

GPIO.output(pin,GPIO.HIGH)

time.sleep(1)

GPIO.output(pin,GPIO.LOW)

time.sleep(1)

return

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.OUT)

while True:

read_ser=ser.readline()

print(read_ser)

if(read_ser==“Hello From Arduino!”):

blink(11)

现在打开Arduino IDE并将以下代码上传到您的Arduino。

String data=“Hello From Arduino!”;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

}

void loop() {

// put your main code here, to run repeatedly:

Serial.println(data);//data that is being Sent

delay(200);

}

确保代码上传到Arduino。

在Raspberry Pi界面中,请务必在PiConfig中启用串行和I2C。

接下来,您需要重新启动Raspberry Pi。打开终端并执行以下命令:

sudo apt-get install python-serial

sudo pip install pyserial

将Arduino连接到Raspberry Pi。

执行。

ls /dev/tty*

然后找到一行/dev/ttyACM0 或类似/dev/ttyACM1 等(检查任何数字为0,1,2的ACM等)

再次打开Python并更改 ser = serial.Serial (“dev/ttyACM1”,9600)到您找到的ACM号码。所以,如果在你的情况下你有 ACM0 ,那么这行应该是这样的: ser = serial.Serial(“dev/ttyACM0”,9600)

现在运行您在Python3中创建的程序。您将在Python终端中看到“Hello From Arduino!”,您的LED也应该闪烁!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分