Mi aiutereste ad aumentare la sicurezza di un apertura porta da citofono?

Ciao,
ho questo problema;
Il citofono (q516 preso su aliexpr3ss) ha un contatto NO e NC per aprire la porta.
Se semplicemente collego l'elettroserratura al contatto NO sicuramente commetto uno sbaglio, nel senso che dopo basterebbe a qualche ladruncolo di smontare il citofono e chiudere il contatto dell'elettroserratura per entrare in casa...

L'idea, e presumo che si faccia così, è di controllare che a riposo il contatto NO sia aperto e il contatto NC sia chiuso. In caso qualcuno stacchi i fili mi ritroverei con entrambi i contatti aperti e dovrei dare un allarme. In caso di NO chiuso e NC aperto invece demanderei ad arduino l'apertura della porta.

Se dico stupidaggini ho l'attenuante dell'inesperienza :slight_smile:

Mi aiutereste a realizzare lo schema elettrico di controllo con arduino? Tipo se devo mettere resistenze e condensatori???

Io come circuito penso sia simile al progetto dei pulsanti su breadboard, dove a valle dei pulsanti (nel mio caso dei contatti NC e NO) metto una resistenza da 220 e il pin di input per valutare se c'è o meno corrente...

Non Ti seguo.

L'elettroserratura viene alimentata dalla centralina attraverso il pulsante apertura del citofono nel Tuo apartamento.
La pulsantiera fuori casa fa capo alla centralina.
I fili di aliemtnazion della elettroserratura non dovrebbero passare attraverso la pulsantiera esterna.

Non capisco come qualcuno potrebbe comporometter il sistema.
Ciao Uwe

Ci fornisci il link dello schema di collegamento o devo farmi prestare da uwe la sua palla di cristallo?

cyberhs:
Ci fornisci il link dello schema di collegamento o devo farmi prestare da uwe la sua palla di cristallo?

Anche se chiedi e impolri, Non do in prestito la mia sfera di cristallo, neanche 5 minuti. :wink: :wink: :wink: Cosa faccio io senza??

Ciao Uwe

ad averceli...
io smontandolo vedo i contatti NO e NC del rele. l'immagine del PCB è a questo link

http://it.aliexpress.com/item/Low-price-sip-door-phone-voip-intercom-rfid-door-entry-system-Q516/32258869538.html?spm=2114.13010608.0.115.IbvrFw

proprio perché vedo il relè direttamente su PCB mi preoccupo. Poi magari è normale e ci sono sistemi per evitare che qualcuno entri chiudendo un contatto

Basta una calamita per fregare un relè, senza fare tanto reverse engineering del circuito

Inserisci sotto il coperchio un microswitch che chiuda quando il coperchio del citofono è normalmente posizionato.

