Envío Datos

Hola buenas,
Estoy intentado hacer un programa el cual envíe unos valores captados por un sensor de luz a una aplicación creada en App Inventor, a través de bluetooth. Pero resulta que cuando se envían estos datos y la aplicación los recibe, no los muestra bien, sino que aparecen unos caracteres extraños (�� o unos caracteres chinos) y no consigo arreglarlo. Estoy utilizando una placa Arduino BT que tiene el bluetooth integrado.

Inserto la programación:

int sensor_luz = A0;


void setup() {

    pinMode(sensor_luz, INPUT);
    Serial.begin(9600);
}

void loop() {

    sensor_luz = analogRead(A0); //Lee y almacena de los valores que puede tomar la fotocelda

    Serial.println(sensor_luz); //Muestra los niveles de luminosidad en el puerto serie (Bluetooth)
    delay(1000);

}

Añado la imagen de la programación y el archivo .zip de App Inventor:

Les agradezco su ayuda.

Aplicación ZIP recibir datos.zip (3.01 KB)

Por favor lee el privado que te enviaré con instrucciones para que edites tu post.

El problema que seguramente tenés es que tu variable sensor_luz es un valor entre 0 y 255 y cuando lo mandás por bluetooth a la app se envia ese valor y la app lo interpreta como un ASCII. Por ejemplo, si el valor leido en la entrada analógica es 122 la app va a escribirte el ASCII correspondiente a 122, o sea una “z” minúscula. Probá dentro de MIT AppInventor declarando una variable =0 a la cual le vas a cargar el valor recibido por bluetooth y luego mostras la variable en el campo de texto correspondiente

Después de probar poniendo la variable como 0, siguen apareciendo el mismo problema, la aplicación lee los valores como��.
Alguna idea?

Por favor no evites las advertencias de editar los post como corresponde.
Tienes dos imagenes que no estan correctamente presentadas.
Te envié privado con instrucciones.

Edita las imagenes adjuntas usando esta guia NORMAS-IMAGENES.

A pesar de que no has colocado debidamente las imágenes voy a colaborar con tu problema.

Porque no ajuntas el programa en APP Inventor (comprimido como .zip o no te permitirá subirlo) asi podemos ver que ocurre.

Vos estás enviando los datos por BT con un Serial.println. Para eso tenés que setear en MIT AppInventor, en el cliente de Bluetooth , poner byte delimitador = 10, y en los bloques en lugar de bytes a recibir cambialo por número de bytes = -1. con el Serial.println estás enviando un retorno de carro como último byte pero si no le indicás a MIT AI2 que es el byte delimitador lo interpreta como dato.

Hola buenas,
Primeramente agradecerte la ayuda y dedicación mi proyecto.
Después de estar intentando arreglar el programa según me digiste, no he conseguido ningun cambio. En la aplicación de App Inventor, me siguen apareciendo los signos de interrogación, y de hecho, en ocasiones se bloqueaba sin poder hacer nada.
Los cambios en la programación son los siguientes:

Gracias por la ayuda.

Por qué no subis el .ino completo y el .apk, porque asi no puedo saber como declaraste cada cosa y buscar algún error. El byte delimitador conviene ponerlo en el seteo del clienteBluetooth en la parte de diseño y no modificarlo en los bloques. A mi me funciona perfecto de esa forma. Si adjuntás ambos lo veo y te digo. Para futuras referencias te recomiendo veas la página de Kio4 que está llena de ejemplos.

Entendido, paso el archivo .ino y el apk.
También decir que el lo del byte delimitador esta ajustado a 10 en los dos lados.
Gracias por la ayuda.

sketch_oct17a.ino (194 Bytes)

y el .apk ?

La apk esta en el adjunto del primer post, siempre estuvo.

La .apk esta en el primer post, pero ese archivo no tiene las modificaciones del byte delimitador que me comentó, y no consigo poder adjuntarlo bien. Adjunto en este mensaje el archivo .aia de la app ya que no consigo poner el apk.

Enviodatos.zip (3.19 KB)

Subelo como .zip no se permite otro tipo de extensiones. Si es un apk o un aia, solo lo comprimes como formato zip y lo adjuntas.

Si, si, he subido el archivo .aia comprimido como .zip, ya que el apk no me dejaba.

Jkobgg. He probado tu app con el .ino y funciona perfecto. Sólo modifiqué en el programa de Arduino que envie un dato cada 300mS en concordancia con el clock de MIT AI2. De otro modo tendrías infinidad de datos enviados por segundo al celular que no estarías pudiendo leer. Lo probé con un UNO.

Buenas, Primero me gustaría agradecerte toda tu ayuda en mi proyecto. He estado volviendo a probar el proyecto pero sigue completamente igual. Puede ser que no me funcione al estar utilizando una placa Zum Core?

Lamentablemente no puedo ayudarte con eso, no conozco esa placa. Tal vez alguien más pueda orientarte al especto. Sinó migrá a un UNO que funciona bien. Suerte

Pero el Zum Core parece ser una placa de interfaz nada mas.

Consejo para @jkobgg, no hables como si todos podemos abrir un cajón y sacar una placa Zum Core, cuando te refieras a algo ayuda, colocando un enlace como lo he hecho yo justamente para colaborar con tu problema.

Siempre sean concientes que los demas no tenemos su hardware o software.