Potenziometri vs. Encoder rotativi e come usarli con Arduino

Blog

CasaCasa / Blog / Potenziometri vs. Encoder rotativi e come usarli con Arduino

Jun 24, 2023

Potenziometri vs. Encoder rotativi e come usarli con Arduino

A prima vista i potenziometri e gli encoder rotativi sembrano quasi identici, ma funzionano in modi diversi. Scopri come utilizzarli entrambi con un Arduino. Tra i componenti elettronici di controllo utente, rotante

A prima vista i potenziometri e gli encoder rotativi sembrano quasi identici, ma funzionano in modi diversi. Scopri come utilizzarli entrambi con un Arduino.

Tra i componenti elettronici di controllo utente, le manopole rotanti si distinguono come alcune delle più soddisfacenti da usare. Possono integrare touchscreen e altri dispositivi di input, oltre a funzionare bene con pulsanti e interruttori. Ma come puoi aggiungere una manopola ai tuoi progetti Arduino fai-da-te?

Hai due opzioni principali: un potenziometro o un codificatore rotativo. Questi componenti possono sembrare simili, ma i metodi per utilizzarli con un dispositivo come una scheda microcontrollore Arduino sono molto diversi. Vediamo come si confrontano tra loro.

La maggior parte dei potenziometri e degli encoder rotativi che gli appassionati del fai da te incontreranno hanno un fattore di forma simile. Hanno una base cuboide o cilindrica con gambe di collegamento attaccate e un'asta rotonda che si attorciglia e presenta ritagli su cui appoggiare un cappuccio.

Alcuni potenziometri hanno un aspetto diverso, come quelli che si presentano sotto forma di lunghe diapositive, come quelli che si trovano sui mixer musicali. Quando si tratta del tipo rotativo, tuttavia, a prima vista sembrano quasi identici agli encoder rotativi, quindi saresti perdonato se pensi che siano la stessa cosa.

Un potenziometro è essenzialmente un resistore variabile. Quando l'albero viene ruotato, la resistenza all'interno del potenziometro cambia, consentendo all'utente di modificare le proprietà di un circuito senza doverlo ricostruire. I potenziometri possono essere sia analogici che digitali, ma i potenziometri digitali imitano quelli analogici e questo li rende molto simili nell'utilizzo.

I potenziometri hanno sempre un punto iniziale e finale definito in cui l'albero non può più essere ruotato. Alcuni potenziometri danno una sensazione irregolare quando vengono girati, ma molti sono anche lisci, come quelli che si trovano sui vecchi stereo.

Nonostante siano analogici, i potenziometri funzionano bene con i microcontrollori. Puoi facilmente impostare un potenziometro con un Raspberry Pi Pico o Arduino.

Gli encoder rotativi determinano la posizione del loro albero utilizzando un sensore per fornire un segnale analogico o digitale al dispositivo a cui sono collegati. Questo comunica al dispositivo in quale posizione si trova l'encoder. Oltre all'albero rotante, gli encoder rotativi di solito hanno anche un pulsante integrato che viene azionato spingendo l'albero verso il basso.

A differenza dei potenziometri, gli encoder rotativi possono girare senza fermarsi e quasi sempre hanno protuberanze tattili per ciascuna posizione dell'albero. Molte auto moderne utilizzano codificatori rotativi per controllare i propri sistemi di intrattenimento.

Grazie al loro design semplice, utilizzare un potenziometro con Arduino è semplice. Il tuo potenziometro ha tre connettori: terra, uscita e vref. I pin di terra e vref si collegano rispettivamente ai connettori GND e 5V sul tuo Arduino, mentre il pin di uscita del potenziometro si collega a uno degli ingressi analogici sulla tua scheda.

Il codice del potenziometro Arduino inizia con il basicimpostare()Eciclo continuo() modello che vedrai quando crei un nuovo file nell'IDE di Arduino. Innanzitutto, aggiungi aconst intvariabile all'inizio del codice per registrare la connessione pin analogica del potenziometro, in questo caso A0.

A seguito di ciò, ilimpostare() La funzione è semplice: devi solo dichiarare il pin del potenziometro come input. Puoi anche avviare una connessione seriale se desideri inviare dati al tuo PC per la diagnostica.

Successivamente, è il momento di impostare il fileciclo continuo() funzione. Inizia creando un fileintvariabile utilizzando ilanalogicoLeggi() funzione per memorizzare la posizione del potenziometro. Successivamente è possibile utilizzare il filecarta geografica() funzione per ridurre la dimensione del valore con cui hai a che fare, in questo esempio per soddisfare le specifiche PWM, ad esempio per controllare la luminosità di un LED. Aggiungere un breve ritardo per garantire la stabilità.

Ora che hai la posizione del tuo potenziometro, puoi usarlo con altre parti del codice. Ad esempio, unSe