Graficos

Este ejemplo muestra cómo enviar un byte de datos desde el Arduino o Genuino a un ordenador personal y el gráfico el resultado. Esto se conoce como comunicación serie debido a que la conexión aparece tanto el puerto serie en tarjeta y en el ordenador, a pesar de que en realidad se puede utilizar un cable USB, un convertidor de serie a USB y un convertidor de USB a serie.
Usted puede utilizar el monitor serie del software de Arduino (IDE) para ver los datos enviados, o pueden ser leídos por Procesing (ver código de abajo), Flash, PD, Max / MSP, etc.

Hardware requerido

1 Placa Arduino o Genuino
1 Sensor analógico (potenciómetro, fotocélula, FSR, etc.)

Software necesario

Procesing o
Max / MSP versión 5

Circuito y Esquema
Conectar un potenciómetro u otro sensor analógico a la entrada analógica 0.



Código

/*
  Graph

 Un ejemplo sencillo de comunicación de la placa Arduino al ordenador:
el valor de la entrada analógica 0 se envía al puerto serie. A esto le llamamos
comunicación "serie" debido a que la conexión aparece tanto
en el Arduino como en el ordenador como un puerto serie, a pesar de
que puede utilizar realmente un cable USB. Los bytes se envían uno
tras otro (en serie) desde el Arduino al ordenador.

Puede utilizar el monitor serie de Arduino para ver los datos enviados, o
puede ser leído por Procesing, PD, Max / MSP, o cualquier otro programa capaz de leer datos de un puerto serie. El código de Procesing representa gráficamente los datos recibidos para que se pueda ver como el valor de la entrada analógica cambia con el tiempo.

Circuito:
Cualquier sensor de entrada analógica conectado al pin analógico 0.

creado 2006por David A. Mellis
modificación el 9 Abril 2012
por Tom Igoe y Scott Fitzgerald
Este código es de dominiopúblico.
http://www.arduino.cc/en/Tutorial/Graph* /


void setup() {
  // inicializa la comunicacion serie
  Serial.begin(9600);
}

void loop() {
  // envia el valor de la entrada analogica 0:
  Serial.println(analogRead(A0));
  // espera un momento para el convertidor de analógico a digital
  // se estabillice tras la ultima lectura
  delay(2);
}

/* Codigo de Processing para este ejemplo

 // Programa grafico


// Este programa toma cadenas codificada en ASCII
// desde el puerto serie a 9600 baudios y las hace graficos. Se espera que los valores en el
// rango de 0 a 1023, seguido por un salto de línea, o salto de línea y retorno de carro

// Creado el 20 Abril de 2005
// Actualizado el 24 Noviembre de 2015
// por Tom Igoe
// Este codigo es de dominio publico

import processing.serial.*;

Serial myPort;        // el puerto serie
int xPos = 1;         // posición horizontal del grafico
float inByte = 0;

void setup () {
  // ajusta el tamaño de la ventana:
  size(400, 300);

  // Lista todos los puertos dispònibles
  // Usando Processing 2.1 o posterior, use Serial.printArray()
  println(Serial.list());

  // Sé que el primer puerto en la lista de serie en mi mac
  // es siempre mi Arduino, por lo que se abre Serial.list()[0].
  // Abrir cualquier puerto que no este utilizando
  myPort = new Serial(this, Serial.list()[0], 9600);

  // no genera un serialEvent () a menos que obtenga un carácter de nueva línea:
  myPort.bufferUntil('\n');

  // pone el fondo inicial:
  background(0);
}
void draw () {
  // dbuja la linea:
  stroke(127, 34, 255);
  line(xPos, height, xPos, height - inByte);

  // en el borde de la pantalla, volver al principio:
  if (xPos >= width) {
    xPos = 0;
    background(0);
  } else {
    // incrementa la posicion horizontal:
    xPos++;
  }
}


void serialEvent (Serial myPort) {
  // obtiene la cadena ASCII :
  String inString = myPort.readStringUntil('\n');

  if (inString != null) {
    // Se quitan los espacios en blanco:
    inString = trim(inString);
    // convertir a un int y mapea a la altura de la pantalla:
    inByte = float(inString);
    println(inByte);
    inByte = map(inByte, 0, 1023, 0, height);
  }
}

*/


