使用 Arduino 作为 Python 程序的输出

Using Arduino as output for Python progam

我正在尝试使用 python 通过 USB 控制 Arduino 输出。 基本上如果 python 中的值 x 为 5,则数字输出 5 应该为高。

我在

上想象的是这样的

Python 边:

import serial
import time


ser = serial.Serial('/dev/ttyACM0', 9600)

x=5

while True:
    ser.write('x')

Arduino:

void setup(){
  Serial.begin(9600);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);

}

void loop()
{
int out;

out = Serial.read();

if (out == 5){
  digitalWrite(5, HIGH);

}

我离题了吗?

python 的一项改进:

x='5'

while True:
    ser.write(x)

现在,你得到的是“5”,而不是 'x'。

和arduino代码:

void setup() {
  Serial.begin(9600);
  for(char i=0;i<10;i++)
      pinMode(i, OUTPUT);
}

void loop() {
    ;
}

void serialEvent() {
  if (Serial.available()) {
    char inChar = (char)Serial.read(); 
    inChar-='0';
    for(char i=0;i<10;i++)
      digitalWrite(i, LOW);
    digitalWrite(inChar,HIGH);
  }
}