Saludos.
Disculpen, tengo un problema al momento de querer enviar una palabra al bluetooth.
El bluetooth no lo reconoce correctamente, estoy tratando que se imprima en el monitor serie.
Adjunto el código y las respuestas del monitor serial, al igual que la aplicación por que envío:
	
	
	
		
	
	
	
		
La aplicación es Arduino Bluetooth Controller.
				
			Disculpen, tengo un problema al momento de querer enviar una palabra al bluetooth.
El bluetooth no lo reconoce correctamente, estoy tratando que se imprima en el monitor serie.
Adjunto el código y las respuestas del monitor serial, al igual que la aplicación por que envío:
		C++:
	
	#include <SPI.h>     
#include <DMD.h>   
#include <TimerOne.h>
#include "Arial_black_16.h"
#include "Arial_Black_16_ISO_8859_1.h"
#include "Arial14.h"
#include "SystemFont5x7.h"
#include <SoftwareSerial.h>
#define DISPLAYS_ACROSS 3 // Número de paneles P10 usados, de lado a lado.
#define DISPLAYS_DOWN 1
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);
SoftwareSerial bluetooth(2, 3); // Módulo Bluetooth
char Text[50]; // Array para almacenar el texto
bool bluetoothConnected = false; // Variable para verificar la conexión Bluetooth
void ScanDMD() {
  dmd.scanDisplayBySPI();
}
void setup(void) {
 
  Timer1.initialize(1000);         
  Timer1.attachInterrupt(ScanDMD); 
  dmd.clearScreen(true); 
  Serial.begin(9600);
  // Inicialización del Bluetooth
  bluetooth.begin(9600);  // Módulo Bluetooth
  bluetooth.setTimeout(1000);
 
  // Mensaje inicial en el puerto serie
  Serial.println("Esperando conexión Bluetooth...");
}
void loop(void) {
  if (bluetooth.available() > 0) {
    // Leer el texto desde el puerto serie hasta el salto de línea
   String inputText = bluetooth.readStringUntil('\n');
    inputText.toCharArray(Text, sizeof(Text)); // Convertir String a char array
    // Marcar la conexión Bluetooth después de recibir el primer mensaje
    if (!bluetoothConnected) {
      bluetoothConnected = true;
      Serial.println("Conexión Bluetooth establecida.");
    }
  
    // Asegúrate de que solo se envían caracteres ASCII válidos
    for (int i = 0; i < sizeof(Text); i++) {
      if (Text < 0 || Text > 127) {
        Text = '?'; // Reemplaza caracteres no válidos con '?'
      }
    }
    
    // Mostrar el texto recibido en el DMD
    dmd.selectFont(Arial_Black_16_ISO_8859_1);
    dmd.drawMarquee(Text, strlen(Text), (32 * DISPLAYS_ACROSS) - 1, 0);
    
    // Enviar el texto al módulo Bluetooth
    bluetooth.println(Text); // Envía el texto recibido al Bluetooth
    Serial.println("Texto enviado: " + inputText); // Imprime el texto recibido
    long start = millis();
    long timer = start;
    boolean ret = false;
    int interval = 10;
    while (!ret) {
      if ((timer + interval) < millis()) {
        ret = dmd.stepMarquee(-1, 0);
        timer = millis();
      }
    }
  }
}
		Código:
	
	14:10:29.214 -> Esperando conexión Bluetooth...
14:10:40.816 -> Conexión Bluetooth establecida.
14:10:40.852 -> Texto enviado: N
14:11:28.448 -> Texto enviado: �
18:31:29.859 -> Esperando conexión Bluetooth...
18:31:55.436 -> Conexión Bluetooth establecida.
18:31:55.582 -> Texto enviado: ���
18:31:58.287 -> Texto enviado: ccc�
18:32:01.306 -> Texto enviado: c
			
				Última edición por un moderador: 
			
		
	
								
								
									
	
								
							
							 
   
				 
						 
 
		 
 
		 
 
		 
 
		 
 
		