【问题标题】:Raspberry send data via serial USB to Arduino PythonRaspberry 通过串行 USB 向 Arduino Python 发送数据
【发布时间】:2016-09-20 16:59:18
【问题描述】:

您好,我已经通过串行 USB 将我的覆盆子连接到 arduino,并且在 arduino 上有一个 LED,如果我在 python 的脚本中发送一个数字的字母,我想打开它

我已经用树莓派 Python 编写了这段代码:

import serial
ser=serial.Serial('/dev/ttyUSB0', 9600)
ser.write('3')

在我的 arduino 中,我加载了这个草图:

const int ledPin = 12;
int val;
void setup(){
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  if (Serial.available())  {
     val=Serial.read();
     if(vale==3)
       digitalWrite(ledpin, HIGH);
  }
  delay(500);
} 
}

当我用 rasp 编写脚本 py 时,我看到 led 没有打开,而是打开了 arduino 的板载 led。

我认为问题在于 ASCII 或整数等数据类型,但我不明白如何解决。 串口设备没问题,是USB0,arduino上的led管脚是对的 请帮帮我

【问题讨论】:

    标签: python serialization arduino


    【解决方案1】:

    if 语句有错别字,你放的是 vale 而不是 val。

    ser.write('3')
    

    将 3 作为字符串。所以在 if 语句中试试这个,

    if(val=='3')
    

    【讨论】:

    • 你是对的,但在我在 arduino 上的草图中,val 没问题,只是我错了。
    • @MassimoMezzina 如果它不起作用将 time.sleep(5) 放在 ser.write('3') 之前,通常会发生 arduino 需要时间来打开端口,因此输入被丢弃arduino。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多