Resistor color codes and calculations as a Java Maven library
Next step in my book progress, is getting more into the details of hardware components. And as always starting with the smallest most-used ones: resistors!
To be able to fully document this for the book and create a demo application, I started again with creating and sharing a Java library.
Maven repository
A first version is now available on Maven .
Source code
Similar to my other shared libraries, the sources are available on GitHub .
How to use
Resistor color coding
Available as ColorCode.BLACK, ColorCode.BROWN… and includes all values listed in this table:
| ColorCode | HEX color | Value | Multiplier | Tolerance (%) | Temp. coeff. (ppm/K) |
|---|---|---|---|---|---|
| BLACK | #000000 | 0 | 1Ω | 250 | |
| BROWN | #761d1d | 1 | 10Ω | 1.0 | 100 |
| RED | #cc0000 | 2 | 100Ω | 2.0 | 50 |
| ORANGE | #ffa500 | 3 | 1KΩ | 15 | |
| YELLOW | #ffff00 | 4 | 10KΩ | 0.0 | 25 |
| GREEN | #008000 | 5 | 100KΩ | 0.5 | 20 |
| BLUE | #0000cc | 6 | 1MΩ | 0.25 | 10 |
| VIOLET | #ee82ee | 7 | 10MΩ | 0.1 | 5 |
| GREY | #808080 | 8 | 100MΩ | 0.25 | 1 |
| WHITE | #ffffff | 9 | 1GΩ | 0.0 | |
| GOLD | #ffd700 | 0.1Ω | 5.0 | ||
| SILVER | #c0c0c0 | 0.01Ω | 10.0 | ||
| NONE | 20.0 |
Calculate value of a resistor based on 3, 4, 5 or 6 ColorCodes
Example with 3 ColorCodes
ColorValue value3band = Calculate.resistorValue(
Arrays.asList(ColorCode.ORANGE, ColorCode.ORANGE, ColorCode.BROWN)
);
System.out.println(Convert.toOhmString(value3band.getOhm())); // Result: 330Ω
System.out.println(value3band.getTolerance() + "%"); // Result: 20.0%
Example with 6 ColorCodes
ColorValue value6band = Calculate.resistorValue(
Arrays.asList(
ColorCode.ORANGE, ColorCode.WHITE, ColorCode.BLACK,
ColorCode.SILVER, ColorCode.BROWN, ColorCode.RED
)
);
System.out.println(Convert.toOhmString(value6band.getOhm())); // Result: 3.9Ω
System.out.println(value6band.getTolerance() + "%"); // Result: 1.0%
System.out.println(value6band.getTemperatureCoefficient() + "ppm/K"); // Result: 50ppm/K
Calculate required resistor value for a LED
// Calculate.resistorForLed(double sourceVoltage, double ledVoltage, double ledCurrent)
System.out.println(Calculate.resistorForLed(3.3, 2.2, 0.02)); // Result: 55Ω
Calculate total value for resistors in serial or parallel
// Calculate.serial(List<double> values) {
System.out.println(Calculate.serial(Arrays.asList(2D, 5D, 7D))); // Result: 14Ω
// Calculate.parallel(List<double> values)
System.out.println(Calculate.parallel(Arrays.asList(10D, 2D, 1D))); // Result: 0.625Ω