HC-12 con telecomando per cancello

Salve a tutti,
ho scritto il codice e funzionava per un apri cancello con arduino. Prima ho utilizzato un modulo standard:

poi visto che la portata era ridicola mi sono mosso verso un HC-12. Adesso però mi sto accorgendo che non trovo il codice per farlo funzionare. Qualcuno sa se è possibile farlo con questo modulo?

Il telecomando è un 433,92 standard che con il vecchio ricevitore andava.

Ogni aiuto è ben accetto

Grazie

Benvenuto,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

nid69ita

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Fatto, spero che qualcuno abbia una risposta

Non sappiamo che codice hai usato.

Comunque qui trovi un esempio di gestione dei moduli HC-12.

Ciao,
P.

Si grazie l’ho trovato e provato ad usare, ma non riceve niente dal telecomando 433,92, standard per cancelli.

Quello che ho usato è all’interno del seguente codice:

#include <SPI.h>
#include <RFID.h>
#include <RCSwitch.h>

#define SDA_DIO 10  // 53 per Arduino Mega
#define RESET_DIO 9
#define delayRead 1000 // Time of delay 

String RCCode;
RCSwitch mySwitch = RCSwitch();
RFID RC522(SDA_DIO, RESET_DIO); 


void setup() {
 Serial.begin(9600);
 SPI.begin(); 
 /* Viene inizilizzato RFID reader */
 RC522.init();
 mySwitch.enableReceive(0);  // Receiver input on interrupt 0 (D2)
 pinMode(3, OUTPUT);
 Serial.println("Setup");
}

void loop() {
 
 byte i;
 
 if (RC522.isCard())
 {
   // Viene letto il suo codice 
   RC522.readCardSerial();
   String codiceLetto ="";
   Serial.println("Codice delle tessera letto:");
    
   // Viene caricato il codice della tessera, all'interno di una Stringa
   for(i = 0; i <= 3; i++)
   {
     codiceLetto+= String (RC522.serNum[i],HEX);
     codiceLetto.toUpperCase();
   }
   Serial.println(codiceLetto);
   delay(delayRead);
   Serial.println();
   Serial.println();
   //7A384F73
 }
   if (mySwitch.available()) {
   Serial.print("Received ");
   Serial.print( mySwitch.getReceivedValue() );
   RCCode = mySwitch.getReceivedValue();
   Serial.print(" / ");
   Serial.print( mySwitch.getReceivedBitlength() );
   Serial.print("Bit ");
   Serial.print(" // ");
   Serial.print("Protocol: ");
   Serial.println( mySwitch.getReceivedProtocol() );

   delay(1000);

   mySwitch.resetAvailable();

 if ( RCCode == "2708331"){
   executeRele();
   RCCode = "";
 }

 }


}

void executeRele(){
   
    Serial.println("High");
   digitalWrite(3, HIGH);
   delay(2000);
   digitalWrite(3, LOW);
   Serial.println("Low");

}

>mcdino: … vedo che nonostante ti sia stato suggerito di farlo, NON hai letto il REGOLAMENTO … ::slight_smile:

In conformità al suddetto regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo