Valori Potenziometri

Salve a tutti,
ultimamente stavo lavorando ad un progettino con un Arduino Nano (copia), che mi permetta di regolare il volume di alcune applicazioni e programmi del mio PC da dei potenziometri, ho notato esserci un gitHub chiamato deej che rilascia il codice (il proprietario utilizza degli slider al posto dei potenziometri), tuttavia il programma una volta provato sul mio hardware dà alcuni problemi nella rilevazione dei valori dei potenziometri, non ho idea se sia un problema di Hardware come cavi difettosi o gli stessi potenziometri oppure il codice deve essere adattato, sto utilizzando 4 potenziometri su di una breadboard (azziccati, passatemi il termine) nei fori stessi, forse potrebbe essere questo il problema? anche perché i pots non vanno da 0/1 a 1023 ma al minimo fanno 160 o comunque valori superiori al 100, vi ringrazio per l'attenzione e spero che qualcuno possa chiarire i miei dubbi
[GitHub - omriharel/deej: Set app volumes with real sliders! deej is an Arduino & Go project to let you build your own hardware mixer for Windows and Linux]
allego qui il link del GitHub da dove ho preso il codice, è dentro la cartella arduino

Piccoli problemi, ma nulla di grave

Secondo me serve di raddoppiare le righe di lettura dei piedini analogici

Ma sopratutto ben controllare le letture dei potenziometri con un tester

Salve, non capisco cosa intende con raddoppiare le righe di lettura, intende forse aumentare la frequenza del monitor che visualizza i dati?
In ogni caso ho controllato con un tester i valori dei potenziometri, tutti e 4 hanno una resistenza tra i 4.7 e i 5.3 kOmh, e la resistenza variabile funziona in tutti anche

Risposte

  1. gli ingressi analogici hanno dei problemi nella lettura "consecutiva" di due ingressi differenti
    Quindi si usa effettuare una lettura a vuoto, dopo aver cambiato ingresso e prima della lettura vera

  2. naturalmente devi misurare non il valore dellacresistenza del potenziometro scollegato, ma quello della tensione in uscita dal potenziometro in esercizio

  3. qui non si usa il lei, ma il tu

4?

Allora adegua il programma

In generale ci si aspetta che chi sta chiedendo aiuto abbia un atteggiamento proattivo, non passivo/attendista

Posta un link ai potenziometri che hai comprato. Non sono tutti uguali. Ci sono lineari e logaritmici.
Al link che posti l'autore non dice quale tipo usare.

Ho misurato i valori delle tensioni in uscita dei potenziometri, e sembra essere tutto ok, ho adeguato il programma da 5 a 4 componenti ma non sembra essere cambiato molto, solamente ho un numero in meno durante l'esecuzione del codice.
Con lettura a vuoto intendi leggere il valore ma non stamparlo a schermo?

