Python Raspberry pi 4通过usb串行传输至arduino,用于机器人车

Python Raspberry pi 4通过usb串行传输至arduino,用于机器人车,python,c++,arduino,raspberry-pi,Python,C++,Arduino,Raspberry Pi,我试图用一个带摄像头的覆盆子Pi、Arduino和l298n马达驱动器为一辆直线跟随车编码。我正在尝试让树莓Pi与Arduino使用USB串行通信,我有点挣扎 以下是我为Arduino提供的代码: #定义leftEnable 6//EnA #定义leftReverse 8//IN1 #定义leftForward 9//IN2 #定义rightEnable 5//EnB #定义rightReverse 11//IN4 #定义rightForward 10//IN3 void setup(){//将

我试图用一个带摄像头的覆盆子Pi、Arduino和l298n马达驱动器为一辆直线跟随车编码。我正在尝试让树莓Pi与Arduino使用USB串行通信,我有点挣扎

以下是我为Arduino提供的代码:

#定义leftEnable 6//EnA
#定义leftReverse 8//IN1
#定义leftForward 9//IN2
#定义rightEnable 5//EnB
#定义rightReverse 11//IN4
#定义rightForward 10//IN3
void setup(){//将设置代码放在此处,以便运行一次:
pinMode(leftEnable,输出);
pinMode(右启用,输出);
pinMode(左反转,输出);
pinMode(右反转,输出);
pinMode(左前,输出);
pinMode(右前向,输出);
//仅为前进方向配置
数字写入(左反转,低);
数字写入(右反转,低);
数字写入(左前、高);
数字写入(右前向,高);
}
void loop(){//将主代码放在此处,以便重复运行:
模拟写入(leftEnable,255);
模拟写入(rightEnable,255);
延迟(1000);
//慢下来
模拟写入(leftEnable,200);
模拟写入(rightEnable,200);
延迟(1000);
//停止
模拟写入(leftEnable,0);
模拟写入(rightEnable,0);
延迟(2000年);
//右转
模拟写入(leftEnable,255);
模拟写入(rightEnable,0);
延迟(1000);
模拟写入(leftEnable,0);
模拟写入(rightEnable,255);
延迟(1000);
}
至于覆盆子:

导入序列号
导入时间
将numpy作为np导入
进口cv2
从picamera进口picamera
使用PiCamera()作为src:
src.resolution=(640480)
src.framerate=20
src.shutter_速度=75000
输出=np.empty((480640,3),数据类型=np.uint8)
虽然(正确):
开始时间=time.time()
src.capture(输出,格式='bgr',使用\u video\u port=True)
灰色=cv2.CVT颜色(输出,cv2.COLOR\u BGR2GRAY)
灰色[灰色<50]=0
灰色[灰色>50]=255
顶部中心=np.平均值(np.式中(灰色[0]==0))
底部\中心=np.平均值(np.式中(灰色[-1]==0))
如果顶部中心-底部中心>25:
打印(“右转”)

elif top_center-bottom_center两端缺少串口命令。 在raspberry pi上像这样向串行端口发送命令

ser = serial.Serial()
ser.baudrate = 19200
ser.port = '/dev/ttyACM0'
ser.write(b'L') # send codes like 'L' for left,;'R' for Right
像这样阅读arduino上的命令

void setup() {
  // initialize serial:
  Serial.begin(19200);
}

void loop() {
  while (Serial.available() > 0) {
    if (Serial.read() == 'L'){
      // write code for left turn
    }
  }
}

提示:删除所有无关的空行。这会让你的代码滚动,让人很难理解。“我有点挣扎”不是问题。你在挣扎什么?代码在做什么?您希望代码做什么?请阅读这些页面并采取适当的措施,看看如何为这个网站写一个好的问题。