Arduino-Transmisión inalámbrica_Parte_2.ppsx

ssuser64244d 7 views 27 slides May 19, 2025
Slide 1
Slide 1 of 27
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27

About This Presentation

Arduino, Transmisión inalámbrica


Slide Content

Arduino
HC-11/HC-12
Transmisor-Receptor 433MHz
Ejercicio 1
Adrián Neil

Adrián Neil
HC-11/HC-12
Es imprescindible el uso de una antena
En la figura vemos el módulo con una antena helicoidal soldada

Adrián Neil
HC-11/HC-12
Conector para
Antena Exterior

Adrián Neil
HC-11/HC-12
Conector para
Antena Exterior

Adrián Neil
HC-11/HC-12
VISTA
SUPERIOR
VISTA
INFERIOR
Terminales
a conectar
a Arduino

Adrián Neil
HC-11/HC-12
Para que la comunicación semiduplex se establezca tanto el modulo
receptor como el transmisor debe tener la misma configuración.
Igual canal de comunicación
Igual velocidad la velocidad de comunicación
(transmisión/recepción)

Adrián Neil
HC-11/HC-12
Pata “set” a masa
para programar:
velocidad, canal,
modo, y potencia
de transmisión.
Modulo
programado
listo para usar

Adrián Neil
HC-11/HC-12
Con el pin etiquetado como “Set” conectado a masa, y los
demás pines como indica el esquema anterior, cargamos en la
placa de Arduino el sketch AT commanders (Comandos AT)

Adrián Neil
HC-11/HC-12
Comandos AT
//HC-12 AT Commander. Autor Tom Heylen tomtomheylen.com
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // (RX, TX) (RX del HC-12 a 3 de Arduino[TX])
// (RX, TX) (TX del HC-12 a 2 de Arduino[RX]) //Terminal Set a GND
void setup() {
Serial.begin(9600);
Serial.println("Enter AT commands:");
mySerial.begin(9600);
}
void loop(){
if (mySerial.available()){
Serial.write(mySerial.read());
}
if (Serial.available()){
mySerial.write(Serial.read());
}
}

Adrián Neil
HC-11/HC-12
Comandos AT
Luego de subirlo a la placa Arduino abrimos el monitor serie.
Aparecerá la siguiente leyenda
Escribimos en el cuadro de dialogo la leyenda AT
Presionamos ENTER o cliqueamos sobre el comando enviar
El modulo HC-11/12 responderá a través de la placa de Arduino OK

