使用Arduino作为Python程序的输出

时间:2015-01-11 05:24:43

标签: python arduino usb

我正在尝试通过USB使用python控制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);

}

我离开了吗?

1 个答案:

答案 0 :(得分:0)

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);
  }
}