With this project we're interfacing Python and Arduino over serial.
The first try was to control a LED from the keyboard.
First, the Arduino part, that read on serial :
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
Serial.begin(57600);
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
if(Serial.available() >= 1){
if (byte(Serial.read())==0) {
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
}
else {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
}
}
}
Then, the Python part, that read from keyboard and write to serial :
# -*- coding: utf-8 -*-
import serial
# Setup the Serial Object
ser = serial.Serial()
# Set the Serial Port to use
ser.setPort("/dev/ttyACM0")
# Set the Baudrate (Arduino Sketch is expecting 57600 for smooth transitions in the GUI)
ser.baudrate = 57600
# Open the Serial Connection
ser.open()
loopVar = True
import time
i = 0
if (ser.isOpen()):
# Start a main loop
while (loopVar):
i += 1
car = raw_input("Entrer un car ")
if car == 'a' :
print 'allume'
ser.write('a')
elif car == 'q' :
break
else :
print 'éteint'
ser.write('\0')
ser.close()