Sommario:

Metro a nastro per la distanza sociale da 1,50 m: 3 passaggi (con immagini)
Metro a nastro per la distanza sociale da 1,50 m: 3 passaggi (con immagini)

Video: Metro a nastro per la distanza sociale da 1,50 m: 3 passaggi (con immagini)

Video: Metro a nastro per la distanza sociale da 1,50 m: 3 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Image
Image
Schema
Schema

In questa build adatto un normale metro a nastro per misurare quando è stata coperta una distanza di 1,5 m. Allora dirò "un metro e mezzo". Indicherà anche con una luce verde o rossa se sei al di sopra o al di sotto di questa distanza.

Questo progetto è stato realizzato a causa di una sfida avviata da Henk Rijckaert nella sua serie youtube De Koterij e volevo collegarlo agli attuali problemi di COVID19 e distanziamento sociale. Un filmato youtube in lingua olandese su questa build può essere trovato su Youtube Weyn. Tech (Sono state aggiunte didascalie in inglese).

Materiali utilizzati:

  1. Un metro a nastro
  2. Codificatore ottico: e4p-100-079
  3. Audio: DFPlayer Mini + scheda SD
  4. Potenza: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (può essere utilizzato anche qualsiasi altro arduino poiché non utilizzo le funzionalità BLE o Wi-Fi in questa build)
  6. Neopixel
  7. Altoparlante
  8. Batteria
  9. Interruttore di accensione/spegnimento

Passaggio 1: Schema

Schema
Schema

Collegare i componenti come indicato nello schema. La custodia è stata riutilizzata e adattata da un'altra build, ma è possibile utilizzare qualsiasi scatola rettangolare abbastanza grande da contenere i componenti. Hai bisogno di un intero per il tuo altoparlante, il metro a nastro e il pulsante di accensione/spegnimento (e idealmente per l'usb min per caricare la batteria).

Fissare la piastrina metallica con indicatori alla parte rotante del metro a nastro, facendo attenzione a centrarla il più possibile.

Sulla SD-Card per DFPlayer devi copiare l'mp3 che vuoi riprodurre quando viene coperta la distanza che hai impostato.

Passaggio 2: codice

Codice
Codice

Tutto il codice può essere trovato su github.

L'ESP32 (può essere utilizzato anche qualsiasi altro arduino) interrogherà continuamente l'uscita A e B dell'encoder e aumenterà o diminuirà un contatore. Quando supera -2150, so che per il mio metro a nastro ha superato 1,5 metri. Dovrai calibrarlo per il tuo misuratore. A seconda del valore viene cambiato il colore del led e viene ordinato al DFPlayer di riprodurre l'mp3 che si trova sulla scheda sd.

Passaggio 3: spiegazione dell'encoder

L'encoder spiegato
L'encoder spiegato

Come possiamo misurare quanto abbiamo srotolato il metro?

Questa spiegazione è la trascrizione del video:

Bene, per questo uso un encoder ottico, ovvero un encoder rotativo incrementale. Ne hai anche altri, ad esempio encoder assoluti. Sono molto adatti per conoscere la posizione esatta entro 1 rotazione. Ma un incrementale, d'altra parte, fornisce impulsi fissi durante uno spostamento, quindi puoi misurare tu stesso la rotazione, anche su un intervallo di rotazioni diverse. In questo modo puoi misurare la rotazione stessa, anche su rotazioni diverse. Uso un encoder in quadratura, che fornisce due segnali in modo da poter determinare anche la direzione.

Come funziona esattamente?

Ci sono segni neri sul disco rotondo. Questo disco è attaccato al metro a nastro e quindi ruoterà con esso. Il sensore stesso è costituito da un LED e due fotorilevatori che misurano se la luce viene riflessa. Se il LED si illumina sulla linea nera, la luce rifletterà meno o nessuna luce rispetto a quando brilla sul metallo tra il segno nero. Questo segnale verrà quindi convertito in un'onda quadra in uscita. Le uscite A e B sono posizionate in modo tale da poter vedere da quale combinazione delle 2 si sta girando.

Diamo un'occhiata a questo in dettaglio

Con ogni cambio di bordo di A puoi cambiare il valore di B in quale direzione giriamo. Nell'encoder che utilizzo, l'impulso A inizierà prima dell'impulso B se giriamo in senso orario. E viceversa se giriamo in senso antiorario. Quindi possiamo riconoscere 3 impulsi che ci dicono qualcosa su quanto è stato girato. Il mio encoder ha 100 cicli per giro (CPR). in questo caso ha girato quasi 10,8 gradi. Se guardi le schede tecniche, presta molta attenzione a cosa si intende per RCP a volte questi sono il numero di cicli per giro, a volte il numero di conteggi per giro (o stati individualmente diversi per turno). Ogni impulso contiene 4 stati diversi. Alto o basso in A e B. Che è 4 volte di più rispetto a Cicli per giro. PPR o impulsi per giro sono tipicamente usati per misurare il numero di impulsi per giro completo. Ma alcune schede tecniche qui indicano il numero di diversi stati di impulso per giro. Quindi anche qui, guarda bene nel datasheet cosa si intende. Vediamo qui che l'impulso A viene prima dell'impulso B.

Un modo semplice per elaborarlo nel codice è quando il segnale A cambia per vedere qual è il valore del segnale B. Se il segnale B non ha il valore del segnale A, giriamo in senso orario e possiamo incrementare o incrementare ogni volta un contatore.

Ora otteniamo 200 cambi di fronte per giro completo perché ne abbiamo 2 per impulso. Quindi, se il contatore è a 200, abbiamo ruotato di un giro completo. Oppure ruotato di 360 gradi. Viceversa, se giriamo nella direzione opposta, puoi vedere che il segnale A genererà gli stessi 3 impulsi.

Quindi, abbiamo anche qui che ha girato di 10,8 gradi. Ma questa volta il segnale B ha lo stesso valore del segnale A, quindi sappiamo che il segnale B è già davanti al segnale A. E quindi, giriamo in senso antiorario. In questo caso possiamo quindi diminuire il contatore. Ora sappiamo quante volte il metro è stato tagliato. Se vogliamo conoscere una distanza fissa, è abbastanza semplice.

Ad esempio, qui, per un metro e mezzo, il contatore dovrebbe essere -2150. In altre parole, 3870 gradi in senso antiorario.

Se vuoi sapere sempre quanto è stato srotolato devi tenere conto che il diametro si sta riducendo in altre parole, ci sarà sempre meno distanza sul metro per rotazione completa.

Consigliato: