如何将 python 与 Mac 上的 Arduino Uno 的串行输出接口?

How can I interface python with the serial output from an Arduino Uno on a Mac?

我正在尝试结合我的 Arduino 和 mac 来制作乐器。到目前为止,我已将此编程到我的 Arduino 中:

void setup() {
  Serial.begin(9600);

  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);
  pinMode(11, INPUT);
}

void loop() {

  for (int var = 2; var <= 11; var++) {
     if (digitalRead(var) == HIGH) {
       Serial.println(var);
     }
  }
  delay(1);
}

它基本上是 returns 建立连接时基于哪个引脚建立连接的数字。我真的希望能够将这些数据读取到 python 中,这样我就可以播放声音等等。请记住,我有一个 mac。我尝试下载 pyserial 到没有 avail.I 有 python 3.4.3(这可以更改)

如果您已成功安装,接口将非常简单pyserial. The Arduino Playground 为您提供了如何通过 pyserial 向 arduino 读取和写入数据的示例。

阅读

>>> import serial
>>> ser = serial.Serial('/dev/tty.usbserial', 9600)
>>> while True:
...     print ser.readline()
'1 Hello world!\r\n'
'2 Hello world!\r\n'
'3 Hello world!\r\n'

写入

>>> import serial # if you have not already done so
>>> ser = serial.Serial('/dev/tty.usbserial', 9600)
>>> ser.write('5')

为Python3.x

>>> ser.write(b'5') # prefix b is required for Python 3.x, optional for Python 2.x