赞
踩
因为每次运行都是串口已经打开了,不知道是不是树莓派的串口自动打开,于是把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); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。