[https://it.aliexpress.com/item/1005006213044445.html?spm=a2g0o.order_list.order_list_main.54.30c03696Q5LFeY&gatewayAdapt=glo2ita]
Questo è link da dove ho preso i potenziometri, qui cita lineari quindi dovrebbe essere quello il tipo, ho letto su internet che la lettere B prima del valore del potenziometri può voler significare logaritmico in America e lineare in Europa, o viceversa, dunque la lettera non so quanto possa aiutare, in ogni caso sono B5K

Esatto

Invece per i potenziometri, lineare o logarimico non cambia nulla per arduino
Lui legge e stampa, non altera

Leggi la tensione ( a potenziometro fermo) e confrontala con la stampa

Fammi sapere

ho fatto alcuni test, con un solo potenziometro, e credo che il problema possano essere i cavi maschio-maschio che danno un po' di rumore nella misurazione, normalmente dà valori tra il massimo del pot di 900/960 e il minimo da 75 a 140, ma ho notato che spingendo i cavi nella breadboard dopo un paio di secondi la tensione e il valore del potenziometro si sono stabilizzati, massimo (1020/1023) min(1/0), ora è da capire se il problema è effettivamente solo dei cavi oppure anche l'arduino

const int potPin = A0; // Pin a cui è collegato il potenziometro

void setup() {
  Serial.begin(9600); // Inizializza la comunicazione seriale
}

void loop() {
  int potValue = analogRead(potPin); // Leggi il valore del potenziometro
  float voltage = potValue * (5.0 / 1023.0); // Converte il valore in tensione

  Serial.print("Valore grezzo: ");
  Serial.print(potValue);
  Serial.print(" - Tensione: ");
  Serial.println(voltage); // Stampa la tensione in V
  delay(1000); // Aspetta un secondo prima della prossima lettura
}

10:53:39.950 -> Valore grezzo: 1022 - Tensione: 5.00
10:53:40.994 -> Valore grezzo: 1021 - Tensione: 4.99
10:53:41.952 -> Valore grezzo: 1022 - Tensione: 5.00
10:53:42.951 -> Valore grezzo: 1023 - Tensione: 5.00
10:53:43.988 -> Valore grezzo: 1021 - Tensione: 4.99
10:53:44.991 -> Valore grezzo: 1023 - Tensione: 5.00
10:53:45.996 -> Valore grezzo: 1023 - Tensione: 5.00
10:53:46.999 -> Valore grezzo: 1022 - Tensione: 5.00
10:53:47.962 -> Valore grezzo: 1022 - Tensione: 5.00
10:53:48.960 -> Valore grezzo: 1023 - Tensione: 5.00
10:53:49.952 -> Valore grezzo: 981 - Tensione: 4.79
10:53:50.995 -> Valore grezzo: 752 - Tensione: 3.68
10:53:51.999 -> Valore grezzo: 541 - Tensione: 2.64
10:53:52.953 -> Valore grezzo: 202 - Tensione: 0.99
10:53:53.953 -> Valore grezzo: 0 - Tensione: 0.00
10:53:54.994 -> Valore grezzo: 0 - Tensione: 0.00
10:53:55.998 -> Valore grezzo: 0 - Tensione: 0.00
10:53:56.957 -> Valore grezzo: 0 - Tensione: 0.00
Qui ci sono alcuni dei valori notevoli che mi hanno fatto notare il funzionamento del potenziometro, ovviamente il cambio repentino di tensione e valore grezzo è dovuto al mio girare il potenziometro

Prova a spellare uno di quei cavetti (Dupont) e ti sarà evidente perché cercare precisione ed affidabilità usandoli sia una chimera (perlopiù infilati in una breadboard che aggiunge altre problematiche).

Ogni tanto mi capita di vederne qualcuno decente, ma la maggior parte di quelli che trovi online sono inqualificabili. Anche la qualità delle attuali breadboard lascia molto a desiderare.

... purtroppo spesso la qualità delle breadboard lascia molto a desiderare :roll_eyes:

Specie quelli cinesi a basso costo fanno abbastanza schifo, con lamelle interne che non sono elastiche e tendono a rimanere dilatate (facendo falsi contatti) e fatte con materiale che si ossida piuttosto facilmente (altra causa di cattivo contatto) ...

Guglielmo

P.S.: ... mi ha anticipato cotestatnt :grin:

1 Like

ringrazio tutti per la collaborazione, se le breadboard sono il problema proverò ad acquisire un po' di manualità nella saldatura a stagno :slight_smile:

Se preferisci usare le breadboard per sviluppare i tuoi prototipi, si trovano ancora di qualità ma l'ordine di grandezza del prezzo è ben diverso da quelle economiche più comuni (considera almeno 40/50€).

Ad ogni modo, la breadboard va bene per test e prototipi, mai per un circuito definitivo.

si in molti mi avevano detto che fossero solo per i test e che effettivamente conviene saldare i propri componenti, ma non ne avevo notato l'importanza fino ad oggi, credo comunque che se devo spendere quella cifra per una breadboard, con qualche decina di euro in più ci prendo un saldatore

Bredboard e saldatore hanno scopo differente

Comunque mi sembra che adesso siamo a posto

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.