Pages: [1]   Go Down
Author Topic: puerto serie ... varios datos.  (Read 1116 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 30
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

he estado buscando po aki ,pero me encuntro con muxisimos problemas! en el puerto serie, los problemas llegan cuando leo los datos , es decir el Serial.read(), si envio un valor! todo va bien, el problema es k cuando kiero enviar varios es decir:
tegno varios variables por ejemplo , int x,int y ..... y el arduino los leeria,pero como ago esto ? todos los ejemplo envian un solo dato /letra etc,  como ago para recibir varios valores smiley-sad gracias de antemano...
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leyendo varias veces el puertos serie para ir tomando uno a uno cada dato/valor

Si envías 'Hola' lees 1 vez 'H', luego lees otra vez y coges la 'o', luego la 'l' y luego la 'a' y los vas guardando done quieras.

Aunque buscar un poco tampoco hace daño, si pones en google 'send string to arduino' el primer resultado hace referencia a un post de este mismo foro donde se resuelve tu duda.
« Last Edit: September 02, 2010, 07:07:58 am by chiva » Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 30
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mmm si ,pero nucan encuentro lo de enviar enteros! o mejor aun floats,por ejemplo:
processing:
Code:
import processing.serial.*;


int val=0;
int val1=0;

Serial puerto;
void setup(){
  size(400,400);
  puerto= new Serial(this,"COM25",9600);
}

void draw(){
  if (puerto.available()>0){
  val=puerto.read();
val1=puerto.read();}
  println(val);
  println(val1);
}
arduino:
Code:
void setup(){
  Serial.begin(9600);
}
void loop(){
  Serial.print(5);
  Serial.print(200);
  delay(10);
}
por ejmplo esto,pero no me lo lee bien! nunca! como he de hacerlo!pongamnelo si es posible  smiley
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Por qué dices que no te lo lee bien nunca? ¿Qué es lo que te sale?
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 30
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

en ese caso me sale siempre k las variables toman valores , 48,53 ?¿?¿?¿  
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Esos valores son correctos, lo que pasa es que has supuesto que los datos se mandan de una forma cuando es de otra.
http://www.arduino.cc/es/Serial/Print

Los números se mandan dígito a dígito convertido cada uno de ellos a ASCII, por lo que luego te tocará convertirlo otra vez a decimal (simplemente restándoles '0' o 48) y juntar los números para volver a tener el original.

53 es el código ASCII del número entero 5, échale un vistazo a una tabla ASCII.
Y el 48 es un 0, pero no se muy bien por qué sale.

Un saludo
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Pages: [1]   Go Up
Jump to: