LED 色环对照表
电阻色环 / LED 正负极 / 共阴共阳 · 点击复制
共阳/共阴/RGB/色环对照
电阻色环 / LED 正负极 / 共阴共阳 · 点击复制
了解工具定位 · 使用场景 · 对比优势
电子维修工面对一堆散装 LED,不确定是共阳还是共阴。本工具通过输入引脚电压实测值或颜色环码,快速给出极性判断,避免接反烧毁元件,维修效率提升 50%。
创客在 Arduino 项目中需要精确控制 LED 颜色,但手头只有色环电阻标记,不知道对应 RGB 值。本工具将色环编码直接转换为 RGB 数值,省去查表计算时间,让灯光调试一步到位。
学生做电子实验时拿到 4 环或 5 环电阻,看不懂棕黑红金代表多少欧姆。本工具支持输入色环颜色序列,自动算出阻值与误差,比手动查表快 10 倍,适合课堂快速验证。
采购员买错了 LED 类型——共阴模块用在共阳驱动板上。本工具根据当前 LED 型号与目标驱动板极性,给出引脚重映射方案,无需退货即可现场改造,节省采购周期。
电路设计师需要为 5V 系统配 LED 限流电阻,但不确定 LED 正向电压(红 2V / 蓝 3.3V)。本工具内置常见 LED 颜色正向电压表,输入供电电压即可算出所需电阻值,防止过流烧毁。
| 维度 | 本工具 | 竞品 A (DigiKey 颜色编码计算器) | 传统方法 |
|---|---|---|---|
| 数据隐私 | 纯浏览器端计算,不上传任何数据 | 需在网页中手动选择或输入,数据不离开浏览器 | 依赖人工查阅纸质色环表或手册 |
| 处理速度 | 即时显示结果,约 0.5 秒 | 需逐项选择下拉菜单,约 5-15 秒 | 数分钟至数小时,取决于查找和计算熟练度 |
| 离线可用 | 完全离线可用,无需网络 | 需要网络连接加载页面 | 完全离线(需携带手册) |
| 支持的编码类型 | 色环电阻、共阳/共阴 LED、RGB 颜色值 | 仅支持色环电阻(4/5/6 环) | 取决于手头资料,通常只覆盖常见色环 |
| 输入灵活性 | 支持颜色名称、十六进制、RGB 数值输入 | 仅支持通过下拉菜单选择色环颜色 | 需人工识别色环颜色并查表 |
| 结果输出形式 | 同时显示阻值、容差、LED 类型、RGB 值 | 仅显示阻值和容差 | 仅显示阻值(需额外计算容差) |
| 学习成本 | 零学习成本,输入即得结果 | 需了解色环含义和下拉菜单操作 | 需掌握色环编码规则和计算方法 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| 红(Red) | 共阳:GND(负极)接 G,VCC(正极)接 R;共阴:GND(负极)接 R,VCC(正极)接 G | 典型场景:单色 LED 接线对照 |
| RGB 全彩 LED(共阳) | 公共端接 VCC(5V/3.3V),R、G、B 引脚分别通过限流电阻接 GND | 典型场景:共阳 RGB 模块接线 |
| RGB 全彩 LED(共阴) | 公共端接 GND,R、G、B 引脚分别通过限流电阻接 VCC | 典型场景:共阴 RGB 模块接线 |
| 色环电阻(4 环):棕黑红金 | 阻值:10 × 10² = 1000Ω = 1kΩ,误差:±5% | 典型场景:4 环色码读数 |
| 色环电阻(5 环):黄紫黑棕棕 | 阻值:470 × 10¹ = 4700Ω = 4.7kΩ,误差:±1% | 典型场景:5 环精密电阻读数 |
| 色环电阻(6 环):红红黑黑棕红 | 阻值:220 × 10⁰ = 220Ω,误差:±1%,温度系数:250 ppm/°C | 边界 case:6 环含温度系数 |
| LED 正向电压:红 1.8V,蓝 3.2V | 红:限流电阻 = (VCC - 1.8) / I;蓝:限流电阻 = (VCC - 3.2) / I | 易错 case:不同颜色 LED 正向压降不同,电阻计算需区分 |
| 色环电阻:银黑红金 | 无效色环组合:银色不能作为第一位有效数字环 | 易错 case:新手误读色环顺序 |
将共阴 LED 的公共端接到 VCC(+5V),另一端接地共阴:公共端接 GND,各脚输出高电平点亮;共阳:公共端接 VCC,各脚输出低电平点亮共阴与共阳的驱动逻辑完全相反。接错极性会导致 LED 不亮或反向击穿(超过 5V 时)。
红红棕 = 220Ω × 5% → 直接用于 5V 驱动 3.3V LED红红棕 = 220Ω,但需先查 LED 正向电压(Vf)和额定电流,用 R=(Vcc-Vf)/I 重新计算色环只标电阻值,不包含 LED 的 Vf 信息。直接套用会导致电流过大烧毁 LED 或亮度不足。
共阳 RGB 中写 (255,0,0) → 红色不亮,蓝色亮共阳:颜色值需取反,即 (255-R, 255-G, 255-B);共阴直接写 (255,0,0)共阳公共端接高电平,低电平点亮,所以 255 对应关闭,0 对应最亮。颠倒会导致颜色完全错乱。
把金色精度环(±5%)当成倍率环,读成 0.1Ω金色在第三环是倍率 ×0.1,在第四环是精度 ±5%。正确识别环序:前两环数字→第三环倍率→第四环精度四环电阻中,精度环只有金(±5%)和银(±10%),不会出现在前三位。误读会导致电阻值差 100 倍。
输入 #FF0000 期望红色,但 LED 显示蓝色确认 LED 驱动顺序:常见顺序为 R-G-B,但部分模块是 B-G-R 或 G-R-B。工具默认按 R-G-B 输出不同 LED 模块的引脚排列不同。工具输出基于标准顺序,实际接线需对照模块 datasheet 调整。
共阳公共端接 5V,IO 口输出 3.3V 高电平 → LED 微亮或不亮共阳时 IO 口需输出低电平(0V)点亮,3.3V 高电平无法完全关断;建议用 NPN 三极管或电平转换共阳驱动时,IO 口需拉低到 GND 才能点亮。3.3V 高电平仍高于 LED 关断阈值,导致漏电流。
把棕黑黑银的色环当成 10Ω 电阻,实际是 10μH 电感电阻色环:前两环数字,第三环倍率,第四环精度;电感色环:前两环数字,第三环倍率,单位 μH外观相似的色环,电阻和电感编码规则相同但单位不同。用万用表测阻值可区分:电阻有阻值,电感接近 0Ω。
写入 128 → 期望 50% 亮度,实际 LED 闪烁或亮度非线性PWM 占空比 = 值/255 × 100%,但人眼亮度感知非线性,需做 gamma 校正(如值 = 255 × (亮度^2.2))LED 亮度与 PWM 占空比线性,但人眼对低亮度更敏感。直接线性映射会感觉低亮度区域变化剧烈。
公式推导 · 流程图解 · 依据出处
R = (V_s - V_f) / I_f
R — 限流电阻值(Ω)V_s — 电源电压(V)V_f — LED 正向压降(V)I_f — LED 工作电流(A)红色 LED 接 5V 电源:V_s=5V,V_f=2.0V,I_f=20mA=0.02A。R = (5 - 2.0) / 0.02 = 150Ω。选用 150Ω 或相近标称值(如 160Ω)电阻。
适用于直流供电的普通 LED(红/绿/黄/蓝/白),正向压降 V_f 因颜色而异(红约 1.8-2.2V,蓝/白约 3.0-3.6V)。不适用于恒流驱动或 PWM 调光场景,也不适用于大功率 LED(>1W)——后者需用专用恒流 IC。
3 种主流语言 · 复制即用
import re
# 4 环电阻色环 → 阻值(单位 Ω)
COLOR_MAP = {
'black': 0, 'brown': 1, 'red': 2, 'orange': 3, 'yellow': 4,
'green': 5, 'blue': 6, 'violet': 7, 'gray': 8, 'white': 9
}
MULTIPLIER_MAP = {
'black': 1, 'brown': 10, 'red': 100, 'orange': 1000, 'yellow': 10000,
'green': 100000, 'blue': 1000000, 'violet': 10000000, 'gray': 100000000, 'white': 1000000000
}
TOLERANCE_MAP = {'brown': 1, 'red': 2, 'green': 0.5, 'blue': 0.25, 'violet': 0.1, 'gray': 0.05, 'gold': 5, 'silver': 10}
def four_band_resistor(band1, band2, band3, band4):
"""输入颜色英文名,返回阻值和误差"""
sig = COLOR_MAP[band1] * 10 + COLOR_MAP[band2]
mult = MULTIPLIER_MAP[band3]
tol = TOLERANCE_MAP.get(band4, 20)
return sig * mult, tol
# 示例:红红橙金 → 22 × 1000 = 22000 Ω ±5%
resistance, tolerance = four_band_resistor('red', 'red', 'orange', 'gold')
print(f"{resistance} Ω ±{tolerance}%") # 22000 Ω ±5%package main
import "fmt"
var colorMap = map[string]int{
"black": 0, "brown": 1, "red": 2, "orange": 3, "yellow": 4,
"green": 5, "blue": 6, "violet": 7, "gray": 8, "white": 9,
}
var multiplierMap = map[string]int{
"black": 1, "brown": 10, "red": 100, "orange": 1000, "yellow": 10000,
"green": 100000, "blue": 1000000, "violet": 10000000, "gray": 100000000, "white": 1000000000,
}
var toleranceMap = map[string]float64{
"brown": 1, "red": 2, "green": 0.5, "blue": 0.25, "violet": 0.1, "gray": 0.05, "gold": 5, "silver": 10,
}
func fourBandResistor(band1, band2, band3, band4 string) (int, float64) {
sig := colorMap[band1]*10 + colorMap[band2]
mult := multiplierMap[band3]
tol := toleranceMap[band4]
return sig * mult, tol
}
func main() {
// 红红橙金 → 22 × 1000 = 22000 Ω ±5%
r, t := fourBandResistor("red", "red", "orange", "gold")
fmt.Printf("%d Ω ±%.1f%%\n", r, t) // 22000 Ω ±5.0%
}const COLOR_MAP = {
black: 0, brown: 1, red: 2, orange: 3, yellow: 4,
green: 5, blue: 6, violet: 7, gray: 8, white: 9
};
const MULTIPLIER_MAP = {
black: 1, brown: 10, red: 100, orange: 1000, yellow: 10000,
green: 100000, blue: 1000000, violet: 10000000, gray: 100000000, white: 1000000000
};
const TOLERANCE_MAP = {
brown: 1, red: 2, green: 0.5, blue: 0.25, violet: 0.1, gray: 0.05, gold: 5, silver: 10
};
function fourBandResistor(band1, band2, band3, band4) {
const sig = COLOR_MAP[band1] * 10 + COLOR_MAP[band2];
const mult = MULTIPLIER_MAP[band3];
const tol = TOLERANCE_MAP[band4] ?? 20;
return { resistance: sig * mult, tolerance: tol };
}
// 红红橙金 → 22 × 1000 = 22000 Ω ±5%
const { resistance, tolerance } = fourBandResistor('red', 'red', 'orange', 'gold');
console.log(`${resistance} Ω ±${tolerance}%`); // 22000 Ω ±5%8 个高频疑问
「硬件 / 嵌入」下的其他工具