Adrián Neil
HC-11/HC-12
Comandos AT
TIPs a tener en cuenta para utilizar los COMANDOS AT
•El terminal Transmisor del HC12 (Tx) va al terminar Receptor de Arduino (Rx)
Respetando la configuración programada (SoftwareSerial mySerial(2, 3); // (RX, TX))
•El terminal Receptor del HC12 (Rx) va al terminar Transmisor de Arduino (Tx)
Respetando la configuración programada (SoftwareSerial mySerial(2, 3); // (RX, TX))
•Si estoy configurando el terminal Set debe estar enviado a masa antes de
cargar el programa

Adrián Neil
HC-11/HC-12
Comandos AT
Si ahora escribimos en el cuadro de dialogo la leyenda AT+RX
Al presionar ENTER obtenemos la configuración de
todos los parámetros de nuestro modulo HC-12
U: modo.
B: velocidad en baudios.
C: canal de radio.
P: potencia

Adrián Neil
HC-11/HC-12
Comandos AT
1.AT – comando de prueba. Retornará OK si la interfaz AT está habilitada
2. AT + Bxxxx: establece la velocidad en baudios del puerto serie. Por
ejemplo, AT + B57600 establece la velocidad en baudios a 57600bps
3. AT + Cxxx – establece el canal de radio. Los canales comienzan desde
001 a 433,4MHz. Cada siguiente canal añade 400kHz. El canal 100 es
473,0MHz. AT + C002 ajustará la frecuencia a 433,8MHz. Dos dispositivos
HC-12 que crean un enlace inalámbrico tienen que operar en la misma
frecuencia

Adrián Neil
HC-11/HC-12
Comandos AT
4. AT + FUx – configura el modo de dispositivo: FU1, FU2, FU3 o FU4.
Dos dispositivos HC-12 que crean un enlace inalámbrico tienen que
usar el mismo modo
5. AT + Px: configura la potencia de transmisión del dispositivo. Por
ejemplo, AT + P2 ajusta la potencia a 2dBm (1.6mW)
1.1. -1dBm (0.8mW)
2.2. 2dBm (1.6mW)
3.3. 5dBm (3.2mw)
4.4. 8dBm (6.3mW)
5.5. 11dBm (12mW)
6.6. 14dBm (25mW)
7.7. 17dBm (50mW)
8.8. 20dBm (100mW)

Adrián Neil
HC-11/HC-12
Comandos AT
6. AT + RX – recupera todos los parámetros: modo, canal,
velocidad de transmisión, potencia
7. AT + V – recuperar la versión del módulo
8. AT + DEFAULT: restablece los parámetros del módulo a la
configuración predeterminada

Adrián Neil
HC-11/HC-12
Es recomendable programar las dos placas trasmisora y receptora
simultáneamente para asegurar la paridad, y luego continuar con el armado

Adrián Neil
HC-11/HC-12

Adrián Neil
HC-11/HC-12
Escribimos en el cuadro de dialogo la leyenda AT+RX
Al presionar ENTER obtenemos la configuración de todos los parámetros de nuestro
modulo HC-12
U: modo.
B: velocidad en baudios.
C: canal de radio.
P: potencia
Es recomendable programar las dos placas trasmisora y receptora simultáneamente para
asegurar la paridad, y luego continuar con el armado
En caso de dudas sobre los parámetros, con AT + RX – recuperamos todos los parámetros:
modo, canal, velocidad de transmisión, potencia

Adrián Neil
HC-11/HC-12
Armamos la placa trasmisora con un pulsador para enviar un dato
Al presionar el pulsador enviamos un 1, HIGH, o alto, a la pata 8 de Arduino
Entonces el modulo HC-12 trasmite el código guardado en Arduino

Adrián Neil
HC-11/HC-12

Adrián Neil
HC-11/HC-12 Trasmitir un código al presionar el pulsador
//HC-12 Momentary Button Send
//Autor Tom Heylen tomtomheylen.com
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX(Arduino), TX(Arduino)
int buttonPin = 8;
boolean onOff = 0; //boolean, 0 o 1 , en este caso 0
void setup() {
pinMode(buttonPin, INPUT);
mySerial.begin(9600);
}
void loop() {
int buttonState = digitalRead(buttonPin);//lee si el pulsador está presionado
if(buttonState == 1){//si el ulsador está presionado
mySerial.println(1111);//envía el codigo que reconocerá el receptor. En este caso 1111
onOff = 1;//establece el valor boolano a onoff de 1.
}
if(buttonState == 0 && onOff == 1){//Verifica para enviar señal una vez
mySerial.println(0000);//envíe un código único al receptor para apagarlo. En este caso 0000
}
delay(20);//pequeña demora para una mejor comunicación serial
}

Adrián Neil
HC-11/HC-12
Armamos la placa receptora con un led con su resistencia de 120 Ohms
entre la pata 13 y masa de Arduino
La pata 13 está normalmente en 0, LOW, o bajo.
Al recibir el código adecuado desde nuestro trasmisor, Arduino lo reconoce y la pata
13 pasa a 1, HIGH, alto.

Adrián Neil
HC-11/HC-12

Adrián Neil
HC-11/HC-12 Encender un led al recibir el código correcto
//HC-12 Momentary Button Receive
//Autor Tom Heylen tomtomheylen.com
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX(Arduino), TX(Arduino)
int ledPin = 13;
void setup() {
mySerial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
if(mySerial.available() > 1){
int input = mySerial.parseInt();//lee la entrada serie y la convierte en entero
if(input == 1111){//si el codigo de encendido es recibido
digitalWrite(ledPin, HIGH);//prendo el led
}
if(input == 0000){//si el codigo de apagado es recibido. En este caso 0000
digitalWrite(ledPin, LOW);//apago el led
}
}
mySerial.flush();//borrar o limpia el búfer serie
delay(20);//pequeña demora para una mejor comunicación serial
}

Adrián Neil
HC-11/HC-12
Con nuestra programación hacemos que el conexionado básico del trasmisor sea igual
al del receptor, la diferencia está en el agregado del pulsador o del led

Adrián Neil
HC-11/HC-12
•El HC-12 es un transceptor con buen alcance.
•Es satisfactorio para la mayoría de los pasatiempos y aplicaciones industriales.
•Es una alternativa muy económica, de baja potencia.
•Su alcance y simplicidad de uso hacen que el HC-12 sea una excelente opción para
proyectos.
•Es ideal para monitorear dentro de un ámbito y sin cables, múltiples puntos
simultáneamente.

Adrián Neil