电子说
在本教程中,我们将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也应该闪烁!
全部0条评论
快来发表一下你的评论吧 !