Simple module to calculate electrical resistance in series and parallel circuits.
$ npm install --save resistance.js
const resistance = require('resistance.js');
resistance([1, 2, 3], 'series');
//=> 6
resistance([1, 2, 3], 'parallel');
//=> 0.5454545454545455
console.log(resistance([1, 2, 3], 'series') + 'Ω')
// 6Ω
Type: array
Description: Values of resistors associated in your circuit.
Example: [1, 2, 3, 4]
Type: string
Description: Type of resistors association in your circuit.
Options:
'series'
or's'
: Resistors in series.'parallel'
or'p'
: Resistors in parallel.
Combinating resistors is very common in many circuits, when we want to reach a resistance level which only one resistor is not enough.
Let's take the following example:
In an association of series resistors, the equivalent resistor is equal to the sum of all resistors that make up the association:
Req = R1 + R2 + R3 + R4 + ...
Also, the voltage in the electric generator is equal to the sum of all the voltages of resistors:
V = V1 + V2 + V3 + V4 + ...
The electric current flowing in each resistor is always the same:
i = i1 = i2 = i3 = i4 ...
And the initial example becomes:
Let's take the following example:
In an association of parallel resistors, the equivalent resistor is equal to the inverse of the sum of all the inverted resistors which make up the association:
1 / Req = (1 / R1) + (1 / R2) + (1 / R3) + (1 / R4) + ...
Also, the current in the equivalent resistor is equal to the sum of currents from the resistors:
i = i1 + i2 + i3 + i4 + ...
The voltage in the electric generator is always the same:
V = V1 = V2 = V3 = V4 = ...
And the initial example becomes:
All the tasks needed for development automation are defined in the
package.json
scripts property and can be run via:
npm run <command>
Here is a summary of all the commands:
Command | Description |
---|---|
compile |
Runs the Livescript compiler on the source. |
test |
Runs Mocha in BDD mode. |
build |
Runs both compile and test commands. |
Contributions are very welcome! If you'd like to contribute, these guidelines may help you.
I was studying resistors association because of my Constant Current discipline and then decided to put the basics into practice.
resistance.js is distributed under the MIT License, available in this repository. All contributions are assumed to be also licensed under the MIT License.
Some contents used in the explanation section were taken from here.