Hola,
Soy nuevo en este foro , es la primera vez que me animo a publicar una duda, perdonen si no me explico correctamente, pues apenas estoy empezando a trabajar con la placa arduino UNO.
Bueno la duda en sí radica en cómo es que puedo separar una variable int en recibida desde puerto serial USB.
Bueno lo que intento hacer es enviar algunos caracteres en código ascii desde Labview.{2012} , por medio de VISA serial y esos caracteres que envió (ejemplo: Ü`Úòf) separarlos en el programa de arduino para utilizar cada carácter independiente mente, es decir utilizar el carácter Ü y convertirlo en su valor decimal y utilizar ese valor en decimal para declarar una condición en mi programa.
Tengo este programa
int datoserial = 0; // variable para guardar el dato que se envía
int redPin = 13;
void setup() {
pinMode(redPin, OUTPUT);
Serial.begin(9600); // Velocidad de la transmisión y apertura del puerto
}
void loop() {
if (Serial.available() > 0) { // Revisa si hay algun dato en el buffer serie (la función devuelve -1 si no hay nada que leer)
digitalWrite (redPin, LOW); // Apaga el Led conectado al pin 13
datoserial = Serial.read(); // guardamos el valor en la variable
Serial.print("\t");
Serial.println(datoserial);
if (datoserial == 'f'){
digitalWrite(redPin, HIGH); // Enciende el Led conectado al pin 13
}
}
}
Y funciona a la perfección, por ejemplo envió el carácter (f) en labview al puerto serial USB de arduino en código ascii y lo guardo en la variable int datoserial = 0;, si es la f minúscula enciendo un led .
Pero lo que ahora pretendo es enviar esta cadena de caracteres ejemplo; (Ü`Úòf¶¾), y deseo separar cada carácter para crear nuevas variables, es decir con el valor en decimal del carácter Ü crear un variable y establecer una condición y así sucesivamente con cada carácter.
Nota; Desde Labview no es posible enviar por separado cada carácter es por eso que los envió todo juntos.
MUCHAS GRACIAS por su ayuda.