Raspberry Pi与Arduino, 通过USB连接
- categories
- >
- Microcomputer
- >
- Pi
写在前面
通过 USB 串行端口连接树莓派和 Arduino,实现树莓派控制 Arduino
参考
KNEXnCoding: Connect Your Raspberry Pi and Arduino Uno!🔗
环境
Raspberry Pi 2
Arduino UNO
关于 Arduino
将代码上传到 Arduino
int led_red = 3; // 三号引脚为红色LED
int led_green = 4; // 三号引脚为绿色LED
int led_yellow = 5; // 三号引脚为黄色LED
char cmd; // 从Raspberry Pi接收指令
void setup() {
Serial.begin(9600); // 通信串口频段
pinMode(led_red, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_yellow, OUTPUT);
}
void loop() {
readInfo();
}
void readInfo(){
if(Serial.available()){ // 获取指令
cmd = Serial.read();
// 根据指令执行相应操作
switch(cmd){
case 'r':
light(led_red);
break;
case 'g':
light(led_green);
break;
case 'y':
light(led_yellow);
break;
}
}
}
void light(int led){
// 点亮1秒
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
}
关于 Raspberry Pi
- 连接 Arduino
# 查看串口
ls /dev/tty*
如何检测你的串口: 我的方法:
未连接 Arduino,执行ls /dev/tty*
连接 Arduino,执行ls /dev/tty*
多出来的就是 Arduino 串口
我的是ttyACM1
- 执行命令
启动 python 解释器
# 导入serial包
import serial
# 连接/dev/ttyACM1处设备,频段为9600
ser = serial.Serial("/dev/ttyACM1", 9600)
ser.write(str.encode('r')) # 开启红灯
ser.write(str.encode('g')) # 开启绿灯
ser.write(str.encode('y')) # 开启黄灯
总结
个人感觉就是 Linux 串口操作
使用 python,通过库的使用使操作变得非常简单
comment:
- Valine
- LiveRe
- ChangYan