EN ESTE TUTORIAL TE EXPLICO COMO CONECTAR UN ARDUINO MEGA CON MÓDULO HC-12 EN EL CUAL ENVIAMOS Y RECIBIMOS UN MENSAJE.
EN LAS PRUEBAS HECHAS DENTRO DE POBLADO EL ALCANCE ÓPTIMO ES DE 600 METROS NO CONSIGUIENDOSE UNA ESTABILIDAD EN EL ENLACE A MÁS DISTANCIA.
CONEXIONES: CONECTAREMOS DE LA SIGUIENTE MANERA
ARDUINO MEGA MÓDULO HC-12
TX2---------------------------------- RX
RX2---------------------------------- TX
GND--------------------------------- GND
VCC----------------------------------VCC
PIN 7---------------------------------SET SIRVE PARA PONER EL MÓDULO EN MODO CONFIGURACIÓN.
CÓDIGO CONFIGURACIÓN DEL MÓDULO.
void setup()
{
pinMode(7,OUTPUT);
digitalWrite(7,HIGH);
Serial.begin(9600);
Serial2.begin(9600);
delay(3000);
digitalWrite(7,LOW);
Serial.println("ESPERANDO COMANDOS AT: ");
}
void loop()
{
//String B= "." ;
if (Serial2.available())
{ char c = Serial2.read() ;
Serial.print(c);
}
if (Serial.available())
{ char c = Serial.read();
Serial2.print(c);
}
}
COMANDOS AT PARA VER ESTADO DE CONFIGURACIÓN
AT--------------------------SIRVE PARA SABER SI EL MÓDULO ESTA BIEN CONECTADO.
AT+RB--------------------PARA VER LA VELOCIDAD PUERTO SERIE.
AT+RC--------------------CANAL DE FRECUENCIA DE TRABAJO.
AT+RF--------------------MODO DE TRANSMISIÓN DE TRABAJO
AT+RP--------------------POTENCIA DE TRANSMISIÓN.
AT+V----------------------FIRMWARE INSTALADO.
AT+SLEEP---------------MODO SUSPENCIÓN EN LA EMISIÓN.
AT+DEFAULT-----------PONE LOS VALORES DE FABRICA, VELOCIDAD 9600,CANAL DE FRECUENCIA 1 Y MODO DE TRANSMISIÓN FU3.
COMANDOS AT PARA LA CONFIGURACIÓN DEL MÓDULO
AT-------------------------SI RECIBIMOS OK ES QUE EL MÓDULO ESTA BIEN CONECTADO.
AT+BXXXX------------VELOCIDAD DEL PUERTO SERIAL 1200, 2400, 4800, 9600, 192000, 38400, 57600, 115200. POR DEFECTO ES 9600
AT+CXXX---------------CANAL DE FRECUENCIA VALORES ENTRE 001 Y 127
AT+PX-------------------POTENCIA DE TRANSMISIÓN VALORES ENTRE 1 Y 8, 8 ES LA MÁXIMA POTENCIA.
AT+FUX----------------MODO DE FUNCIONAMIENTO 1 A 4.
EN CONCLUSIÓN PARA DISTANCIA CORTAS 300 METROS EL MÓDULO CON LOS PARÁMETROS DE FÁBRICA ESTÁN BIEN, SI QUEREMOS LARGA DISTANCIA , PONDREMOS AT+B1200,AT+P8 Y AT+FU4.
CÓDIGO PARA EL ENVÍO DE MENSAJE
CON ESTE CODIGO ESTAREMOS ENVIANDO LA PALABRA HOLA CADA 5 SEGUNDOS.
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
Serial.println("SISTEMA FUNCIONANDO");
}
void loop()
{
Serial.println("mensaje enviado");
Serial2.print("hola");
delay(5000);
}
CÓDIGO PARA RECIBIR MENSAJE
CON ESTE CÓDIGO SI RECIBIMOS LA PALABRA HOLA NOS DA UN MESANJE POR EL PUERTO SERIAL QUE DICE "HE RECIBIDO HOLA".
String recibido;
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
Serial.println("SISTEMA FUNCIONANDO");
}
void loop()
{
if (Serial2.available()>0){
recibido=Serial2.readString();
Serial.print("mensaje recibido= ");
Serial.println(recibido);
recibido.trim();
if (recibido=="hola")
{
Serial.println("HE RECIBIDO HOLA");
}
recibido="";
}
}
EN LAS PRUEBAS HECHAS DENTRO DE POBLADO EL ALCANCE ÓPTIMO ES DE 600 METROS NO CONSIGUIENDOSE UNA ESTABILIDAD EN EL ENLACE A MÁS DISTANCIA.
CONEXIONES: CONECTAREMOS DE LA SIGUIENTE MANERA
ARDUINO MEGA MÓDULO HC-12
TX2---------------------------------- RX
RX2---------------------------------- TX
GND--------------------------------- GND
VCC----------------------------------VCC
PIN 7---------------------------------SET SIRVE PARA PONER EL MÓDULO EN MODO CONFIGURACIÓN.
CÓDIGO CONFIGURACIÓN DEL MÓDULO.
void setup()
{
pinMode(7,OUTPUT);
digitalWrite(7,HIGH);
Serial.begin(9600);
Serial2.begin(9600);
delay(3000);
digitalWrite(7,LOW);
Serial.println("ESPERANDO COMANDOS AT: ");
}
void loop()
{
//String B= "." ;
if (Serial2.available())
{ char c = Serial2.read() ;
Serial.print(c);
}
if (Serial.available())
{ char c = Serial.read();
Serial2.print(c);
}
}
COMANDOS AT PARA VER ESTADO DE CONFIGURACIÓN
AT--------------------------SIRVE PARA SABER SI EL MÓDULO ESTA BIEN CONECTADO.
AT+RB--------------------PARA VER LA VELOCIDAD PUERTO SERIE.
AT+RC--------------------CANAL DE FRECUENCIA DE TRABAJO.
AT+RF--------------------MODO DE TRANSMISIÓN DE TRABAJO
AT+RP--------------------POTENCIA DE TRANSMISIÓN.
AT+V----------------------FIRMWARE INSTALADO.
AT+SLEEP---------------MODO SUSPENCIÓN EN LA EMISIÓN.
AT+DEFAULT-----------PONE LOS VALORES DE FABRICA, VELOCIDAD 9600,CANAL DE FRECUENCIA 1 Y MODO DE TRANSMISIÓN FU3.
COMANDOS AT PARA LA CONFIGURACIÓN DEL MÓDULO
AT-------------------------SI RECIBIMOS OK ES QUE EL MÓDULO ESTA BIEN CONECTADO.
AT+BXXXX------------VELOCIDAD DEL PUERTO SERIAL 1200, 2400, 4800, 9600, 192000, 38400, 57600, 115200. POR DEFECTO ES 9600
AT+CXXX---------------CANAL DE FRECUENCIA VALORES ENTRE 001 Y 127
AT+PX-------------------POTENCIA DE TRANSMISIÓN VALORES ENTRE 1 Y 8, 8 ES LA MÁXIMA POTENCIA.
AT+FUX----------------MODO DE FUNCIONAMIENTO 1 A 4.
EN CONCLUSIÓN PARA DISTANCIA CORTAS 300 METROS EL MÓDULO CON LOS PARÁMETROS DE FÁBRICA ESTÁN BIEN, SI QUEREMOS LARGA DISTANCIA , PONDREMOS AT+B1200,AT+P8 Y AT+FU4.
CÓDIGO PARA EL ENVÍO DE MENSAJE
CON ESTE CODIGO ESTAREMOS ENVIANDO LA PALABRA HOLA CADA 5 SEGUNDOS.
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
Serial.println("SISTEMA FUNCIONANDO");
}
void loop()
{
Serial.println("mensaje enviado");
Serial2.print("hola");
delay(5000);
}
CÓDIGO PARA RECIBIR MENSAJE
CON ESTE CÓDIGO SI RECIBIMOS LA PALABRA HOLA NOS DA UN MESANJE POR EL PUERTO SERIAL QUE DICE "HE RECIBIDO HOLA".
String recibido;
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
Serial.println("SISTEMA FUNCIONANDO");
}
void loop()
{
if (Serial2.available()>0){
recibido=Serial2.readString();
Serial.print("mensaje recibido= ");
Serial.println(recibido);
recibido.trim();
if (recibido=="hola")
{
Serial.println("HE RECIBIDO HOLA");
}
recibido="";
}
}
Hola! Gran entrada. Solo tengo una gran duda. Luego de ingresar algunos comandos AT para que esté al máximo de potencia, ya no me deja cambiar nada y toda la respuesta que me entra es " ¿¿¿¿¿¿¿¿¿¿¿¿ '
ResponderEliminarSi envío el comando AT+DEFAULT, la respuesta sigue siendo ¿¿¿¿¿¿¿¿¿¿¿
Me podrías ayudar?
Muchas gracias
Buenas tardes, prueba en el código de configuración poniendo el Serial2 primero a 1200 lo compila y los cargas, luego a 2400, 4800.
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarQué tal disculpa se pueden usar como los hc05 para conectar con un celular Bluetooth?
ResponderEliminarBuenas si , pero no es el modelo de este tutorial mirate este TUTORIAL ARDUINO CON BLUETOOTH APPINVENTOR 2 MANEJANDO RELE Y SENSOR DE TEMPERATURA
Eliminar