Arduino + Android: comunicarse con un módulo JY-MCU

5

Estoy intentando encender y apagar un LED con mi dispositivo Android a través de un módulo Bluetooth (JY-MCU V1.05), puedo conectarme al módulo con la tecla "1234", pero cuando envío un comando a El módulo a través de la aplicación "Terminal Bluetooth", no responde, no hay acción del LED.

Aquí está mi instalación:

enlace

Aquí está el código Arduino:

char val;         
int ledpin = 13;  

void setup()
{
  pinMode(ledpin = 13, OUTPUT);       
  Serial.begin(115200);               
}

void loop() {
  if( Serial.available() )            
  {                               
  val = Serial.read();                

  if( val == '0' )                    
  {
    digitalWrite(ledpin, LOW);        
    delay(1000);                      
    Serial.println("13 off");         
  }

if( val == '1' )                      
 {
    digitalWrite(ledpin = 13, HIGH);  
    delay(1000);                     
    Serial.println("13 on");          
  }
 }
}

(También intentado con una serie de 9600)

¿Alguna idea de por qué no puedo comunicarme con el Arduino?

    
pregunta komfushee

2 respuestas

3

Algunos problemas que puedo ver son:

  • El JY-MCU parece ser un dispositivo de 3.3V y lo tienes conectado a VIN que es de 5V. Intente conectarse a la línea 3V3 , aunque tenga en cuenta que solo estará disponible cuando se ejecute desde una fuente de alimentación USB, ya que se suministra con el chip USB FTDI.

  • Sin embargo, antes de hacer eso, he encontrado referencias a él que no tienen líneas seriales tolerantes a 5 V y encontré una recomendación para usar un divisor de voltaje conectando una resistencia de 2.2k a tierra desde la línea de TX en el Ardunio y un 1k en serie entre la línea TX en el Arduino y la línea RX en el módulo. Eso formó parte de un Exito utilizando el Bluetooth JY-MCU (linvor) Módulo Instructable que también le gustaría leer.

  • La velocidad predeterminada parece ser de 9600 BPS, así que apégate a eso en este momento.

Y algunas recomendaciones que probablemente no sean su problema, pero que vale la pena cambiar:

  • No tiene una resistencia de límite de corriente en serie con su LED. Consulte la pregunta ¿Fórmula correcta para la resistencia limitadora de corriente LED?

  • Solo deje ledpin = 13 cerca de la línea superior donde se declara, elimínelo de las llamadas a digitalWrite . No hará una diferencia funcional, es solo un buen hábito porque en el momento si cambias el pin, tendrás que hacerlo en varios lugares cuando no sea necesario y puedes olvidarlo.

respondido por el PeterJ
1

¿Tienes el USB conectado al arduino? Creo que (al menos con Uno), los pines 0 y 1 están bloqueados cuando se enchufa el USB, así que usé la biblioteca de SoftSerial para usar cualquier otro pin de E / S digital como Rx y Tx.

    
respondido por el dawnoflife

Lea otras preguntas en las etiquetas