Sommario:

Sensore a infrarossi per dadi: 5 passaggi
Sensore a infrarossi per dadi: 5 passaggi

Video: Sensore a infrarossi per dadi: 5 passaggi

Video: Sensore a infrarossi per dadi: 5 passaggi
Video: Sensore di movimento infrarossi PIR 2024, Luglio
Anonim
Sensore di dadi a infrarossi
Sensore di dadi a infrarossi
Sensore di dadi a infrarossi
Sensore di dadi a infrarossi

Mi chiamo Calvin e ti mostrerò come realizzare un sensore di dadi a infrarossi e ti spiego come funziona.

Attualmente sono uno studente della Taylor University che studia Ingegneria Informatica e il mio team e mi è stato chiesto di progettare e costruire un meccanismo in grado di ordinare qualsiasi oggetto che possa stare in un quadrato di 1 pollice. Avremmo potuto prendere la strada più facile e scegliere di ordinare gli m&m's usando un semplice sensore di colore, ma abbiamo deciso di andare oltre e ordinare i dadi in base al numero mostrato. Dopo innumerevoli ore di tentativi per trovare una guida su come leggere la faccia dei dadi, mi sono imbattuto in questo link qui:

makezine.com/2009/09/19/dice-reader-versio…

Questo collegamento, tuttavia, non mi ha dato molto di più dell'idea su come leggere la faccia del dado, quindi usando l'idea che è stata fornita, sono andato sulla mia strada per costruire e sviluppare un sensore che può essere collegato con un Arduino con facilità e può leggere la faccia dei dadi nel modo più accurato possibile, dandoci così questo sensore a infrarossi per dadi.

Forniture

Passiamo ora alle forniture:

Avrai bisogno:

1 x Arduino Uno

5 ricevitori IR

5 x emettitori IR

www.sparkfun.com/products/241

5 resistenze da 270 ohm

Resistori 5 x 10k ohm

1 chip 74HC595N

varie intestazioni maschili

1 x scheda prototipo (se non stai ricevendo una scheda fresata personalizzata)

Passaggio 1: capire come funziona

Capire come funziona
Capire come funziona
Capire come funziona
Capire come funziona

Questo sensore utilizza 5 punti pip per leggere le facce dei dadi. Usa la luce infrarossa per rimbalzare sulla faccia dei dadi in queste posizioni dei semi e dice al controller se è bianco o nero.

Forse ti starai chiedendo, perché allora solo 5 posizioni pip? Non avresti bisogno di tutti e 9 per leggere i dadi in modo efficace?

Bene, a causa della simmetria dei dadi, l'utilizzo di 5 posizioni specifiche sui dadi può essere sufficiente per rilevare la differenza tra i diversi numeri sui dadi indipendentemente dall'orientamento (figura 1). Ciò rende il sensore di dadi più efficiente perché cerca solo esattamente ciò di cui ha bisogno e niente di più.

L'emettitore va esattamente sotto il ricevitore sul sensore in ciascuna di queste 5 posizioni pip, il sensore emette quindi la luce IR e quindi il ricevitore legge la quantità di luce IR che rimbalza sulla faccia dei dadi. (immagine 3) Se il valore ricevuto è maggiore dei numeri di calibrazione specificati, il sensore vedrà quel punto come un punto, in caso contrario sarà uno spazio bianco. (foto 2)

Passaggio 2: progettazione e pianificazione

Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione
Progettazione e pianificazione

Il primo passo per costruire un sensore di dadi è creare gli schemi, questo può essere il passo più difficile o più facile dello sviluppo. Per prima cosa hai bisogno di un software chiamato EAGLE di Autodesk, questo era il software che ho usato per creare gli schemi.

Ho incluso 2 diversi tipi di schemi, uno schema ha un chip di registro a scorrimento per aiutare a rendere il sensore più preciso e l'altro è uno senza un chip di registro a scorrimento, tuttavia questo schema non funzionerà con il codice che fornirò in seguito, quindi dovrai sviluppare qualcosa da solo.

Ho incluso anche il layout della mia scheda per il sensore che ho progettato con il registro a scorrimento.

Per iniziare a progettare la scheda, hai 5 Ricevitori IR e 5 Emettitori IR, i ricevitori richiedono una resistenza da 10k e gli emettitori richiedono una resistenza da 270 ohm quindi per ciascuno di questi elementi si passa da:

