Communicate with Arduino in Python programmatically
The previous post demonstrate "Talk with Arduino Due in Python Shell". It will be implement programmatically in module.
note:
Python code:
Arduino code:
Next:
- Control Arduino LED using Python with GUI
note:
- After open the port, the Arduino will reset. So I insert delay for 3 seconds after serial.Serial('/dev/ttyACM1', 9600).
- In my board, 115200 seem not too stable. I modify the baud rate to 9600.
Python code:
import serial
import time
# assign your port and speed
ser = serial.Serial('/dev/ttyACM1', 9600)
print("Reset Arduino")
time.sleep(3)
ser.write(bytes('L', 'UTF-8'))
print('Enter 1 to Turn Arduino LED ON')
print('Enter 0 to Turn Arduino LED OFF')
print('Enter Q/q to quit:')
char_in = ''
print(char_in)
while char_in not in ['Q', 'q']:
char_in = input()
if char_in == '0':
print("LED OFF")
ser.write(bytes('L', 'UTF-8'))
if char_in == '1':
print("LED ON")
ser.write(bytes('H', 'UTF-8'))
Arduino code:
int led = 13;
int incomingByte = 0;
void setup() {
pinMode(led, OUTPUT);
//Setup Serial Port with baud rate of 9600
Serial.begin(9600);
Serial.println("Press H to turn LED ON");
Serial.println("Press L to turn LED OFF");
}
void loop() {
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
if(incomingByte == 'H'){
digitalWrite(led, HIGH);
Serial.println("LED ON");
}else if(incomingByte == 'L'){
digitalWrite(led, LOW);
Serial.println("LED OFF");
}else{
Serial.println("invalid!");
}
}
}
Communicate with Arduino with Python programmatically |
Next:
- Control Arduino LED using Python with GUI
Comments
Post a Comment