python串口

因为每次运行都是串口已经打开了,不知道是不是树莓派的串口自动打开,于是把ser.open()注释了

#!/usr/bin/env python
import serial
import time

def main():
	ser = serial.Serial("/dev/ttyACM0",9600,timeout=0.5) #树莓派连接arduino的串口
	print(ser.name)
	print(ser.port)
	#ser.open()	

	while True:
		a = input('''please input control command:
1 led->high
2 led->low
''')
		if (a==1):
			ser.write("1")
		if (a==2):
			ser.write("2")
		time.sleep(2)
		data = ser.readline()
		print(data)
	#ser.close()
		
if __name__ == '__main__':
	main()

arduino代码:Arduino 的输出基本就用两个函数 print 和 println,区别在于后者比前者多了回车换行

int val;
int ledpin=13;
  
void setup()  
{  
  Serial.begin(9600);
  pinMode(ledpin,OUTPUT);
}  
  
void loop()  
{  
  val=Serial.read();
  if(val=='1')
  {
    digitalWrite(ledpin,HIGH);
    Serial.println("led light");
    delay(500);      
  } 
  if(val=='2')
  {
    digitalWrite(ledpin,LOW);
    Serial.println("led dark");
    delay(500);      
  } 

你可能感兴趣的:(python,arduino)