Go Down

Topic: rilevare presenza oggetto con fotocellula o simile (Read 166 times) previous topic - next topic

liuk88

Ciao a tutti,

per un gioco che sto realizzando vorrei creare il seguente indovinello:
il giocatore avrà a disposizione 5 "cassettini" e deve posizionarli in un "lettore di cassettini" nell'ordine corretto.

L'ordine lo deve capire tramite un indovinello logico, fatto sta che vorrei verificare che li ha inseriti correttamente.

Volevo evitare di mettere degli "spuntoni" che vanno a premere dei sensori di contatto.

Pensavo di utilizzare una sistema simile ai sensori dei cancelli elettrici (che se il segnale della fotocellula non torna indietro non si chiude).

Premetto che non ho la più pallida idea di quali componenti utilizzare.

In allegato il disegno di quello che pensavo di fare:
- i "cassettini" sono appunto dei cassetti estraibili di piccole dimensioni
- il "lettore di cassettini" è un mobiletto sempre di piccole dimensioni dove dietro sarà presente arduino

Volevo sapere quali componenti mi consigliate e soprattutto se la mia soluzione può andar bene oppure se sono fuori strada... thanks! :)

Ringrazio tutti in anticipo  :)

Luca

fabpolli

#1
Nov 20, 2019, 03:53 pm Last Edit: Nov 20, 2019, 03:54 pm by fabpolli
Ti dico la mia, invece che complicarti la vita e spendere anche un po' di soldi in fotocellule perché dietro nei cassettini non incolli un foglio di materiale conduttore (Es. alluminio) nelle posizioni che desideri.
Sul fondo del mobiletto invece metti il solito materiale conduttore ma diviso in due parti in modo che quando il cassetto è inserito nel posto giusto chiuda il circuito tra queste due parti, per intendersi:
Code: [Select]

* |
  |
* |

Gli alterischi sono le due sezioni in fondo al mobiletto, i pipe (|) sono l'unico conduttore presente sul fondo del cassettino.
A questo punto ti basta collegare ua delle due parti in fondo al mobiletto a GND e collegare l'altra parte (con una resistenza) ad un pin defintio INPUT_PULLUP e leggerlo come se fosse un comunissimo pulsante.
Che ne pensi?

docdoc

Anche se non so quale sia l'applicazione reale (provo ad indovinare: una escape room?) nel tuo caso direi anche che fare qualcosa di così "fisico" rischia che qualcuno capisca lo scopo della fascia di alluminio (o di qualche riflettore) dietro ad ogni cassetto, guardando anche dentro alla cassettiera...

Oltre a qualcosa di meno "visibile", direi che magari si potrebbe anche trovare una soluzione flessibile dove la corrispondenza cassetto-posizione potrebbe cambiare per realizzare schemi diversi per giochi e soluzioni diverse (il che rende ulteriormente vano il cercare di dedurre l'associazione osservando i cassetti).

Per fare questo dovresti poter determinare quale cassetto è inserito in ognuno dei vani della cassettiera, combinazione che via software verificherai rispetto alla "soluzione" definita nel codice.

Quindi devi avere un "identificatore" per ogni cassetto (qualcosa che risulti differente tra un cassetto e l'altro) ed un "sensore" per ogni vano (che possa quindi capire se non c'è nessun cassetto o, se c'è, quale cassetto è presente).

Ora le soluzioni potrebbero essere varie, con difficoltà e costi molto vari.

Estendendo l'idea di fabpolli, ad esempio, direi che potresti mettere sul fondo del cassetto una resistenza (una diversa per ogni cassetto) tra due viti come contatto, mentre nella cassettiera ci saranno due viti con altrettante mollettine (per assicurare un contatto migliore e più stabile) collegate ad un ingresso analogico per ogni vano messo in pull-up. Arduino potrebbe quindi capire quale vano ha un cassetto (quelli vuoti avranno +5V quindi 1023) e, se c'è un cassetto, di quale si tratta (in base alla resistenza rilevata ossia al valore letto dal pin analogico).

Questa soluzione è relativamente semplice e flessibile, a patto di "lavorare" un poco con cassetti, viti, mollette, resistenze.

Altrimenti forse potresti risolvere con una card RFID incollata dietro ad ogni cassetto (sono bianche, tutte uguali, nessuno può capire nulla), ed un lettore RFID dietro ad ogni vano (gli RC522 sono SPI quindi avrai SCLK/MOSI/MISO in parallelo ed un pin SS per ogni lettore, per info vedi QUI)... ;)

Più facile da implementare ma ovviamente con un costo totale maggiore.
Alex "docdoc"
- "Qualsiasi cosa, prima di rompersi, funzionava"

fabpolli

Mi piace molto l'idea della resistenza a cui non avevo pensato. Detto che anche nel caso si volgia applicare la mia idea occorre penare ad un sistema ad aggancio sicuro, avevo pensato anch'io alle mollette tipo quelle dei porta batterie stilo o ministilo per capirsi.
Se proprio proprio non si volesse adottare la soluzione della resistenza (ma anch'io punterei su quest'idea a questo punto) per scongiurare la possibilità che guardando cassettini e mobiletto si possa azzeccare la giusta sequenza basterebbe che sul fondo del mobile siano presneti N coppie con posizioni identiche per utti i cassetti (Es angolo alto sx, al centro in alto, angolo alto dx, centro sx, centro, centro dx, angolo basso sx, al cento in basso, angolo basso dx) e nel retro solo una di queste sarà collegata, a questo punto essendo chiaro che ogni cassetto andrà in un posto non sarà possibile guardando determinare la posizione visto che i fondi sono tutti uguali.
Quest'opzione limita il umero di cassetti a dove (sequendo il mio esempio), mentre la soluzione della resistenza teoricamente ne supporta anche di più.
Come già detto prima voto la soluzione di docdoc


Ducembarr

Io direi che risolto il problema dell'aggancio, che dipende dalla forma fisica del cassettino,

se vuoi ne parliamo dopo

Risolto l'aggancio con solo 6 viti e sei corrispondenti borchie sul cassetto

Sempre nella stessa posizione per tutti i cassetti

Risolvi senza l'uso di Arduino o comunque alcun tipo di elettronica

Non ti spiego come senza consenso dai moderatori
Potrebbe essere contrario al regolamento

Se la viti le metti sul fondo e come borchie usi dei rivetti in alluminio, li puoi mascherare da piedini dei cassetti
C'è sempre qualche idea controcorrente...
Qui dal Dinamico Duo

fabpolli

Togli pure il potrebbe, è sicuramente contro il regolamento

gpb01

Risolvi senza l'uso di Arduino o comunque alcun tipo di elettronica
Non ti spiego come senza consenso dai moderatori
Potrebbe essere contrario al regolamento
Togli pure il potrebbe, è sicuramente contro il regolamento
... infatti, come sempre ripeto, per discussioni che NON coinvolgono Arduino, ci sono altri forum :)

Guglielmo

P.S.: REGOLAMENTO, punto 16.11
Search is Your friend ... or I am Your enemy !

liuk88

ciao a tutti,

grazie mille delle risposte... credo la resistenza tra le soluzioni proposte sia la migliore per le esigenze che ho. Stasera faccio alcune prove e vi faccio sapere.

Grazie mille di nuovo!!

Luca

Go Up