无法使用pyserial在arduino和python之间进行通信

时间:2019-04-24 08:39:01

标签: python arduino pyserial

我已经在arduino上启动了一个项目,在该项目中我需要它与python进行通信。我浏览了Web,并在arduino python串行通信中找到了一个示例代码,当输入1时,它会点亮LED。 python和arduino代码都可以使用,但是LED指示灯不亮。 自从我尝试了其他基本示例以来,该板就可以正常工作

Arduino代码:

  void setup() 
   {
      pinMode(12,OUTPUT);
     digitalWrite(12,LOW);  
     Serial.begin(9600);
 }

  void loop() 
 {
   if(Serial.available() > 0)
   {
     if(Serial.read() == 1)
     {
       digitalWrite(12,HIGH);
       delay(2000);
     }
   }  

     else
     {
       digitalWrite(12,LOW);
     }
     }

Python代码:

import serial
import time  # Required to use delay functions

arduinoSerialData = serial.Serial('/dev/ttyACM0', 9600)  # Create Serial port object called arduinoSerialData
time.sleep(2)  # wait for 2 secounds for the communication to get established


print ("Enter 1 to turn ON LED and 0 to turn OFF LED")

while 1:  # Do this forever

    var =input()  # get input from user
    var=var.encode()


    arduinoSerialData.write(var)

1 个答案:

答案 0 :(得分:0)

尝试一下

   if(Serial.available() > 0)
   {
     if((char)Serial.read() == '1')
     {
       digitalWrite(12,HIGH);
       delay(2000);
     }
   } 

并检查此awesome tutorial on arduino forum