Il microswitch lo colleghi ad un piccolo circuito (in casa vicino alimentatore dell'elettroserratura) che, quando non riceve più il segnale di coperchio chiuso, tolga l'alimentazione del circuito della serratura e mantenga questo stato anche se il coperchio viene rimontato.

Dovrebbe bastare un relè, un transistor NPN, un resistore ed un pulsante per il riarmo.

L'idea è ottima, è molto più semplice controllare se hanno smontato il citofono, che verificare lo stato del NO e NC del citofono :slight_smile:

Invece di un microswith avevo un sensore apertura porta di quelli magnetici ed ho usato quello. Quando viene aperto il coperchio si allontana il magnete e viene registrato lo stato di manomissione interrompendo il circuito che consentirebbe al relè del citofono l'apertura della porta.

Ancora grazie per la soluzione...

Intanto però ho notato che quando alimento il citofono in poe ho 12v anche sullo spinotto di alimentazione. Posso usare quella tensione per alimentare arduino e l'elettroserratura?

Come faccio a sapere quanto regge prima di rompersi???

Vorrei prelevare i 12v dallo spinotto del citofono per alimentare direttamente arduino uno e, non contento, vorrei mandare gli stessi 12v al contatto NO del citofono, così quando il citofono autorizza l'apertura manda i 12v all'elettroserratura.

La scheda interna del citofono è visibile nel link sopra, ma non credo basti per capire quanto regge...

grazie per ogni chiarimento

In teoria i 12V prelevati dal POE dovrebbero fornire Max 1A. Troppo pochi per comandaci anche l'elettroserratura

Brunello:
In teoria i 12V prelevati dal POE dovrebbero fornire Max 1A. Troppo pochi per comandaci anche l'elettroserratura

Ni, secondo la classe del utenza PoE che viene negoziato tramite utenza e iniettore PoE sono diverse potenze possibili.

Ciao Uwe

quindi è impossibile in ogni caso capire quanto posso ottenere da quei 12v. Se ci attacco l'elettroserratura per provare, semplicemente non si apre o rischio di bruciare il citofono?

grazie

Se ci attacco l'elettroserratura per provare, semplicemente non si apre o rischio di bruciare il citofono?

Rischi di far saltare il POE.

quindi è impossibile in ogni caso capire quanto posso ottenere da quei 12v

Rimane valido quello che ho detto prima, 12V MAX 1A nel migliore dei casi ( guarda anche il link che ha postato @uwe ).
E come dicevo non ti bastano per far funzionare il citofono e l'elettroserratura

Scusa se sono pedante, ma con salta il POE intendi che metto a rischio il POE di una singola porta o brucio l'intero circuito POE di 48 porte? Non ci attacco più l'elettroserratura, ma l'arduino uno vorrei ugualmente alimentarlo così

in ogni caso, al di la di questo piccolo dilemma sull'alimentazione ho un problema sul codice.
Lo ho ridotto all'osso per capire l'errore e ho notato, sicuramente per ignoranza mia visto che sono alle prime armi, che quando metto su HIGH il pin del relè, avviene esattamente il contrario di quello che mi aspettavo. Cioè su HIGH si disattiva...

const int PinSensoreManomissione = 2;     
const int PinConsensoApertura =  11;      


int StatoManomissione = 0;         
int lettura = 0;
void setup() {
 
 pinMode(PinSensoreManomissione, INPUT);
 
 pinMode(PinConsensoApertura, OUTPUT);

 Serial.begin(19200); // apro la seriale
  
 
}

void loop() {
 // LEGGO IL VALORE DEL SENSORE DI MANOMISSIONE:
 lettura = digitalRead(PinSensoreManomissione);


 Serial.println(lettura);
 if (lettura == 1) {
   // qui il rele dovrebbe sollecitarsi perchè con HIGH credevo di inviare i  5v e il contatto NO dovrebbe chiudersi -avviene il contrario
   digitalWrite(PinConsensoApertura, HIGH);
    Serial.println("HIGH");
 } else {
   // tolgo i 5v al rele e il contatto NO dovrebbe essere aperto - avviene il contrario
   digitalWrite(PinConsensoApertura, LOW);
 }
}

il circuitino è abbastanza semplice. Quando allontano il sensore magnetico (PinSensoreManomissione) ho 0 sul pin 2. Quando lo avvicino da seriale leggo 1

di conseguenza quando ho manomissione tolgo corrente al rele chè dovrebbe interrompere il circuito di apertura porta del citofono

Non ho visto link alla scheda relè che usi, in ogni caso verifica come funziona perchè in molti casi il funzionamento è esattamente ciò che ti si sta verificando, ovvero il relè è disattivo con uscita posta a HIGH e viene eccitato con uscita a LOW

ma con salta il POE intendi che metto a rischio il POE di una singola porta o brucio l'intero circuito POE di 48 porte?

Un POE non è altro che un convertitore DC-DC, che prende i 48V che gli vengono forniti attraverso il cavo Ethernet e li converte in una tensione più bassa, in questo caso 12V
Non ho quindi capito cosa intendi con "brucio l'intero circuito POE di 48 porte?"

Per la seconda domanda ti hanno risposto, se usi una scheda rele' già pronta, è normale che i comandi siano invertiti

chiedevo cosa intendevi con "fai saltare il poe"
Si brucia il circuito poe del citofono?
Si brucia il circuito poe della singola porta dello switch?
Si brucia l'intero poe dello switch per tutte le 48 porte?

Cose che sono scontate per te, purtroppo non lo sono per me :frowning:

Per il funzionamento del relè tutto OK. è effettivamente corretto che su 0 si sollecita il rele. grazie.

di seguito incollo lo sketch che userò per l'anti manomissione del citofono e incredibilmente sembra funzionare bene :slight_smile:
grazie a tutti

const int PinSensoreManomissione = 2;     
const int PinConsensoApertura =  3;      
const int PinPulsanteRiarmo = 4;

int StatoManomissione = 0;         
int lettura = 0;

void setup() {
 
 pinMode(PinSensoreManomissione, INPUT);
 
 pinMode(PinConsensoApertura, OUTPUT);

 Serial.begin(19200); // apro la seriale
  
 
}

void loop() {


if (digitalRead(PinPulsanteRiarmo)){ 
 StatoManomissione=0; // Se premo il pulsante azzero lo stato di manomissione
 }  
 lettura = digitalRead(PinSensoreManomissione);  // LEGGO IL VALORE DEL SENSORE DI MANOMISSIONE:


 Serial.println(lettura);
 if (lettura == 1 and StatoManomissione == 0) {
   // nessuna manomissione - toglo corrente al relè sollecitandolo e consentendo apertura
   digitalWrite(PinConsensoApertura, LOW);
    Serial.println("LOW");
 } else {
   
   // manomissione - mando corrente al rele togliendo sollecitazione ed impedendo apertura
   digitalWrite(PinConsensoApertura, HIGH);
   StatoManomissione=1;
 }
}

@Nativoz: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Guglielmo