domenica 22 gennaio 2012

Dati su seriale tra Arduino e PC con Python

Questo esempio e' in preparazione di uno scambio di dati tra telefono Android ed Arduino.
Partendo dal caso piu' semplice (ovvero PC + Arduino) si puo' caricare sulla Arduino il seguente sketch
che in sostanza accende il led sul pin 13 quanto trasmette la stringa "hello"
--------------------------------------------------------------------

void setup() {                
  Serial.begin(9600);
  pinMode(13, OUTPUT);     
}


void loop() {
  digitalWrite(13, HIGH);   
  delay(1000);              
  int bytesSent = Serial.write("hello\n");
  digitalWrite(13, LOW);    
  delay(1000);              


}

--------------------------------------------------------------------

il programma di lettura su PC (in Python) e' semplicemente, usando la libreria Pyserial
--------------------------------------------------------------------
import serial
arduino = serial.Serial('/dev/ttyUSB2', 9600)
i = 1
while (1):
print str(i) + ": " + arduino.readline()
i= i + 1
--------------------------------------------------------------------
il prossimo tentativo e' quello di far arrivare i dati direttamente ad Android mediante la modifica USB Host del Kernel ed un cavo USB OTG (On The Go)

Attenzione: il comando readline di Python richiede la lettura di una stringa terminata con un ritorno di new line, se la scheda trasmette sulla seriale ma non manda mai il newline il PC non intercetta mai la trasmissione

Nessun commento:

Posta un commento

Destriping FigSpec FS60-C

Il sensore FigSpec FS60-C mostra problemi di striping con bande non disturbate solo da 450 nm fino a 850 nm   Questo problema sembra derivar...