fbpixel
Etiquetas: ,

Le module HC-12 permet la communication sans-fil semi-duplex entre deux appareils via les fréquences radio. Il travaille sur la mêmes plages de fréquences que le module RF433 mais permet d’atteindre des distances de communication beaucoup plus importante (<1km). De plus, le même module peut servir en émission ou en réception.

Material

  • Computador
  • Arduino UNO x2
  • Cabos USB A Macho
  • Módulos HC-12 x2

Como funciona

O módulo HC-12 é um módulo de radiofrequência que transmite na gama de frequências 433,4-470MHz. Consiste num emissor-receptor de rádio Si4463 que trata da comunicação sem fios e num microcontrolador STM8S003F3 que trata da comunicação em série com o microcontrolador. O pino SET é utilizado para configurar o modo de funcionamento do módulo HC-12.

Esquema

Para comunicar com o módulo HC-12, utilizaremos uma saída UART (ou TTL) do microcontrolador. Neste exemplo, utilizamos os pinos 2 e 3. O módulo pode ser alimentado pela saída de 3,3V ou 5V do microcontrolador.

arduino-module-hc12-433mhz-transceiver_bb Utilização de um módulo HC-12 com Arduino

Para melhorar a estabilidade da comunicação, que é altamente dependente da fonte de alimentação, pode-se adicionar um condensador (~50µF) entre os pinos VCC e GND.

É necessário fazer a mesma montagem para os lados do transmissor e do receptor.

Código

Para gerir o módulo HC-12, utilizamos a biblioteca SoftwareSerial.h. A biblioteca permite-lhe criar um autocarro de comunicação em série com determinados pinos do microcontrolador. Verifique a documentação técnica para ver quais os pinos que pode utilizar. Neste exemplo, o código é idêntico para as peças do transmissor e do receptor.

#include <SoftwareSerial.h>

SoftwareSerial HC12(2, 3); // HC-12 TX Pin, HC-12 RX Pin

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

void loop() {
  while (HC12.available()) {
    Serial.write(HC12.read());
  }
  while (Serial.available()) { 
    HC12.write(Serial.read());
  }
}

Resultados

Uma vez carregado o código em ambos os Arduino’s, é possível abrir dois monitores em série. Depois poderá introduzir mensagens em qualquer um dos monitores em série e este será exibido no outro monitor.

Aplicações

  • Controlo remoto de um sistema com um comando via rádio baseado num módulo HC-12
  • Troca de dados entre dois dispositivos de domótica

Fontes