manual de programación arduina Manual+Programacion+Arduino | Page 58
Arduino: Manual de Programación
Envío a petición (toma y dame)
Cuando se envía más de un dato del Arduino a otro sistema es necesario implementar
reglas de comunicación adicionales para poder distinguir a que dato corresponde cada
uno de los paquetes de bytes recibidos. Una manera simple y eficiente de hacer esto es
jugando al “toma y dame”. Arduino no enviará los valores de los sensores hasta que
Processing no le envíe también un valor por el puerto serial y Processing, a su vez, no
enviara ese valor hasta no tener los datos que espera completos.
Este sería el código para Arduino usando tres potenciómetros en los últimos tres pines
analógicos del ATmega:
Codigo para cargar en la tarjeta Arduino desde el IDE Arduino
int pot1= 0;
int pot2= 0;
int pot3= 0;
int inByte = 0;
// valores de los sensores analógicos
// valor entrante de Processing
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0) { // sólo si algo ha llegado
inByte = Serial.read(); // lo lee
// hace la lectura de los sensores en pines 3,4y5 (análogos)
pot1 = analogRead(3)/4;
pot2 = analogRead(4)/4;
pot3 = analogRead(5)/4;
58