Aiuto per modulo 433Mhz [RISOLTO]

All0ra vi spiego cosa vorrei fare, vorrei tramite un modulo a 433Mhz e un telecomando aprire un cancello con serratura elettrica a 12V.

Ma partiamo con calma dato che non ho esperienza alcuna sia sul modulo, che sui relè pilotati, ora vorrei andare per gradi questo è quanto ho ora:

Ora il codice di base è questo:

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

void loop() {
  int sensorValue = analogRead(A0);
  int sensorValue2 = analogRead(A1);
  int sensorValue3 = analogRead(A2);
  int sensorValue4 = analogRead(A3);
  Serial.print(sensorValue, DEC);
  Serial.print(";;;");
  Serial.print(sensorValue2, DEC);
  Serial.print(";;;");
  Serial.print(sensorValue3, DEC);
  Serial.print(";;;");
  Serial.print(sensorValue4, DEC);
  Serial.print(";;;");
  delay(500);
  }

Ora alla pressione dei 4 tasti del telecomando viene rilevato un valore decimale 1024 mentre altrimwenti il valore che scorre è zero.

Scusate per la domanda cretina ma sono alle prime armi.
Se io ora volessi prendere quel valore compararlo e (per ora far accendere un led) come dovrei intervenire sul codice?
Ho cercato in rete per capire con un codice commentato come esmpio ma non so bene come farlo con il codice.

In poche parole dovrei inserire un un controllo decimale del valore riscontrato e se = a 1024 dovrei in viare il comando di accensione del led per un periodo stabilito dal delay
facile a pensare ma prima di fare danni inserendo istruzioni sbagliate volevo avere un appoggio dove capire come fare in maniera tangibile, grazie.

Non capisco perche' tu legga in analogico quelli che sono valori digitali.

Quella e' la classica accoppiata PT2262-PT2272, quando premi un tasto, il pin corrispondente ( sul ricevitore ) va' a livello High.

Non devi fare altro che leggere i vari pin connessi ( con il digitalread ) e vedere che tasto e' stato premuto

brunello:
Non capisco perche' tu legga in analogico quelli che sono valori digitali.

Quella e' la classica accoppiata PT2262-PT2272, quando premi un tasto, il pin corrispondente ( sul ricevitore ) va' a livello High.

Non devi fare altro che leggere i vari pin connessi ( con il digitalread ) e vedere che tasto e' stato premuto

Scusa non ho capito ho trovato solo quel codice in allegato ma non specifica niente di cosa sia, che intendi che riconosce il tasto? Cosa in tendi il pin corrispondente va a livello High quali sono i pin corrispondenti ?

io ho collegato solo gli analogici per rilevare i segnali dal A0 a A4
Intendi dire che i pin a1-a2-a3-a4 vanno in high?

Intende che non devi collegare A0-A5 ma collegare quelli digitali, che sò 8-9-10-11-12
Poi nel codice cambi
int sensorValue = analogRead(A0);
int sensorValue2 = analogRead(A1);
int sensorValue3 = analogRead(A2);
int sensorValue4 = analogRead(A3);
con
int sensorValue = digitalRead(8);
int sensorValue2 = digitalRead(9);
int sensorValue3 = digitalRead(10);
int sensorValue4 = digitalRead(11);
int sensorValue5 = digitalRead(12);

poi i collegamento son 5, perchè quello sketch ha solo A0->A3 (4 collegamenti) ?

qual codice ti stamperà 0 o 1 se premi un tasto invece di 0 o 1024.
potresti ad esempio fare
if(sensorValue==HIGH)
{ Serial.println("hai premuto tasto A"); // suppongo primo pin=tasto A
}

Se invece lasci la lettura sugli analogici fai
if(sensorValue==1024)
{ Serial.println("hai premuto tasto A"); // suppongo A0 collgato a tasto A
}

in quell'if potresti accendere un led collegato al pin 13
(non chiedere come accendere un led con Arduino altrimenti ti mozzichiamo un orecchio, cerca nel forum)

Ma tu che devi fare? verificare la sequenza dei tasti premuti (password) e se okay, allora apri il cancello?
che sò, premuto A-C-D-A okay allora apro cancello?

Io vorrei fare semplice premi a apro il cancello

if(sensorValue==HIGH) //oppure sensorValue==1024)
{ // codice che attiva un pin collegato ad un relè a 12V che apre il cancello
}

se il primo pin = A, secondo = B, etc.

per collegare un relè cerca nel forum o in internet, è pieno di esempi.
Io ho comprato questo su ebay dall'UK
http://cgi.ebay.it/ws/eBayISAPI.dll?ViewItem&item=130842693058#ht_1470wt_1188
ed è semplice da usare. Colleghi 5V, GND e che sò il pin 4. Attivi il pin 4 da Arduino e il relè si eccita.
nel setup -> pinMode(4, OUTPUT);
nel loop ->
if(sensorValue==HIGH)
{ digitalWrite(LEDPIN, HIGH);
}

Magari per la parte elettrica qualcuno di + esperto può darti dritte migliori di me.

(Anche perchè poi il cancello si deve anche richiudere, penso)

Vedo che ti hanno gia' risposto..

Spiegami una cosa... perche' un arduino per aprire un cancello ?
(a proposito.. e' un cancelletto di cui devi solo gestire la serratura elettrica ? )

Perche' se al modulino che hai, colleghi un rele', hai gia' fatto l'apricancello

:slight_smile: Grazie a tutti sono riuscito a pilotare 2 relè facendo come mi avete detto XD