.: HosiriS :.

Informatica e non solo

Interfacciare Arduino con il PC: pySerial

Posted by hosiris su aprile 11, 2011

Chi ha un minimo di dimestichezza con la programmazione di Arduino sa benissimo che è possibile avere una sorta di debug utilizzando la porta seriale per avere informazioni durante il funzionamento.
Ma questa porta ci permette anche di inviare comandi al controllore, facendo si che alcuni funzionalità possono essere implementate a livello software distogliendo l’attenzione dall’hardware (facile capire che il ponte H per la gestione dei motori è d’obbligo…).
Esistono varie possibilità di interfacciarsi tramite il PC (qui ho parlato di PHP), ma da poco ho scoperto che esiste una libreria che ci permette di scrivere una interfaccia tramite Python: PySerial.

Ipotizziamo di avere il seguente codice:

int ledPin = 13;
int inputPin = 2;
int val = 0;
 
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(inputPin, INPUT);
  Serial.begin(9600);
  Serial.print("Program Initiated\n");
}
 
void loop(){
  val = digitalRead(inputPin);
  if (val == HIGH) {
    digitalWrite(ledPin, HIGH);
    Serial.print("Ciao!\n");
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Banalmente ci aspettiamo un segnale sul pin 2, ad esempio la chiusura di un interruttore, e mostrerà un messaggio.
Passiamo adesso all’interfaccia. Dopo aver installato la libreria, possiamo scrivere la seguente routine:

import serial
 
location='/dev/ttyS0'
 
try:
  print "Trying...",location
  arduino = serial.Serial(location, 9600)
  break
except:
  print "Failed to connect on",location
 
try:
  print arduino.readline()
except:
  print "Failed to read!"

In questo modo, dopo l’esecuzione dello script, vedremo sul terminale apparire “Ciao!” ad ogni chiusura dell’interuttore.
Bello, no?

Buon divertimento

Una Risposta to “Interfacciare Arduino con il PC: pySerial”

  1. […] Continua a Leggere […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: