====== Rádiókommunikációs megoldások Arduino-val ====== {{ :wiki:arduino:si4463.png?180|HC-12 433 vezeték nélküli soros kommunikációs modul}} ===== HC-12 433MHz-es vezeték nélküli soros kommunikációs modul ===== {{anchor: hc12}} A HC-12 a 433,4 .. 473,0 MHz [[hu:comm:bus_air#ism_savok|ISM]]-tartományban működő soros átviteli modul, ami ideális körülmények között 1 km hatótávolságot is biztosíthat. A modulra egy "SI4463" IC-t integráltak. A HC-11 és HC-12 modulok nem kompatibilisek egymással, csak párban tudnak működni. ==== HC-12 technikai adatok ==== **Tápfeszültség:** 3.2V .. 5.5V (tartós, 4,5 V-ot meghaladó tápfeszültség esetén érdemes diódával védeni a tápot) \\ **Hatótávolság:** nyílt területen 600 m, ideális esetben 1 km \\ **Adatátviteli sebesség:** 1.2Kbps .. 115.2Kbps(default 9.6Kbps) \\ **Minimális áramfelvétel:** 16 mA \\ **Frekvenciatartomány:** 433,4 .. 473,0 MHz, legfeljebb 100 csatorna áll rendelkezésre a kommunikációra \\ **Maximális adási teljesítmény:** 100 mW (állítható) \\ **Vételi (teljesítmény) tartomány:** -117dBm .. -100dBm \\ **Átviteli (teljesítmény) tartomány:** -1dBm .. 20dBm \\ **Alapértelmezett gyári beállítások:** FU3 mód, 9600 bps adatátviteli sebesség, CH001 kommunikációs csatorna (433.4M) \\ ==== HC-12 pinek ==== {{:wiki:arduino:si4463_pins.png|HC-12 pinek}} ^pin^neve^leírás| |SET|beállítás|LOW aktív, lásd lent "parancskészlet"| |TxD|küldés|kimeneti pin| |RxD|fogadás|bemeneti pin| |GND|grund|grund| |Vcc|táp|3,2 .. 5,5 V| |ant1|PCB antenna|| |ant2|forrasztható antenna|| ==== HC-12 vezetékezés ==== {{:wiki:arduino:si4463_wiring.png|HC-12 vezetékezés}} ==== AT parancskészlet ==== A parancsok a kikapcsolás után is megőrződnek. ^parancs + paraméterek^megnevezés^leírás| |AT|Teszt|Ha csak egy AT parancsot kap modul, arra egy "OK"-val kell válaszolnia.| |AT +Bxxx|Sebesség beállítása|Lehetőségek: 1200bps, 2400bps, 4800bps, 9600bps, 19200bps, 38400bps, 57600bps and 115200bps. Gyári beállítás: 9600bps. \\ Parancs formája, pl. a 19200bps-hez: "**AT + B19200**"| |AT + Cxxx|Rádiócsatorna váltása|A paraméter 0 .. 127 között változhat. Alapértelmezett: 1 (433.4MHz). A csatornák között 400KHz távolság található. A CH100 az a 473.0 MHz. \\ Parancs formája "**AT + C021**" (441.4 MHz) A visszaigazolás formája: "**OK + C021**" | |AT + FUx|Csatornaváltási mód kiválasztása|A paraméter lehet: FU1, FU2 vagy FU3. A modul alapértelmezett módja: FU3. \\ Példa: "**AT + FU1**", erre a válasz: "**OK + FU1**" | |AT + Px|Teljesítményszint állítása|1: -1dBm, 2: 2dBm, 3: 5dBm, 4: 8dBm, 5: 11dBm, 6: 14dBm, 7: 17dBm, 8: 20dBm. Alapértelmezett a maximális teljesítmény: 8 \\ Példa: "**AT + P5**", erre a válasz: "**OK + P5**"| ==== HC-12 szoftver ==== Github: https://github.com/al177/hc12pj vagy csak egyszerűen: #include SoftwareSerial hc12(6, 5); void setup() { pinMode(7,OUTPUT); digitalWrite(7,LOW); // AT parancs-mód Serial.begin(9600); hc12.begin(9600); hc12.print(F("AT+C001")); // első csatorna beállítása (egyébként default) delay(100); digitalWrite(7,HIGH);// átviteli mód } void loop() { if(Serial.available()) hc12.write(Serial.read()); if(hc12.available()) Serial.write(hc12.read()); }