首页 > 解决方案 > Python/arduino 串行通信问题

问题描述

我试图用串口点亮我的 Arduino nano 上的一个 LED。它适用于 IDE 中的串行监视器。当我使用我的 python 代码时,它会亮起并立即关闭。

Arduino代码:

int ledPin = 13;

void setup()
{
  //Create Serial Object
  Serial.begin(9600);
  Serial.println("<Arduino is ready>");
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  //Have the arduino wait to receive input
  while (Serial.available() == 0);
 // while (Serial.available());
  //Read the Input
  int val = Serial.read(); - '0';
  Serial.println(val);
  if (val == 1) 
  {
    Serial.println("Led is On"); 
    digitalWrite(ledPin, HIGH);
  }
  else if (val == 0)
  {
    Serial.println("Led is Off");
    digitalWrite(ledPin, LOW);
  }
  else
  {
    Serial.println("Invalid!");
  }
  Serial.flush();

} 

Python代码:

import serial

ser = serial.Serial('/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0', 9600)
print(ser.name)
ser.write([1])
ser.close()

标签: pythonarduinoserial-portcommunicationpyserial

解决方案


推荐阅读