Recientemente compré una silla de masaje Chines con la esperanza de poder interceptar la comunicación en serie entre su control remoto con cable y la silla en sí, corté el cable y conecté el Rxd y Txd de la silla a mi arduino pin 3 y 4 y por supuesto el pin de tierra , utilicé un código de serie de software como se muestra a continuación, pero no pude dejar de obtener ningún valor legible. en algún momento, incluso cuando la silla no está conectada, el programa muestra algún valor 255, 128, 128... en el monitor serie, ¿podría ser un problema de velocidad de transmisión? cuando conecto el control remoto, todas sus almohadillas se iluminan al principio y solo algunas con el botón de encendido parpadeando continuamente en aproximadamente un segundo,
El control remoto con cable tiene cuatro líneas conectadas a la placa con las marcas Vcc, Gnd, Txd y Rxd, lo que muestra claramente que la comunicación es una especie de protocolo en serie.
Código utilizado.
#include <SoftwareSerial.h>
#define rxPin 3
#define txPin 4
SoftwareSerial softSerial = SoftwareSerial(rxPin, txPin);
void setup() {
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
softSerial.begin(9600);
Serial.begin(9600);
}
void loop() {
int data = softSerial.read();
Serial.println(data);
delay (1000);
Estás haciendo esto de la manera incorrecta. Es dudoso que incluso pueda estar seguro de la conexión de la interfaz serie y el protocolo utilizado. Hacer una conjetura a ciegas total es casi inútil.
La forma correcta de hacer esto es dejar las cosas conectadas de la manera normal y luego investigar qué está pasando. Usando un osciloscopio puede determinar la información esencial de la siguiente manera:
Solo después de haber recopilado dicha información sería razonable conectarse a su MCU.
Jasén
Jasén
jsotola
chris stratton