5 votos

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

Estoy tratando de encender y APAGAR un LED con mi Dispositivo Android a través de un módulo Bluetooth (JY-MCU V1.05), puedo conectar el módulo con la clave "1234", pero cuando voy a enviar un comando al módulo a través de la "Bluetooth Terminal" de la aplicación, no hay responder, no la acción de los LED.

Aquí está mi instalación:

enter image description here

Aquí está el código de 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 probé con una serie de 9600)

Alguna idea de por qué yo no puede comunicarse con el Arduino ?

3voto

xilun Puntos 261

Un par de problemas que me pueden ver son:

  • El JY-MCU parece ser un dispositivo de 3.3 V y lo tienes conectado a VIN que es de 5V. Intente conectarse a la 3V3 de la línea a pesar de ser consciente de que esto sólo va a estar disponible cuando se ejecuta de la alimentación por USB porque es suministrado por el FTDI chip USB.

  • Antes de hacer eso aunque no he encontrado referencias a no disponer de 5V tolerante serie de líneas y encontró una recomendación para el uso de un divisor de voltaje mediante la conexión de un 2.2 k resistencia a tierra de la línea de TX en el Ardunio y una de 1k en serie entre la línea TX del Arduino y la línea RX en el módulo. Que era parte de un Éxito Utilizando el JY-MCU (linvor) Módulo Bluetooth Instructable que te gustaría leer así.

  • La velocidad por defecto parece ser de 9600 BPS, de modo que con el palo en el momento.

Y un par de recomendaciones que no son susceptibles de ser tu problema, pero vale la pena cambiar:

  • Usted no tiene un límite de corriente de la resistencia en serie con el LED. Ver la pregunta de la fórmula Correcta para LED de limitación de corriente del resistor?

  • Sólo deje ledpin = 13 cerca de la parte superior de la línea donde se declara, quitar de las llamadas a digitalWrite. No va a hacer una diferencia funcional es sólo un buen hábito, porque en el momento si cambia el pin que tendrás que hacerlo en varios puntos cuando no es necesario y se puede olvidar.

1voto

Daniel Puntos 1

¿Tienes el USB conectado a arduino? Creo (por lo menos con la ONU), los pines 0 y 1 están bloqueados cuando el USB está conectado, así que utilicé la biblioteca SoftSerial utilizar cualquier otros pines de entrada-salida Digital Rx como Tx.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X