VCC (5V) -> Resistenza -> Pin di lettura analogica -> Ricevitore IR -> GND

VCC (5V) -> Resistenza -> Emettitore IR -> GND

Il pin di lettura analogico esce tra il resistore e il ricevitore IR come un altro ramo e va al pin analogico su Arduino. Devi anche assicurarti che l'emettitore vada direttamente sotto il ricevitore, ho commesso questo errore la prima volta che l'ho fatto e ho ottenuto pessimi risultati, quindi assicurati che il ricevitore vada sopra.

Nella mia scheda personalizzata, sto usando il registro a scorrimento per fornire alimentazione a ciascuna delle coppie di emettitore e ricevitore uno alla volta per evitare qualsiasi dispersione di luce IR dagli altri emettitori. Questo mi dà una lettura ancora più accurata da ciascuna delle posizioni dei pip, se hai scelto di non utilizzare il registro a scorrimento, funzionerà comunque per te, potrebbe essere leggermente meno preciso. Sul registro a scorrimento, puoi unire i pin 3-4 e 7-8 insieme, poiché non è del tutto necessario averli come header. Li ho lasciati come intestazioni e ho messo dei ponticelli sulle intestazioni nel caso volessi fare sviluppo in futuro.

Dopo aver progettato lo schema, è necessario creare un layout della scheda del tuo schema. Questa parte può diventare molto complicata perché devi assicurarti che i tuoi percorsi non si sovrappongano e assicurarti che i tuoi percorsi e i fori soddisfino le specifiche della tua macchina. Il layout della scheda che ho allegato aveva le dimensioni specifiche per la macchina che ho usato per fresare la mia scheda. Trascorro alcune ore a stendere il tabellone in modo che sia il più piccolo possibile. C'era ancora spazio per miglioramenti su questa scheda, ma ha funzionato per me, quindi l'ho lasciata così com'è. Esiste una versione con GND in rame che collega tutti gli elementi di terra e una versione senza allegati.

Puoi anche usare il tuo schema per costruirlo su una breadboard o su una scheda prototipo, poiché sono molto più facili da trovare ed è un'opzione più economica poiché non è necessario fresare una scheda personalizzata.

Una volta che hai il design della tavola puoi passare al passaggio successivo!

Passaggio 3: costruire il tabellone

Costruire il consiglio
Costruire il consiglio
Costruire il consiglio
Costruire il consiglio
Costruire il consiglio
Costruire il consiglio

Questa parte dipende interamente da come vuoi creare la scheda. Ho creato il sensore su una scheda prototipo per testare se il concetto funziona e quanto è accurato, quindi ho seguito lo schema senza il registro a scorrimento e ho creato la scheda. Devi assicurarti di disporre tutto in modo che le linee non si sovrappongano e di non saldare accidentalmente linee che non dovrebbero essere collegate. Quando lo fai su una scheda prototipo, devi stare molto attento, quindi prenditi il tuo tempo e non avere fretta. Dovresti anche fare attenzione ai fili aperti perché possono muoversi e causare cortocircuiti nel sistema.

Se hai scelto di fresare la tavola, questo processo è più semplice. Invia il file della scheda al mugnaio con le impostazioni specifiche del mugnaio. Se lo fai da solo, prima di estrarlo assicurati che tutto il rame sia stato fresato adeguatamente in profondità. La prima scheda che ho realizzato, il rame non è stato fresato abbastanza in profondità e ho dovuto fresarne un'altra.

Assicurati che tutto sia saldato alla scheda nel layout desiderato e assicurati di prenderti il tuo tempo, e se la saldatura sul PCB, assicurati di saldare sul lato corretto della scheda.

Quando si indossano i ricevitori e gli emettitori IR, assicurarsi che l'emettitore si trovi esattamente sotto il ricevitore. Dovrai giocare a piegare le gambe dei componenti IR per metterli nel posto giusto. Tieni anche un dado a portata di mano per verificare se le posizioni dei semi sono dove devono essere.

Una volta che hai saldato e aggiunto tutto sulla scheda, sei pronto per programmare il sensore.

Passaggio 4: programmazione della scheda

