Ciao! In un mio progetto sto cercando di controllare l'intensità del suono emesso da un buzzer. Per esmpio: sarebbe carino creare una funzione analoga a tone(), ma che include nei suoi argomenti il "volume" della nota.
Per poter accedere al volume quello che mi è venuto immediatamente in mente è una resistenza variabile, come può essere un potenziometro, e in effetti sono riuscito a controllare manualmente il volume delle note emesse dal buzzer, ruotando la manopola del potenziometro. Vorrei, però, poter controllare la quantità di resistenza opposta all'elettricità da un'istruzione all'interno dello sketch. Col potenziometro sono abbastanza sicuro che non sia possibile, perciò chiedo se esiste un componente che potrebbe svolgere il compito da me richiesto... Ovviamente, eventualmente, sarei ben contento di ricevere anche altri tipi di soluzione, ma in questo momento quella che ho proposto è l'unica che mi è venuta in mente.
Spero di essere stato chiaro e che Hardware sia la sezione corretta.
Possiedo Arduino Uno, orginiale; lavoro su Windows 10; ho l'IDE 1.8.12 (ho scaricato l'installer da sito ufficiale); non sono espertissimo nè di programmazione nè di elettronica.
Non so se esiste una strada alternativa migliore ma sulla scia del potenziometro che stai usando posso dirti che esistono potenziometri digitali tipo quello trattato in questo esempio del sito di Arduino che può fare al caso tuo.
Ne esistono anche altri tipo l'MCP41100 e similari. Intanto guardati come funzionano questi, studiati gli sketch d'esempio se poi arriva qualche risposta migliore o differente potrai scegliere quella che ti aggrada di più.
Ah se vuoi essere poco elettronico ma fantasioso puoi calettare un servomotore su un potenziometro normale e usare quello per "girare" la manopola
Risposta breve: "mosfet" ... (scusa, non ho resistito :D)
Risposta un po meno breve ( ) : il mosfet e' gia di suo, in pratica, una "resistenza variabile" controllata dalla tensione sul gate ... basta usare un mosfet di potenza canale P oppure N (secondo che debba controllare positivo o negativo) connesso in serie, e variare la tensione sul gate, per avere una resistenza variabile ... ovviamente variera' in base alle caratteristiche del mosfet che si sceglie, e serve ricordarsi che lavorando in zona lineare scaldera', come qualsiasi resistenza attraversata da una corrente, per cui se la corrente che circola e' piu di pochi milliampere servira' dissiparlo, ma fondamentalmente e' tutto qui ...
I potenziometri digitali sono ottimi per certi impieghi, ma non reggono piu di tanto ne in fatto di tensione, ne soprattutto in fatto di corrente ... quindi serve controllare, prima di usarli ...
Collega il secondo polo del buzzer non a massa, ma a un altro pin che commuterai velocissimamente con pinMode (o, meglio, con DDRD o DDRB) tra bassa (OUTPUT) e alta impedenza (INPUT). Il duty cycle regola il volume.
Qui ho fatto una cosa simile, ma con un segnale audio: Controllo di volume con Arduino (E BASTA!)
fabpolli:
Non so se esiste una strada alternativa migliore ma sulla scia del potenziometro che stai usando posso dirti che esistono potenziometri digitali ......
Ciao! Grazie mille per la risposta e per il consiglio! Penso mi sarà molto utile! Al servo motore collegato al potenziometro ci avevo già pensato, ma purtroppo nell'Arduino Starter Kit, livello Beginner, che possiedo non si "incastrano", quindi dovrei stampare un pezzo di plastica 3d apposito...
Etemenanki:
Risposta breve: "mosfet" ... (scusa, non ho resistito :D)
Risposta un po meno breve ( ) : il mosfet e' gia di suo, in pratica, una "resistenza variabile" controllata dalla tensione sul gate .....
Riguardo alla tua risposta, grazie mille anche a te! Al momento non so bene cosa sia un mosfet, mi informerò e vedrò se può essermi utile anche questa soluzione (credo proprio che lo sarà :)). Grazie mille ancora a entrambi! Karma a tutti e due :).
Ciao!
>france1214: Quando si quota un post, NON è necessario riportarlo (inutilmente) tutto; bastano poche righe per far capire di cosa si parla ed a cosa ci si riferisce, inoltre, se si risponde al post immediatamente precedente, normalmente NON è necessario alcun "quote" dato che è sottinteso.
Gli utenti da device "mobile" (piccoli schermi) ringrazieranno per la cortesia
Guglielmo
P.S.: Ho troncato io i "quote" del tuo post qui sopra