/* Parche Max/MSP v5 para este ejemplo
 ----------begin_max5_patcher----------
1591.3oc0YszbaaCD9r7uBL5RalQUAO3CvdyS5zVenWZxs5NcfHgjPCIfJIT
RTxj+6AOHkoTDooroUs0AQPR73a+1cwtK3WtZxzEpOwqlB9YveAlL4KWMYh6
Q1GLo99ISKXeJMmU451zTUQAWpmNy+NM+SZ2y+sR1l02JuU9t0hJvFlNcMPy
dOuBv.U5Rgb0LPpRpYBooM3529latArTUVvzZdFPtsXAuDrrTU.f.sBffXxL
vGE50lIHkUVJXq3fRtdaoDvjYfbgjujaFJSCzq4.tLaN.bi1tJefWpqbO0uz
1IjIABoluxrJ1guxh2JfPO2B5zRNyBCLDFcqbwNvuv9fHCb8bvevyyEU2JKT
YhkBSWPAfq2TZ6YhqmuMUo0feUn+rYpY4YtY+cFw3lUJdCMYAapZqzwUHX8S
crjAd+SIOU6UBAwIygy.Q1+HAA1KH6EveWOFQlitUK92ehfal9kFhUxJ3tWc
sgpxadigWExbt1o7Ps5dk3yttivyg20W0VcSmg1G90qtx92rAZbH4ez.ruy1
nhmaDPidE07J+5n2sg6E6oKXxUSmc20o6E3SPRDbrkXnPGUYE.i5nCNB9TxQ
jG.G0kCTZtH88f07Rt0ZMMWUw8VvbKVAaTk6GyoraPdZff7rQTejBN54lgyv
HE0Ft7AvIvvgvIwO23jBdUkYOuSvIFSiNcjFhiSsUBwsUCh1AgfNSBAeNDBZ
DIDqY.f8.YjfjV1HAn9XDTxyNFYatVTkKx3kcK9GraZpI5jv7GOx+Z37Xh82
LSKHIDmDXaESoXRngIZQDKVkpxUkMCyXCQhcCK1z.G457gi3TzMz4RFD515F
G3bIQQwcP3SOF0zlkGhiCBQ1kOHHFFlXaEBQIQnCwv9QF1LxPZ.A4jR5cyQs
vbvHMJsLll01We+rE2LazX6zYmCraRrsPFwKg1ANBZFY.IAihr8Ox.aH0oAL
hB8nQVw0FSJiZeunOykbT6t3r.NP8.iL+bnwNiXuVMNJH9H9YCm89CFXPBER
bz422p8.O4dg6kRxdyjDqRwMIHTbT3QFLskxJ8tbmQK4tm0XGeZWF7wKKtYY
aTAF.XPNFaaQBinQMJ4QLF0aNHF0JtYuHSxoUZfZY6.UU2ejJTb8lQw8Fo5k
Rv6e2PI+fOM71o2ecY1VgTYdCSxxUqLokuYq9jYJi6lxPgD2NIPePLB0mwbG
YA9Rgxdiu1k5xiLlSU6JVnx6wzg3sYHwTesB8Z5D7RiGZpXyvDNJY.DQX3.H
hvmcUN4bP1yCkhpTle2P37jtBsKrLWcMScEmltOPv22ZfAqQAdKr9HzATQwZ
q18PrUGt6Tst2XMCRUfGuhXs6ccn23YloomMqcTiC5iMGPsHsHRWhWFlaenV
XcqwgCQiGGJzptyS2ZMODBz6fGza0bzmXBj7+DA94bvpR01MffAlueO7HwcI
pWCwmzJdvi9ILgflLAFmyXB6O7ML0YbD26lenmcGxjVsZUN+A6pUK7AtTrPg
M+eRYG0qD9j4I7eEbco8Xh6WcO.or9XDC6UCiewbXHkh6xm5LiPEkzpJDRTu
mEB44Fgz4NCtJvX.SM1vo2SlTCZGAe7GZu6ahdRyzFOhYZ+mbVVSYptBw.K1
tboIkatIA7c1cTKD1u.honLYV04VkluHsXe0szv9pQCE9Ro3jaVB1o15pz2X
zYoBvO5KXCAe0LCYJybE8ZODf4fV8t9qW0zYxq.YJfTosj1bv0xc.SaC0+AV
9V9L.KKyV3SyTcRtmzi6rO.O16USvts4B5xe9EymDvebK0eMfW6+NIsNlE2m
eqRyJ0utRq13+RjmqYKN1e.4d61jjdsauXe3.2p6jgi9hsNIv97CoyJ01xzl
c3ZhUCtSHx3UZgjoEJYqNY+hYs5zZQVFW19L3JDYaTlMLqAAt1G2yXlnFg9a
53L1FJVcv.cOX0dh7mCVGCLce7GFcQwDdH5Ta3nyAS0pQbHxegr+tGIZORgM
RnMj5vGl1Fs16drnk7Tf1XOLgv1n0d2iEsCxR.eQsNOZ4FGF7whofgfI3kES
1kCeOX5L2rifbdu0A9ae2X.V33B1Z+.Bj1FrP5iFrCYCG5EUWSG.hhunHJd.
HJ5hhnng3h9HPj4lud02.1bxGw.
-----------fin del parche_max5_-----------

 */

No hay comentarios:

Publicar un comentario