Programmazione della scheda
Programmazione della scheda
Programmazione della scheda
Programmazione della scheda

Questa è la parte difficile per rendere il sensore il più preciso possibile, programmando la scheda. Fortunatamente ho creato una libreria da utilizzare con il sensore appena creato per rendere la programmazione molto più semplice, tuttavia dovrai calibrare il sensore in base all'illuminazione in cui si trova questo sensore.

Per iniziare devi avere un Arduino per interfacciarti con questo sensore. Utilizza 5 pin analogici e 3 pin digitali.

Hai la possibilità di utilizzare la libreria che ho creato per scegliere i tuoi pin analogici e digitali, ma lo spiegherò usando i pin che ho fatto per interfacciarmi con il sensore. Ho contrassegnato l'immagine collegata con numeri di pin e caselle colorate attorno al set di pin per spiegare facilmente quale pin si inserisce dove.

Sul sensore, i pin 1-5 Red vanno ad A0-A4, quindi Red 1 va ad A0 e così via. I pin 1-8 bianchi richiedono qualche spiegazione in più.

Bianco 1 - Pin dati, qui è dove Arduino invia i dati al registro a scorrimento. Ho impostato questo pin sul pin digitale 3 su Arduino

Bianco 2 - Q0, obsoleto in questo caso, l'ho incluso nel caso decidessi di espanderlo del tutto

Bianco 3 e 4 - Saranno accoppiati, puoi saldare questi due insieme o usare un ponticello come ho fatto io.

White 5 - pin latch, un pin molto importante che è il passaggio finale nel processo per vedere i pip accendersi e spegnersi. Ho impostato questo pin sul pin 12 su Arduino

Bianco 6 - Pin orologio, fornisce l'orologio dall'Arduino al registro a scorrimento. L'ho impostato sul pin digitale 13.

Bianco 7 e 8 - Saranno accoppiati, puoi saldare questi due insieme o usare un ponticello come ho fatto io.

Proprio accanto alla casella bianca ci sono i pin Ground e VCC. È necessario fornire 5v dall'Arduino o da un'altra fonte per alimentare questo sensore.

I numeri di posizione PIP possono essere trovati nel codice.

Ora che devi collegarlo, dobbiamo calibrarlo. Il mio obiettivo era creare uno script che potesse calibrarlo per te, ma non ho avuto tempo per farlo. Durante la calibrazione è necessario assicurarsi che il sensore si trovi in un ambiente con illuminazione controllata, poiché è sensibile alla luce inferita dall'esterno. Devi ottenere un valore da ogni posizione del pip con un punto nero e un punto bianco e fare la media della differenza. Ho usato solo due lati del dado per calibrare, ho usato il lato 1, il lato 6 e il lato 6 ruotati di 90 gradi. Una volta che hai un numero per il bianco e il nero per ogni posizione del pip, devi fare la media e trovare la metà dei due numeri. Quindi, ad esempio, se ottengo 200 per il bianco dalla prima posizione pip e 300 per il valore scuro della prima posizione pip, il numero di calibrazione sarebbe 250. Una volta fatto questo per tutte e 5 le posizioni pip, il tuo sensore è correttamente calibrato, allora puoi usare dice. ReadFace(); per ottenere la faccia attuale dei dadi.

Passaggio 5: applicazione

Applicazione
Applicazione
Applicazione
Applicazione
Applicazione
Applicazione

Ora hai creato con successo un sensore di dadi! Congratulazioni! È stata una lunga strada di tentativi ed errori per creare questo sensore, quindi il mio obiettivo è aiutare chiunque voglia creare un sensore di dadi.

Ho incluso alcuni esempi del progetto che abbiamo realizzato che utilizzava questo sensore. Nella prima immagine, abbiamo usato una ruota a pale per posizionare correttamente i dadi sopra il sensore ogni volta. La seconda immagine era il prodotto finale del nostro progetto e la base ruoterà a seconda di quale fosse la faccia del dado, e la terza immagine è una scatola di visualizzazione che ho progettato e costruito per mettere in mostra questi sensori.

Le possibilità per questo sensore sono infinite se ci pensi. Spero che tu trovi questo tutorial divertente ed educativo, e spero che tu provi a crearne uno per te.

Che Dio vi benedica!

Consigliato: