Due resistenze in parallelo

Qualche anno fa mi trovai nella necessità di provare un circuito elettronico con una resistenza di un valore non standard. Iniziai a fare i calcoli per usare due resistenze di valore standard in parallelo per ottenere il valore desiderato, ma mi resi conto che ci sarebbe voluto meno tempo a scrivere un programmino in FreeBasic che a usare la calcolatrice. Così realizzai il programmino che trovate di seguito. Molto recentemente, un amico e collega di lavoro si è trovato nella stessa necessità ed allora mi sono ricordato di aver affrontato il problema in passato. Così, gli ho passato il programma e lui l’ha usato ricavando il valore desiderato in un attimo. A questo punto, ho pensato che questo programmino potrebbe essere utile anche ad altri ed ho deciso di pubblicarlo sul mio sito, dopo aver aggiunto un po’ di commenti sul listato, per renderlo più chiaro. Ecco il listato completo:

Come vedete nel listato, nelle righe da 9 a 11, ci sono 12 valori di resistenze “standard” da 1 a 8.2 Ohm. I valori standard, in effetti, sono di più, ma io ho inserito solo quelli che uso abitualmente e che ho nei cassetti del laboratorio. Ovviamente, il valore (per esempio) 1.5 vale per tutti i moltiplicatori, così è lo stesso per 1.5 Ohm, 15 Ohm, 150 Ohm, 1500 Ohm, eccetera. Se volete inserire altri valori, aggiungeteli alla tabella e poi modificate gli indici dei FOR usati nel programma per fare i calcoli comprendendo tutti gli elementi della tabella. Ecco un esempio del programma in funzione:

Notate che, essendo il programma molto semplificato, troverete alcuni valori ripetuti due volte, come nell’immagine precedente per la linea: Req= 13,62 ; infatti il valore calcolato è lo stesso sia per R1=18 R2=56, sia per R1=56 ed R2=18. Modificando opportunamente il programma, si possono eliminare queste ripetizioni, se si vuole.

L’algoritmo usato è elementare, direi quasi banale. Si eseguono, semplicemente, tutte le combinazioni di due resistenze di valore “standard” e quando il risultato è “vicino” a quello desiderato, questo viene stampato. La precisione del risultato è determinata nella linea 34 del sorgente FreeBasic. Modificandola (attualmente è 1/20), si potranno ottenere valori in un intervallo più vicino a quello desiderato (se possibile), oppure in uno più ampio.

Se non volete scrivere “a mano” tutto il programma e compilarlo con FreeBasic, potete scaricare il file ResCalc.zip che contiene sia il file sorgente che l’eseguibile già compilato. Il checksum MD5 del file è 3793386218F12756721CB98290BBDE40. Assicuratevi che sia esattamente questo! Se non lo è, buttate via il file: è corrotto, incompleto o non è quello originale. Per scompattare il file .zip, usate il programma 7Z e la password: eficara. Anche se il programma è davvero elementare, ho voluto pubblicarlo ugualmente, perché può comunque essere un buon esercizio per chi sta iniziando a programmare in Basic. Buon divertimento 🙂