Salve a tutti,
so che sto per aprire un argomento su cui si è discusso tanto.
Ma ho bisogno di un parere da chi ha più esperienza di me.
SCENARIO:
Serratura elettronica realizzata con lettore RFID e un arduino che attiva una elettroserratura.
PROBLEMA:
mettere il lettore RFID fuori della porta e l'arduino dentro, in questo modo non mi espongo al rischio che scassinando la scatola del sensore si possa aprire la porta "mettendo insieme i fili del relè"...
DOMANDA:
Potrei mettere la scatola con il sensore RFID e l'arduino su le due facce contrapposte dello stesso muro di 15 cm.
Quindi: posso realizzare un bus SPI tra il sensore e l'arduino di 30-40 cm sperando che funzioni?
Attenzione: ho già letto tutto quello che ho trovato in merito a specifiche ecc ecc ho bisogno del parere di qualcuno che ci ha già provato.
Riker1312:
Quindi: posso realizzare un bus SPI tra il sensore e l'arduino di 30-40 cm sperando che funzioni?
NO, il bus SPI è un bus molto veloce fatto per collegamenti sullo stesso circuito stampato e NON fatto per essere portato in giro a destra e sinistra.
Un collegamento di 30/40 cm è totalmente fuori specifiche e ... magari una volta funziona e la volta dopo non va nulla.
Prendi un piccolissimo (ed economicissimo) Arduino Pro Mini attaccalo dietro al lettore RFID e trasmetti i dati letti all'Arduino attuatore via seriale.
Grazie,
immaginavo la risposta ma ora ho la conferma.
Il lettore RFID che ho usato lavora esce con un bus SPI e se ne trovassi uno che esce con un bus I2C, stesso problema di lunghezza?
Con la soluzione proposta devo "dividere in due" il progetto, la parte "lettura RFID" che semplicemente legge le card e spara le letture alla parte "cervello" che verifica la card ed eventuaelmte apre la porta...
Mi sai suggerire (prima che cerchi per mezz'ora) un esempio su come realizzare una infrastruttura del genere?
Confermo che con la I2C hai lo stesso problema e ... non ricordo lettori RFID con uscita in I2C.
L'applicazione è semplice, prendi la parte che attualmente legge il RFID e la metti su un Pro Mini, quando legge trasmette i dati sulla seriale, l'altro Arduino è in ascolto sulla seriale e quando riceve i dati agisce di conseguenze.
E' un normale scambio di dati tra due Arduino via seriale (incroci TX e RX e i GND in comune). Naturalmente ti dovrai inventare un minimo di "protocollo" per essere sicuro che i dati trasmessi arrivino ed arrivino corretti.
Se non erro Arduino ha la limitazione che ha una sola seriale che poi è quella che utilizza per la connessione USB (e il terminale).
Per fare il debugging mi serve poter usare il terminale...
Quindi devo sviluppare su un MEGA per avere una ulteriore porta seriale?
Se non erro Arduino ha la limitazione che ha una sola seriale che poi è quella che utilizza per la connessione USB (e il terminale).
Per fare il debugging mi serve poter usare il terminale...
Quindi devo sviluppare su un MEGA per avere una ulteriore porta seriale?
Come ti ha indicato "fabpolli" puoi creare seriali aggiuntive virtuali usando la libreria standard SoftwareSerial, anche se, onestamente, io preferisco la AltSoftSerial che è più veloce ed introduce alcune migliorie, anche se obbliga l'uso di determinati pin.
Per entrambe leggi comunque bene i references perché hanno le loro specifiche limitazioni.
il mio lettore di carte RFID lavora a 3,3 volt e "supporta" questi arduino (almeno fornisce lo schema di collegamento di questi):
Uno/101
Mega
Nano v3
Leonardo/Micro
Pro Micro
volendo realizzare lo sdoppiamento dei progetto un due parti: lettore/cervello e volendo avere 2 seriali hardware da entrambe le parti per poter fare agevolmente debug e senza aggiungere librerie ulteriori...
Quale arduino per la parte "lettore" e quale per la parte "cervello"?
Tra l'altro come possibile espansione pensavo di far registrare i passaggi su un server tramite la Wi-Fi, quindi se la parte "cervello" avesse la wi-fi integrata sarebbe il massimo...
Arduino Pro Mini che ti ho suggerito è praticamnete un Arduino UNO senza tutto i "fronzoli" intorno ... così da poter avere le dimensioni minime che ha, ma, a livello di collegamenti è come una UNO e quindi valgono le stesse connessioni.
Però, visto che vuoi fare una cosetta simpatica con anche il WiFi e il RFID lavora a 3.3V, potreti ...
usare come "cervello" (come lo chiami tu) un Arduino MKR1000 che lavora anche essa a 3.3V ed ha il WiFi integrato. Inoltre, la MKR1000, ha la USB (Serial) e la seriale (Serial1) separate e quindi NON ti serve creare nessuna seriale virtuale per avere una porta seriale in più.
In questo modo potresti collegare tutto direttamente senza la necessità di adattare i livelli.
Secondo me attraverso il muro di 15 cm ce la può fare... consideriamo che dovrà scavare nel muro per inserire due scatole, una per ogni lato del muro. Alla fine, sarebbero una decina di cm di collegamento se ottimizza tutto.
gpb01:
... lui parla di 30/40 cm ... spero abbia misurato prima ... :
Guglielmo
Si ho scritto 30-40 per capire in che range stiamo con le tolleranze...
Effettivamente con lo scenario prospettato (2 scatole speculari sul muro) la distanza sarebbe minore di 30-40... potremmo arrivare a meno, ma non penso si scenderebbe sotto i 20 cm...
Ma se davvero lo SPI è concepito come "BUS per comunicazioni su schede tra chip" anche con 20 centimetri potremmo chiedergli troppo...
Riker1312:
Ma se davvero lo SPI è concepito come "BUS per comunicazioni su schede tra chip" anche con 20 centimetri potremmo chiedergli troppo...
Anche 10 cm. possono creare problemi su un qualche cosa che viaggia ad alta frequenza (4MHz di base su Arduino) e che lavora sui fronti del segnale ...
... tu puoi anche provarci ... ma se poi una volta resti fuori di casa, NON venire a dire che non eri stato avvisato.
gpb01:
Anche 10 cm. possono creare problemi su un qualche cosa che viaggia ad alta frequenza (4MHz di base su Arduino) e che lavora sui fronti del segnale ...
... tu puoi anche provarci ... ma se poi una volta resti fuori di casa, NON venire a dire che non eri stato avvisato.
Guglielmo
Infatti avevo desistito subito!
Una serratura che "apre quando funziona" non è una serratura ma una lotteria!
Mi sto già attrezzando per "spezzare" il progetto in due e metterci di mezzo la comunicazione seriale.
Tanto mi servirebbe comunque implementarla perché ho anche un'altra porta dove la distanza tra le due scatole sarà di circa 1,5 metri...
Riker1312:
...
Tanto mi servirebbe comunque implementarla perché ho anche un'altra porta dove la distanza tra le due scatole sarà di circa 1,5 metri...
Riker1312:
Una serratura che "apre quando funziona" non è una serratura ma una lotteria!
Ma è proprio quello che stai realizzando, considera che stai adoperando materiale per fare esperimenti, prototipi da tenere sul tavolino e giocherellare, quindi in ogni caso "apre quando funziona" per definizione
Riker1312:
lettore RFID fuori della porta e l'arduino dentro, in questo modo non mi espongo al rischio che scassinando la scatola del sensore si possa aprire la porta "mettendo insieme i fili del relè"...
Sistema comunque fragile, basta fornire tensione dall'esterno per bruciare tutto. Un ingresso con un minimo di sicurezza (di non restare chiusi fuori) deve prevedere anche un backup di emergenza a prova di ESD/EMP (anche involontari come cariche elettrostatiche o fulmini ne paraggi), magari realizzato con tecnologia di livello inferiore (elettromeccanica).
La seriale può comunque essere facilmente optoisolata per diversi kV di tensione, quindi almeno tra la parte esterna e quella interna cercherei di realizzare la maggiore separazione possibile, e quella esterna dovrebbe essere dotata di abbondanti scaricatori verso terra (naturalmente alimentazioni separate).
Claudio_FF:
deve prevedere anche un backup di emergenza a prova di ESD/EMP
Per quanto mi riguarda il backup c'è già ed è lo "stato delle cose attuale".
Una delle porte è un portone esterno già dotato di videocitofono/elettroserratura l'apparato servirà per facilitare l'apertura e tracciare gli accessi.
La seconda è una porta di sicurezza che quando deve essere "chiuso bene" è chiusa con la serratura con chiave di sicurezza e 6 sbarre a espansione.
Mentre quando è in "esercizio" si apre tramite una elettorserratura... anche in questo caso vorrei facilitare l'apertura, limitare il numero di chiavi di sicurezza date alle persone e tracciare gli accessi...
In entrambi i casi devo semplicemente mettermi in parallelo al pulsante che esiste già ed apre le porte quando viene premuto.