I'm trying to send 3 ints in the range of 0-180 from Python to the Arduino Uno device using pySerial (py3K). I have managed to send 1 int by using python's struct lib (not sure if it's the best or fastest way but it works). However I'm failing to send more than 1 and every example online seems to stop at 1.
Here's the simplified code. The task is to send servo0-servo4 to the arduino and apply those values to the corresponding servos.
Python Code
import serial
import struct
import time
bge.arduino = serial.Serial('/dev/ttyACM0', 9600)
# let it initialize
time.sleep(2)
# send the first int in binary format
bge.arduino.write(struct.pack('>B', 45))
Arduino code
#include <Servo.h>
Servo servo0;
Servo servo1;
Servo servo2;
void setup(){
Serial.begin(9600);
servo0.attach(3);
servo1.attach(5);
servo2.attach(6);
}
void loop(){
if(Serial.available()){
int message = Serial.read();
// control the servo
servo0.write(message);
}
}