Ho l'esigenza di dover gestire l'accesso ad una porta unicamente provvista di chiavistello (quello scorrevole, per intenderci) e vorrei collegarlo ad un servo motore, che si occupera' di gestire il movimento orizzontale necessario (tramite opportuni collegamenti - accettasi consigli).
Lo sblocco avverra' tramite convalida RFID.
In sintesi quindi: rfid -> arduino -> servo motore.
In teoria e' banale, in pratica questo e' il mio primo progetto di elettronica e sono un tantino titubante sui passi da fare.
Ho letto diverse interpretazioni della questione sul web, ma ci sono diverse discrepanze e piuttosto che limitarmi ad un copia-incolla, vorrei poter assimilare qualcosa e valutare l'opzione meno complicata e dispendiosa.
A disposizione ho:
Arduino UNO
RFID RC522
Power Supply
Breadboard
Servo Motore
Credo un relay da 5v
Se gentilmente qualcuno potesse darmi qualche lucidazione sui collegamenti, nonche' eventuale presenza di resistenze e/o altro, gliene sarei molto grato.
Buonasera,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (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 il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda: - serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - pinout delle varie schede by xxxPighi: Pinout - link generali utili: Link Utili
tobito:
Se gentilmente qualcuno potesse darmi qualche lucidazione sui collegamenti, nonche' eventuale presenza di resistenze e/o altro, gliene sarei molto grato.
... come materiale sembra che tu abbia tutto, se metti un link al RFID ed al servo, così vediamo esattamente quello che hai e leggiamo le caratteristiche esatte.
Credo che la parte meccanica sia la più complicata, che dovrebbe essere progettata per prima. Penso a un attuatore lineare tipo questo, se ti bastano 10cm.
Poi c'è la sicurezza: che succede se manca corrente?
pgiagno:
Credo che la parte meccanica sia la più complicata, che dovrebbe essere progettata per prima. Penso a un attuatore lineare tipo questo, se ti bastano 10cm.
Poi c'è la sicurezza: che succede se manca corrente?
Ciao,
P.
Ciao!
Sì, diciamo che ho istintivamente qualche soluzione rudimentale per la parte meccanica, ma non ho testato nulla di concreto, anche perché vorrei prima valutare la "forza" necessaria per far scorrere il chiavistello e regolarmi di conseguenza.
In merito alla questione sicurezza, lecite osservazioni, ma nella fattispecie non occorrono: trattasi di un accesso ad una terrazza di mia proprietà, alla quale posso accedere dal lato opposto.
Un'entrata è collegata al condominio, l'altra direttamente a casa mia (con tanto di porta blindata).
L'entrata collegata al condominio è interdetta da una porta in legno con un chiavistello (che si apre dal lato della terrazza) soltanto; non c'è una serratura.
In sostanza devo poterci accedere facilmente senza installare una serratura, dato che in termini condominiali la terrazza è mia, ma l'accesso alla stessa è area comune (supercazzole all'italiana, insomma) inoltre eventuali lavori devono essere svolti previa approvazione dei condomini -> devo chiedere il permesso al resto dei condomini -> i condomini son deficienti -> tiro sedie a tutti.
In effetti mi ero fatto già un'idea dopo aver testato il codice esempio dei servo dell'IDE.
Mi consiglieresti un servo adatto all'occasione? Come faccio a valutare se sia effettivamente utile?
Inoltre, rivolgendomi a tutti, vorrei possibilmente delle delucidazioni sulla questione EEPROM.
Cercando snippets da analizzare ed adattare al mio caso, sono incappato in questo.
Il primo sketch prevede di reperire il codice dal tag, il secondo effettua delle comparazioni ed in caso positivo, accende il led.
Mi pare di capire che abbia integrato un meccanismo di reset-integrazione dei tag a runtime, senza quindi dover ri-caricare uno sketch per l'inserimento di altri tag...
Però, a parte che non sono sicuro di ciò che sto scrivendo, mi lascia perplesso quel: ** slave = EEPROM.read(0);**
cos'è che va leggendo, se nella eeprom non ci ha scritto nulla? :o
Che vantaggi ci sono, a priori, a scrivere nella eeprom rispetto a dichiarare una variabile? La prima è indipendente e quindi può essere letta/modificata al di là dello sketch caricato?
Scusatemi le domande forse molto stupide, ma sono ben lontano dalla figura del programmatore e tanto meno conosco i concetti architetturali di elaboratori, microcontrollori ecc nonché la sintassi simil-C
La EEPROM è una memoria in cui puoi scrivere (come nella SRAM), ma che ha il vantaggio che ... NON si cancella se togli l'alimentazione.
Rovescio della medaglia ... il numero delle scritture, per ogni singolo suo byte, è "garantito" sino ad un massimo di 100'000 scritture, dopo di che ... potrebbe essere che non si riesce più a scrivere/leggere quel singolo byte.
Se devi memorizzare dei "valori" da programma ed essi debbono rimanere memorizzati anche quando spegni/togli l'alimentazione ad Arduino, la EEPROM è un'ottima cosa, purché questi valori siano ... sufficientemente statici.
100'000 scritture possono essere poche se ne fai una ogni secondo (poco meno di 28 ore), ma sono tantissime se ne fai una al giorno (oltre 273 anni), quindi ... occorre sempre valutarne l'uso.
Nota che le letture sono invece praticamente illimitate.
gpb01:
Se devi memorizzare dei "valori" da programma ed essi debbono rimanere memorizzati anche quando spegni/togli l'alimentazione ad Arduino, la EEPROM è un'ottima cosa, purché questi valori siano ... sufficientemente statici.
Ed a che pro questo? Affinché qualsiasi altra cosa si possa interfacciare alla eeprom per leggere il valore, senza dipendere da Arduino?
Se così non fosse, mi sa di non aver ancora capito la differenza, dato che comunque il valore di una variabile, da quanto neso, in uno sketch resta anche in caso di mancata alimentazione (nel senso che al prossimo reboot, tutto come da norma)
NO, non hai capito ...
... in una variabile (SRAM) sei TU che al riavvio devi rimettere dentro i valori e, se li vuoi cambiare, devi ricompilare il programma, quelli nella EEPROM sono stabilmente memorizzati e, senza ricompilare il programma, li modifichi direttamente da codice.
Quindi, se ti arriva un nuovo TAG, NON devi riprendere il programma, aggiungere il suo codice e ricompilare, ma avrai una semplice funzione che, ad esempio, ti chiederà il numero di TAG da seriale e lo aggiornerà nella EEPROM.
Dati che leggi da sensori, temperature, tensioni, impostazioni che introduci a mano di volta in volta, qualsiasi cosa che leggi o inserisci al momento e non e' nello sketch, ma che ti serve di poterla salvare da qualche parte per poi riutilizzarla ... per quello viene buona la eeprom ...
Per quanto riguarda invece il lato meccanico, dato che non puoi mettere una serratura (ma non puoi mettere neppure uno "scrorro" a molla al posto del chiavistello ? ), ti consiglio un motore con motoriduttore e due finecorsa, al posto del servo ... li piloti comunque da arduino volendo, e ce ne sono anche con parecchi chili di forza ... se poi ti serve di poter aprire il chiavistello anche a mano senza corrente dalla parte della terrazza, si fa u'asola sul braccetto che muove e si mette una molla che richiude il chiavistello ... oppure, come dicevo, si sostituisce il chiavistello a scorrimento con uno a scrocco ed apertura elettromagnetica, e diventa ancora piu semplice ...
"Che vantaggi ci sono, a priori, a scrivere nella eeprom rispetto a dichiarare una variabile? La prima è indipendente e quindi può essere letta/modificata al di là dello sketch caricato?"
Mi sa che non l'ho scritta bene
Grazie ad entrambi.
Etemenanki:
Per quanto riguarda invece il lato meccanico, dato che non puoi mettere una serratura (ma non puoi mettere neppure uno "scrorro" a molla al posto del chiavistello ? ), ti consiglio un motore con motoriduttore e due finecorsa, al posto del servo ... li piloti comunque da arduino volendo, e ce ne sono anche con parecchi chili di forza ... se poi ti serve di poter aprire il chiavistello anche a mano senza corrente dalla parte della terrazza, si fa u'asola sul braccetto che muove e si mette una molla che richiude il chiavistello ... oppure, come dicevo, si sostituisce il chiavistello a scorrimento con uno a scrocco ed apertura elettromagnetica, e diventa ancora piu semplice ...
In linea di massima le condizioni per una qualsiasi soluzione sono due:
ci devono essere interventi solo sulla porta (in legno) e dal mio lato
non deve costare tanto; seriamente, non ne vale la pena.
Il solenoide l'avevo preso in considerazione, ti ringrazio per aver riesumato l'idea, è che in origine quel dc a 12v mi aveva suggerito una complicazione circuitale (ed economica, dato che mi pare di capire che necessiti di un'alimentazione secondaria) fuori dalla mia portata.
Come possibile potrei scattare una foto, ma in soldoni il chiavistello è a scorrimento orizzontale e si va a ficcare direttamente in un buco nel muro (soluzione all'amatriciana del condominio, precedente al mio arrivo), in virtù di questo ho pensato che un semplice movimento di 90° di un servo, opportunatamente "legato", avrebbe potuto sbloccarlo.
Ora come ora sarei più che altro interessato a capire il servo che mi occorre (in termini di potenza) e se ci sono suggerimenti sulla meccanica da implementare; suggerimenti che possono anche disfarsi del servo per inciso, il chiavistello posso anche cambiarlo, l'importante, ripeto, è non intervenire sull'esterno della porta... Altrimenti avrei già installato una serratura elettrica con tanto bocchetta e amen.
Inoltre, qualcuno sa dirmi come si chiamano quei bracci che si possono collegare al perno dei servomotori?
Per spostare quel coso (per di piu arrugginito :D), mi sa che ti servira' davvero un motoriduttore con un braccetto in grao di muovere un po di chili, altro che servo ...
Il solenoide lo potresti tranquillamente installare sulla porta dal lato interno, dall'altra parte (a muro) al massimo andrebbe un'aletta in metallo cementata dove adesso entra il chiavistello per agganciarsi allo scrocco del solenoide ... e sull'altro lato della porta non si vedrebbe nulla ... l'alimentazione non sarebbe un problema dato che dovresti comunque alimentare anche l'eventuale arduino e lettore RFID, un singolo alimentatore da 12V ben filtrato e disaccoppiato fra logica e solenode potrebbe fare il tutto (resta la migliore soluzione, quella di avere due alimentazioni separate, ma con un paio di diodi e qualche condensatore se ne puo usare anche una sola)
Etemenanki:
Per spostare quel coso (per di piu arrugginito :D), mi sa che ti servira' davvero un motoriduttore con un braccetto in grao di muovere un po di chili, altro che servo ...
Il solenoide lo potresti tranquillamente installare sulla porta dal lato interno, dall'altra parte (a muro) al massimo andrebbe un'aletta in metallo cementata dove adesso entra il chiavistello per agganciarsi allo scrocco del solenoide ... e sull'altro lato della porta non si vedrebbe nulla ... l'alimentazione non sarebbe un problema dato che dovresti comunque alimentare anche l'eventuale arduino e lettore RFID, un singolo alimentatore da 12V ben filtrato e disaccoppiato fra logica e solenode potrebbe fare il tutto (resta la migliore soluzione, quella di avere due alimentazioni separate, ma con un paio di diodi e qualche condensatore se ne puo usare anche una sola)
Li facevo più cazzuti i servomotori
Beh comunque il chiavistello lo posso sostituire!
Resta il punto di fondo, ovvero 'sti braccetti. Ce l'hanno un nome tecnico? ho visto i motoriduttori, ma non sono sicuro di sapere come collegarli eventualmente, al chiavistello.
Per quale motivo un attuatore lineare come questo non andrebbe bene?
Funziona a 12V, ha una forza più che sufficiente a smuovere anche un paletto arrugginito, non comporta interventi sulla porta (a parte l'applicazione del dispositivo) e, se rimosso, ripristina le condizioni iniziali della porta stessa (a parte un paio di fori).
Ci sono anche con la forza piu o meno equivalente a quella di un'attuatore lineare come quello postato sopra ... solo che non sono ne piccoli ne economici, di solito ...
I braccetti non so se abbiano un nome "tecnico" specifico, sono semplici leve ... va anche considerato che piu ti allontani dal centro di rotazione (per ampliare il movimento) e meno forza puo sviluppare il tutto, come per qualsiasi leva ...
Probabilmente sto facendo la figura del tirchio, ma è proprio una questione di fondo; hai dato un'occhiata alla foto presumo, beh se si somma l'Arduino + attuatore lineare + alimentatore 12v + chiavistello nuovo e altre piccole spese, l'importo lievita tra i 70-80€... Per una porta che butterebbe giù pure il mio micio barcollante dopo l'anestesia e una sniffata di erba gatta... Se il condominio non fosse perlopiù composto da amebe bastian contrario, avrei già sostituito la porta e sicuramente preso in considerazione la tua proposta (al di là dei tempi citati da Etemenanki, che tutto sommato non soffro), per la quale comunque ringrazio!
Etemenanki:
Ci sono anche con la forza piu o meno equivalente a quella di un'attuatore lineare come quello postato sopra ... solo che non sono ne piccoli ne economici, di solito ...
I braccetti non so se abbiano un nome "tecnico" specifico, sono semplici leve ... va anche considerato che piu ti allontani dal centro di rotazione (per ampliare il movimento) e meno forza puo sviluppare il tutto, come per qualsiasi leva ...
Ma questo bestione tira via chiavistello, porta e muro alla prima girata
I braccetti alla fine li ho trovati sotto il nome convenzionale (e generico?) di "linkage", tipo questo.
Giusta osservazione la tua, inizialmente avevo considerato di posizionare il servo in maniera perpendicolare alla manopola del chiavistello, in stato di "chiuso".
All'occorrenza, un semplice movimento di 90° (ma penso anche 45-60°) avrebbe smosso tutto... Ma dopo aver appreso delle limitazioni dei servo low cost... Come lo collego 'sto motoriduttore?
Ah, sarò ridondante, ma grazie sempre per il supporto, sto imparando molto.