Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ayuda: Comunicación PC-arduino con apc220
#1
Buenas!, Soy novato, y hace poco me hice con el módulo APC220.

resim


Ayer me propuse hacer comunicar dicho módulo con el PC, intenté hacer algo sencillo, cargando un sketch que encontré por Internet de ejemplo, pero no consigo hacerlo funcionar.

Los pasos que seguí fueron los siguientes:

1º Descargar drivers
- "CP210x VCP Drivers" -> http://www.silabs.com/products/interface...tware.aspx
- "Driver USB" -> http://www.ctmelectronica.com.ar/index.p...usb/detail

2º Descargar el software de configuración del módulo
- "RF-MagicV1.2A" -> http://www.ctmelectronica.com.ar/index.p...-2a/detail

3º Conectar el módulo al adaptador USB, que como se puede ver en la imagen, trae para conectar los 7 pins( he visto que otros solo disponen de 6 y dejaban el pin del módulo "Set" desconectado, yo al disponer de 7 , los he conectado todos).
El ordenador reconoce e instala el dispositivo y le asigna puerto "COM 5"

resim

4º Abrir el programa RF-MagicV1.2A , comprobar que encuentra el dipositivo y darle a Write para cargar la configuración al módulo, esto , lo he hecho con los 2, no sé si es correcto.

resim

5º Conectar un módulo a la placa arduino de la siguiente manera

GND ------->  GND
VCC  ------->  5V
RXD  -------> TX3
TXD  ------->  RX3

6º Cargar el sketch  con el cable USB, el código es el siguiente:

int val = 0;
int ledPin = 13;
void setup()
{
 Serial.begin(9600);
 pinMode( ledPin, OUTPUT );
}

void loop()
{
 val = Serial.read();
 if (-1 != val) {
  if ('A' == val || 'a' == val) {
    Serial.println("Hello from Arduino!");
  }else if ('B' == val || 'b' == val) {
     digitalWrite(ledPin, HIGH);
     delay(500);
     digitalWrite(ledPin, LOW);
   }
 }
}

7º Desconectar cable USB e insertar módulo + adaptador USB al pc.

8º Conectar arduino a una fuente externa de 7.5 V a "Vin" y "GND"

9º Entrar en monitor serial y mandar "bbb", pero el pin permanece apagado.

Espero que alguien me pueda ayudar, gracias!!!
Citar
#2
Pones:

GND -------> GND
VCC -------> 5V
RXD -------> TX3
TXD -------> RX3


Es por algo lo del número 3? Quiero decir, estas usando el puerto Serial/UART 3, porque si es así en el código deberías de usar Serial3.read, Serial3.print, etc.

Prueba grabando (por USB) este otro código mas sencillo a ver si recibes algo en el ordenador:

Código:
// Enviar datos
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.print("Hola PC ("); Serial.print(millis()/1000); Serial.println(")");
  delay(1000);
}

O este otro código para controlar el led desde el PC:
Código:
// Recibir datos
#define led 13

void setup()
{
  pinMode(led, OUTPUT);
  Serial.begin(9600);
  Serial.println("1=ON, 0=OFF:\n\n");
}

void loop()
{
  if( Serial.available() > 0)
  {
    delay(5);
    digitalWrite( led, (Serial.read()=='1') ? HIGH : LOW );
    while(Serial.available() > 0) //flush
      Serial.read();
  }
}


Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#3
giltesa escribió:Pones:

GND -------> GND
VCC -------> 5V
RXD -------> TX3
TXD -------> RX3


Es por algo lo del número 3? Quiero decir, estas usando el puerto Serial/UART 3, porque si es así en el código deberías de usar Serial3.read, Serial3.print, etc.

Prueba grabando (por USB) este otro código mas sencillo a ver si recibes algo en el ordenador:

Código:
// Enviar datos
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.print("Hola PC ("); Serial.print(millis()/1000); Serial.println(")");
  delay(1000);
}

O este otro código para controlar el led desde el PC:
Código:
// Recibir datos
#define led 13

void setup()
{
  pinMode(led, OUTPUT);
  Serial.begin(9600);
  Serial.println("1=ON, 0=OFF:\n\n");
}

void loop()
{
  if( Serial.available() > 0)
  {
    delay(5);
    digitalWrite( led, (Serial.read()=='1') ? HIGH : LOW );
    while(Serial.available() > 0) //flush
      Serial.read();
  }
}


Mola


Buenas, hasta ahora he probado lo siguiente y sigue sin funcionar:

-Efectivamente he cambiado la conexion TX3 y RX3 por TX0 y RX0 de modo que queda:

GND -------> GND
VCC -------> 5V
RXD -------> TX0
TXD -------> RX0

-He utilizado el siguiente código, más sencillo

void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.println("Hello!");
delay(1000);
}

- He probado los puertos COM 1, 2 , 3 , 4 ,5

-He cambiado la frecuencia a 434 Mhz como recomienda el manual


Saludos!
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Ayuda con drivers arduino msa 32 10,146 28-03-2018, 10:37 AM
Último mensaje: superkuko
  ayuda en coneccion de java con arduino claudiohnavarro 0 390 26-04-2017, 07:02 PM
Último mensaje: claudiohnavarro
  Ayuda con robot arduino Qar2015 0 581 11-10-2015, 04:19 AM
Último mensaje: Qar2015
  Arduino-Principiante-Ayuda Chilakiller4567 3 735 02-09-2015, 09:44 AM
Último mensaje: Iván
  [AYUDA]Arduino comunicación Serial silth 2 712 02-02-2015, 09:59 PM
Último mensaje: silth