Funkkommunikationslösungen mit Arduino

HC-12 433 MHz drahtloses serielles Kommunikationsmodul

Der HC-12 ist ein serielles Übertragungsmodul, das im ISM-Bereich von 433,4 bis 473,0 MHz arbeitet und idealerweise eine Reichweite von 1 km bietet. Ein "SI4463" IC ist in das Modul integriert.

Die Module HC-11 und HC-12 sind nicht miteinander kompatibel, sie können nur mit demselben Paartyp arbeiten.

HC-12 Spezifikationen

Stromversorgung: 3,2 V .. 5,5 V (bei einer permanenten Versorgungsspannung von mehr als 4,5 V ist es ratsam, die Stromversorgung mit einer Diode zu schützen)
Reichweite: 600 m im offenen Bereich, idealerweise 1 km
Datenübertragungsrate: 1,2 Kbit / s .. 115,2 Kbit / s (Standard 9,6 Kbit / s)
Mindeststromaufnahme: 16 mA
Frequenzbereich: 433,4 .. 473,0 MHz, bis zu 100 Kanäle für die Kommunikation verfügbar
Maximale Sendeleistung: 100 mW (einstellbar)
Empfangsbereich (Leistung): -117dBm .. -100dBm
Übertragungsbereich (Leistung): -1 dBm .. 20 dBm
Werkseitige Standardeinstellungen: FU3-Modus, Datenrate 9600 Bit / s, CH001-Kommunikationskanal (433,4 M)

HC-12 Pinbelegung

HC-12 Pinbelegung

PinNameBeschreibung
SETEinstellungLOW aktiv, siehe "Befehlssatz" unten
TxDSendenoutput pin
RxDEmpfangenEingangspin
GNDGrundgrund
VccStromversorgung 3.2 .. 5.5 V
ant1PCB-Antenne
ant2lötbare Antenne

HC-12-Verdrahtung

HC-12-Verdrahtung

AT Befehlssatz

Die Befehle bleiben auch nach dem Ausschalten erhalten.

Befehl + Parameter NameBeschreibung
AT Test
AT + Bxxx Geschwindigkeitseinstellung Optionen: 1200 Bps, 2400 Bps, 4800 Bps, 9600 Bps, 19200 Bps, 38400 Bps, 57600 Bps und 115200 Bps. Werkseinstellung: 9600bps.
Befehlsformat, z.B. für 19200 bps: " AT + B19200 "
AT + Cxxx Funkkanal wechseln Parameter können zwischen 0 und 127 variieren. Standard: 1 (433,4 MHz). Zwischen den Kanälen besteht ein Abstand von 400 kHz. CH100 ist 473,0 MHz.
Befehlsformat " AT + C021 " (441,4 MHz) Bestätigungsformat: " OK + C021 "
AT + FUx Auswahl des Kanalwechselmodus Der Parameter kann sein: FU1, FU2 oder FU3. Der Standardmodus des Moduls ist FU3.
Beispiel: " AT + FU1 ", die Antwort lautet " OK + FU1 "
AT + Px Leistungspegeleinstellung 1: -1 dBm, 2: 2 dBm, 3: 5 dBm, 4: 8 dBm, 5: 11 dBm, 6: 14 dBm, 7: 17 dBm, 8: 20 dBm. Standardmaximalleistung: 8
Beispiel: " AT + P5 ", die Antwort lautet " OK + P5 "

HC-12 Software

Github: https://github.com/al177/hc12pj

oder ganz einfach:

#include <SoftwareSerial.h>
SoftwareSerial hc12(6, 5);

void setup() 
{
pinMode(7,OUTPUT);
digitalWrite(7,LOW); // AT Befehl-mode
Serial.begin(9600);
hc12.begin(9600);
hc12.print(F("AT+C001")); // Erste Kanal setzten (default) 
delay(100);
digitalWrite(7,HIGH);// Übertragungsmodus
}
void loop() 
{
if(Serial.available()) hc12.write(Serial.read());
if(hc12.available()) Serial.write(hc12.read());
}