Я пытаюсь написать программу, которая будет отправлять последовательные данные из Arduino в программу Python, запущенную на Raspberry Pi.Я столкнулся с проблемой при отправке чисел больше 9. Когда я отправляю число больше 9, программа python интерпретирует только первую цифру в числе.5 для 563, 9 для 9135, 4 для 43 и т. Д. Любая помощь в решении этой проблемы будет принята с благодарностью.Спасибо.
Код Arduino:
int First=2;
int buttonState=0;
int num = 0;
void setup()
{
Serial.begin(9600);
pinMode(First, INPUT);
}
void loop()
{
int buttonState=digitalRead(First);
if(buttonState==HIGH&&(num==1))
{
Serial.print(549);
num--;
delay(500);
buttonState = 0;
}
if(buttonState==HIGH&&(num==0))
{
Serial.print(74);
num++;
delay(500);
buttonState = 0;
}
if(buttonState==LOW)
{
//do nothing
}
}
Код Python:
import numpy
import cv2, glob
import sys
import os
import keyboard
import serial
from pynput.keyboard import Key, Controller
import time
keyboard = Controller()
ser=serial.Serial('/dev/ttyUSB3',9600)
while True:
command = ser.read()
if command:
ser.flushInput()
print("new command:", command)
if(int(command) == 74):
time.sleep(2)
keyboard.press(Key.space)
keyboard.release(Key.space)
В основном, проблема в том, что когда я нажимаю кнопку, 74 будет отправлено сArduino, но программа python распознает его только как 7. В результате только 7 выводит на экран.Есть ли способ заставить программу python распознавать все числа, а не только первую цифру?