{"id":100175,"date":"2026-02-15T20:25:09","date_gmt":"2026-02-15T20:25:09","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100175"},"modified":"2026-07-13T00:44:07","modified_gmt":"2026-07-13T00:44:07","slug":"ohms-law-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/vi\/calculators\/ohms-law-calculator\/","title":{"rendered":"M\u00e1y t\u00ednh \u0111\u1ecbnh lu\u1eadt Ohm \u2014 \u0110i\u1ec7n \u00e1p, d\u00f2ng \u0111i\u1ec7n, \u0111i\u1ec7n tr\u1edf v\u00e0 c\u00f4ng su\u1ea5t"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Ohm's Law Calculator\",\"alternateName\":[\"V=IR Calculator\",\"Electrical Power Calculator\",\"Ohm Wheel Calculator\"],\"description\":\"Free online Ohm's Law calculator. Enter any two of Voltage (V), Current (A), Resistance (\u03a9), or Power (W) to instantly calculate all four parameters plus conductance and energy per hour.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/ohms-law-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2025-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Six input combinations: V+I, V+R, I+R, P+I, P+V, P+R\",\"All four parameters calculated\",\"Conductance in siemens\",\"Energy per hour\",\"Auto-calculation on input change\",\"URL parameter sharing\",\"Calculation history\"],\"keywords\":\"Ohm's law, voltage, current, resistance, power, V=IR, P=VI, conductance\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is Ohm's Law?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ohm's Law states that the current through a conductor between two points is directly proportional to the voltage across the two points, and inversely proportional to the resistance. The formula is V = I \u00d7 R, where V is voltage in volts, I is current in amperes, and R is resistance in ohms.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the relationship between voltage, current, resistance and power?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The four fundamental relationships are: V = I \u00d7 R (Ohm's Law), P = V \u00d7 I (power), P = I\u00b2 \u00d7 R (power from current and resistance), and P = V\u00b2 \/ R (power from voltage and resistance). Knowing any two values allows you to calculate the other two.\"}},\n{\"@type\":\"Question\",\"name\":\"How do series and parallel resistances differ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In series, resistances add directly: R_total = R1 + R2 + R3. In parallel, reciprocals add: 1\/R_total = 1\/R1 + 1\/R2 + 1\/R3. Series increases total resistance, while parallel decreases it. For two parallel resistors: R_total = (R1 \u00d7 R2) \/ (R1 + R2).\"}},\n{\"@type\":\"Question\",\"name\":\"What is electrical conductance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Conductance (G) is the reciprocal of resistance: G = 1\/R. It is measured in siemens (S). A higher conductance means the material conducts electricity more easily. It is useful when analyzing parallel circuits, where conductances add directly.\"}},\n{\"@type\":\"Question\",\"name\":\"Does Ohm's Law apply to AC circuits?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ohm's Law applies to AC circuits when using impedance (Z) instead of resistance (R). In AC, V = I \u00d7 Z, where Z includes resistance, inductive reactance (XL = 2\u03c0fL), and capacitive reactance (XC = 1\/2\u03c0fC). For purely resistive AC loads, V = IR still applies directly.\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ohm's Law Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/ohms-law-calculator\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root {\n    --vc-bg: #f4f1ec;\n    --vc-surface: #ffffff;\n    --vc-surface-alt: #f8f6f2;\n    --vc-ink: #1a1a1a;\n    --vc-ink-secondary: #5a5650;\n    --vc-ink-muted: #8a857e;\n    --vc-accent: #c85a2a;\n    --vc-accent-hover: #b04d22;\n    --vc-accent-light: #fdf0ea;\n    --vc-blue: #2a5c8c;\n    --vc-blue-light: #eaf1f8;\n    --vc-green: #2a7a4b;\n    --vc-green-light: #eaf8ef;\n    --vc-yellow: #a67c00;\n    --vc-yellow-light: #fef9e8;\n    --vc-red: #b91c1c;\n    --vc-red-light: #fef2f2;\n    --vc-border: #d9d4cc;\n    --vc-border-light: #e8e4dd;\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\n    --vc-radius: 8px;\n    --vc-radius-lg: 12px;\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\n    --vc-display: 'Fraunces', Georgia, serif;\n}\n\n.vc-calculator {\n    font-family: var(--vc-font);\n    font-size: 15px;\n    line-height: 1.65;\n    color: var(--vc-ink);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px 16px 40px;\n    -webkit-font-smoothing: antialiased;\n}\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\n\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column: 1 \/ -1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:2000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n.vc-rcard-calculated { border-color:var(--vc-blue); border-width:2px; background:linear-gradient(135deg, #eef4fa 0%, var(--vc-surface) 100%); }\n.vc-rcard-calculated .vc-rcard-label::after { content:' \u2190 calculated'; font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-blue); }\n\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; }\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\n.vc-faq-a-inner li { margin-bottom:3px; }\n\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-promo-text strong { color:var(--vc-ink); }\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\n.vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; }\n.vc-footer-links a { margin:0 8px; }\n\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\n@media print {\n    .vc-section-body { max-height:none!important; }\n    .vc-faq-a { max-height:none!important; }\n    .vc-results { max-height:none!important; padding:24px!important; }\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\n}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-ohms-law\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Ohm&#8217;s Law Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Enter any two known electrical parameters \u2014 Voltage, Current, Resistance, or Power \u2014 and instantly calculate all four, plus conductance and energy per hour.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">V = I \u00d7 R<\/span>\n        <span class=\"vc-badge\">P = V \u00d7 I<\/span>\n        <span class=\"vc-badge\">Ohm&#8217;s Wheel<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field vc-field-full\">\n                <label class=\"vc-label\" for=\"vc-known\">Known Values<\/label>\n                <select class=\"vc-select\" id=\"vc-known\">\n                    <option value=\"vi\" selected>Voltage (V) + Current (I)<\/option>\n                    <option value=\"vr\">Voltage (V) + Resistance (R)<\/option>\n                    <option value=\"ir\">Current (I) + Resistance (R)<\/option>\n                    <option value=\"pi\">Power (P) + Current (I)<\/option>\n                    <option value=\"pv\">Power (P) + Voltage (V)<\/option>\n                    <option value=\"pr\">Power (P) + Resistance (R)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-1\">\n                <label class=\"vc-label\" for=\"vc-val1\" id=\"vc-label-1\">Voltage <span class=\"vc-label-hint\">(V)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-val1\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 12\" value=\"12\">\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-2\">\n                <label class=\"vc-label\" for=\"vc-val2\" id=\"vc-label-2\">Current <span class=\"vc-label-hint\">(A)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-val2\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 2\" value=\"2\">\n            <\/div>\n        <\/div>\n\n        <!-- Presets -->\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-k=\"vi\" data-v1=\"12\" data-v2=\"2\">12V 2A<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-k=\"vi\" data-v1=\"230\" data-v2=\"10\">230V 10A<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-k=\"vr\" data-v1=\"5\" data-v2=\"100\">5V 100\u03a9<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-k=\"pv\" data-v1=\"100\" data-v2=\"230\">100W 230V<\/button>\n        <\/div>\n    <\/form>\n\n    <!-- Results -->\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\" id=\"vc-result-grid\">\n            <div class=\"vc-rcard\" id=\"vc-rc-v\">\n                <div class=\"vc-rcard-label\">Voltage<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-v\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" id=\"vc-rc-i\">\n                <div class=\"vc-rcard-label\">Current<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-i\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" id=\"vc-rc-r\">\n                <div class=\"vc-rcard-label\">Resistance<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-r\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" id=\"vc-rc-p\">\n                <div class=\"vc-rcard-label\">Power<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-p\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Conductance (G = 1\/R)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-g\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Energy per Hour<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-wh\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Reference -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; Formulas<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Ohm&#8217;s Law<\/h3>\n            <p>Ohm&#8217;s Law defines the fundamental relationship between voltage, current, and resistance in an electrical circuit:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n\n            <h3>Power Relationships<\/h3>\n            <p>Electrical power can be calculated from any combination of two known values:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n\n            <h3>The Ohm&#8217;s Law Wheel<\/h3>\n            <p>All twelve formulas derived from V = IR and P = VI:<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Find<\/th><th>From V &amp; I<\/th><th>From V &amp; R<\/th><th>From I &amp; R<\/th><th>From P<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td><strong>V<\/strong><\/td><td>\u2014<\/td><td>\u2014<\/td><td>V = I \u00d7 R<\/td><td>V = P \/ I or \u221a(P \u00d7 R)<\/td><\/tr>\n                    <tr><td><strong>I<\/strong><\/td><td>\u2014<\/td><td>I = V \/ R<\/td><td>\u2014<\/td><td>I = P \/ V or \u221a(P \/ R)<\/td><\/tr>\n                    <tr><td><strong>R<\/strong><\/td><td>R = V \/ I<\/td><td>\u2014<\/td><td>\u2014<\/td><td>R = V\u00b2 \/ P or P \/ I\u00b2<\/td><\/tr>\n                    <tr><td><strong>P<\/strong><\/td><td>P = V \u00d7 I<\/td><td>P = V\u00b2 \/ R<\/td><td>P = I\u00b2 \u00d7 R<\/td><td>\u2014<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 LED Resistor Calculation<\/div>\n                <p><strong>Given:<\/strong> Supply = 12 V, LED forward voltage = 2 V, desired current = 20 mA<\/p>\n                <p>Voltage across resistor: 12 \u2212 2 = 10 V<\/p>\n                <p>R = V \/ I = 10 \/ 0.020 = <strong>500 \u03a9<\/strong><\/p>\n                <p>P = V \u00d7 I = 10 \u00d7 0.020 = <strong>0.2 W<\/strong> (use \u00bcW resistor minimum)<\/p>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>Tip:<\/strong> Conductance (G) is the reciprocal of resistance: G = 1\/R, measured in siemens (S). It&#8217;s useful in parallel circuit analysis where conductances add directly: G<sub>total<\/sub> = G\u2081 + G\u2082 + G\u2083.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related Calculators -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Calculators<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/cable-cross-section\/\">Cable Cross-Section Calculator<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/motor-slip-calculator\/\">Motor Slip Calculator<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/power-factor-correction\/\">Power Factor Calculator<\/a>\n                <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Promo -->\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Used in 50+ countries for industrial maintenance.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<!-- Footer -->\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Ohm&#8217;s Law: V = I \u00d7 R. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n\n    var SLUG = 'ohms-law-calculator';\n\n    \/* Input configurations per \"known\" selection *\/\n    var CONFIGS = {\n        vi: { l1: 'Voltage', h1: '(V)', p1: 'e.g. 12', l2: 'Current', h2: '(A)', p2: 'e.g. 2' },\n        vr: { l1: 'Voltage', h1: '(V)', p1: 'e.g. 5',  l2: 'Resistance', h2: '(\u03a9)', p2: 'e.g. 100' },\n        ir: { l1: 'Current', h1: '(A)', p1: 'e.g. 2',  l2: 'Resistance', h2: '(\u03a9)', p2: 'e.g. 6' },\n        pi: { l1: 'Power',   h1: '(W)', p1: 'e.g. 100', l2: 'Current', h2: '(A)', p2: 'e.g. 0.5' },\n        pv: { l1: 'Power',   h1: '(W)', p1: 'e.g. 100', l2: 'Voltage', h2: '(V)', p2: 'e.g. 230' },\n        pr: { l1: 'Power',   h1: '(W)', p1: 'e.g. 100', l2: 'Resistance', h2: '(\u03a9)', p2: 'e.g. 50' }\n    };\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) {\n        if (isNaN(n) || !isFinite(n)) return '\u2014';\n        if (Math.abs(n) >= 1e6) return n.toExponential(3);\n        if (Math.abs(n) < 0.001 && n !== 0) return n.toExponential(3);\n        var f = n.toFixed(d === undefined ? 4 : d);\n        return f.replace(\/(\\.\\d*?)0+$\/, '$1').replace(\/\\.$\/, '');\n    }\n    function fmtSmart(n) {\n        if (isNaN(n) || !isFinite(n)) return '\u2014';\n        if (Math.abs(n) >= 1e6) return n.toExponential(3);\n        if (Math.abs(n) < 0.001 && n !== 0) return n.toExponential(3);\n        if (Math.abs(n) >= 1000) return fmt(n, 1);\n        if (Math.abs(n) >= 1) return fmt(n, 3);\n        return fmt(n, 4);\n    }\n\n    function updateLabels() {\n        var k = $('vc-known').value;\n        var cfg = CONFIGS[k];\n        $('vc-label-1').innerHTML = cfg.l1 + ' <span class=\"vc-label-hint\">' + cfg.h1 + '<\/span>';\n        $('vc-label-2').innerHTML = cfg.l2 + ' <span class=\"vc-label-hint\">' + cfg.h2 + '<\/span>';\n        $('vc-val1').placeholder = cfg.p1;\n        $('vc-val2').placeholder = cfg.p2;\n    }\n\n    \/* \u2500\u2500 CALCULATION \u2500\u2500 *\/\n    function calculate() {\n        var k = $('vc-known').value;\n        var v1 = parseFloat($('vc-val1').value);\n        var v2 = parseFloat($('vc-val2').value);\n\n        if (isNaN(v1) || isNaN(v2) || v1 < 0 || v2 < 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var V, I, R, P;\n        var calculated = []; \/\/ which params were calculated\n\n        switch (k) {\n            case 'vi':\n                V = v1; I = v2;\n                if (I === 0) { $('vc-results').classList.remove('vc-visible'); return; }\n                R = V \/ I; P = V * I;\n                calculated = ['r', 'p'];\n                break;\n            case 'vr':\n                V = v1; R = v2;\n                if (R === 0) { $('vc-results').classList.remove('vc-visible'); return; }\n                I = V \/ R; P = V * V \/ R;\n                calculated = ['i', 'p'];\n                break;\n            case 'ir':\n                I = v1; R = v2;\n                V = I * R; P = I * I * R;\n                calculated = ['v', 'p'];\n                break;\n            case 'pi':\n                P = v1; I = v2;\n                if (I === 0) { $('vc-results').classList.remove('vc-visible'); return; }\n                V = P \/ I; R = P \/ (I * I);\n                calculated = ['v', 'r'];\n                break;\n            case 'pv':\n                P = v1; V = v2;\n                if (V === 0) { $('vc-results').classList.remove('vc-visible'); return; }\n                I = P \/ V; R = V * V \/ P;\n                calculated = ['i', 'r'];\n                break;\n            case 'pr':\n                P = v1; R = v2;\n                if (R === 0) { $('vc-results').classList.remove('vc-visible'); return; }\n                I = Math.sqrt(P \/ R); V = Math.sqrt(P * R);\n                calculated = ['v', 'i'];\n                break;\n        }\n\n        var G = R > 0 ? 1 \/ R : Infinity;\n        var Wh = P; \/\/ energy per hour = power \u00d7 1h\n\n        \/\/ Display\n        $('vc-r-v').innerHTML = fmtSmart(V) + ' <span class=\"vc-rcard-unit\">V<\/span>';\n        $('vc-r-i').innerHTML = fmtSmart(I) + ' <span class=\"vc-rcard-unit\">A<\/span>';\n        $('vc-r-r').innerHTML = fmtSmart(R) + ' <span class=\"vc-rcard-unit\">\u03a9<\/span>';\n        $('vc-r-p').innerHTML = fmtSmart(P) + ' <span class=\"vc-rcard-unit\">W<\/span>';\n        $('vc-r-g').innerHTML = fmtSmart(G) + ' <span class=\"vc-rcard-unit\">S<\/span>';\n        $('vc-r-wh').innerHTML = fmtSmart(Wh) + ' <span class=\"vc-rcard-unit\">Wh<\/span>';\n\n        \/\/ Highlight calculated cards\n        ['v', 'i', 'r', 'p'].forEach(function(param) {\n            var card = $('vc-rc-' + param);\n            card.className = 'vc-rcard';\n            if (calculated.indexOf(param) !== -1) {\n                card.classList.add('vc-rcard-calculated');\n            }\n        });\n\n        \/\/ Make the first calculated one primary (full width)\n        if (calculated.length > 0) {\n            var primaryCard = $('vc-rc-' + calculated[0]);\n            primaryCard.classList.add('vc-rcard-primary');\n            primaryCard.classList.remove('vc-rcard-calculated');\n        }\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('known', k);\n        u.searchParams.set('val1', v1);\n        u.searchParams.set('val2', v2);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        saveHistory({\n            known: k, val1: v1, val2: v2,\n            _summary: 'V=' + fmtSmart(V) + ' I=' + fmtSmart(I) + ' R=' + fmtSmart(R) + ' P=' + fmtSmart(P)\n        });\n    }\n\n    \/* \u2500\u2500 KNOWN CHANGE \u2500\u2500 *\/\n    $('vc-known').addEventListener('change', function() {\n        updateLabels();\n        $('vc-val1').value = '';\n        $('vc-val2').value = '';\n        $('vc-results').classList.remove('vc-visible');\n    });\n\n    \/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-known').value = this.getAttribute('data-k');\n            updateLabels();\n            $('vc-val1').value = this.getAttribute('data-v1');\n            $('vc-val2').value = this.getAttribute('data-v2');\n            calculate();\n        });\n    });\n\n    \/* \u2500\u2500 AUTO-CALCULATE \u2500\u2500 *\/\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', function(e) {\n        if (e.target.id !== 'vc-known') calculate();\n    });\n\n    \/* \u2500\u2500 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = \"Ohm's Law Calculation\\n\" +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'Voltage: ' + $('vc-r-v').textContent + '\\n' +\n            'Current: ' + $('vc-r-i').textContent + '\\n' +\n            'Resistance: ' + $('vc-r-r').textContent + '\\n' +\n            'Power: ' + $('vc-r-p').textContent + '\\n' +\n            'Conductance: ' + $('vc-r-g').textContent + '\\n' +\n            'Energy\/h: ' + $('vc-r-wh').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'vibromera.eu\/calculators\/ohms-law-calculator\/';\n\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn');\n                btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() {\n                    btn.classList.remove('vc-copied');\n                    btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy';\n                }, 2000);\n            });\n        }\n    });\n\n    \/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            var isOpen = section.classList.contains('vc-open');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', !isOpen);\n        });\n    });\n\n    \/* \u2500\u2500 FAQ \u2500\u2500 *\/\n    var faqData = [\n        { q: \"What is Ohm's Law?\", a: \"<p>Ohm's Law states that the current (I) flowing through a conductor is directly proportional to the voltage (V) across it and inversely proportional to the resistance (R): <strong>V = I \u00d7 R<\/strong>.<\/p><p>Discovered by Georg Simon Ohm in 1827, it is one of the most fundamental laws in electrical engineering and applies to any resistive circuit element.<\/p>\" },\n        { q: 'What is the relationship between V, I, R, and P?', a: \"<p>The four electrical parameters are related by Ohm's Law and the power equation:<\/p><ul><li><strong>V = I \u00d7 R<\/strong> \u2014 voltage equals current times resistance<\/li><li><strong>P = V \u00d7 I<\/strong> \u2014 power equals voltage times current<\/li><li><strong>P = I\u00b2 \u00d7 R<\/strong> \u2014 power from current and resistance<\/li><li><strong>P = V\u00b2 \/ R<\/strong> \u2014 power from voltage and resistance<\/li><\/ul><p>Knowing any two of the four values (V, I, R, P) allows you to calculate the other two.<\/p>\" },\n        { q: 'How do series and parallel resistances differ?', a: '<p><strong>Series connection:<\/strong> Resistances add directly.<\/p><ul><li>R<sub>total<\/sub> = R\u2081 + R\u2082 + R\u2083 + ...<\/li><li>Same current flows through all resistors<\/li><li>Voltage divides across resistors<\/li><\/ul><p><strong>Parallel connection:<\/strong> Reciprocals add.<\/p><ul><li>1\/R<sub>total<\/sub> = 1\/R\u2081 + 1\/R\u2082 + 1\/R\u2083 + ...<\/li><li>Same voltage across all resistors<\/li><li>Current divides among branches<\/li><\/ul><p>For two parallel resistors: R<sub>total<\/sub> = (R\u2081 \u00d7 R\u2082) \/ (R\u2081 + R\u2082)<\/p>' },\n        { q: 'What is electrical conductance?', a: '<p>Conductance (G) is the reciprocal of resistance: <strong>G = 1\/R<\/strong>. It is measured in <strong>siemens (S)<\/strong>, formerly called mhos (\u2127).<\/p><p>Conductance is particularly useful when analyzing parallel circuits, because conductances in parallel simply add: G<sub>total<\/sub> = G\u2081 + G\u2082 + G\u2083.<\/p><p>A 100 \u03a9 resistor has a conductance of 0.01 S (10 mS).<\/p>' },\n        { q: \"Does Ohm's Law work for AC circuits?\", a: \"<p>Ohm's Law applies to AC circuits when resistance (R) is replaced by <strong>impedance (Z)<\/strong>:<\/p><ul><li>V = I \u00d7 Z (AC version of Ohm's Law)<\/li><li>Z includes resistance (R), inductive reactance (X<sub>L<\/sub> = 2\u03c0fL), and capacitive reactance (X<sub>C<\/sub> = 1\/(2\u03c0fC))<\/li><li>Z = \u221a(R\u00b2 + (X<sub>L<\/sub> \u2212 X<sub>C<\/sub>)\u00b2)<\/li><\/ul><p>For purely resistive AC loads (heaters, incandescent bulbs), V = IR still applies directly. For inductive or capacitive loads, you must use impedance and consider phase angle.<\/p>\" }\n    ];\n\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) {\n        var btn = e.target.closest('.vc-faq-q');\n        if (!btn) return;\n        btn.closest('.vc-faq-item').classList.toggle('vc-open');\n    });\n\n    \/* \u2500\u2500 HISTORY \u2500\u2500 *\/\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG;\n        var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString();\n        arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    \/* \u2500\u2500 URL PARAMS \u2500\u2500 *\/\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('known')) $('vc-known').value = p.get('known');\n        if (p.has('val1')) $('vc-val1').value = p.get('val1');\n        if (p.has('val2')) $('vc-val2').value = p.get('val2');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('V = I \\\\times R \\\\qquad I = \\\\frac{V}{R} \\\\qquad R = \\\\frac{V}{I}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('P = V \\\\times I = I^2 \\\\times R = \\\\frac{V^2}{R}', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    \/* \u2500\u2500 INIT \u2500\u2500 *\/\n    function init() {\n        loadParams();\n        updateLabels();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>C\u00f4ng c\u1ee5 t\u00ednh to\u00e1n \u0111\u1ecbnh lu\u1eadt Ohm tr\u1ef1c tuy\u1ebfn mi\u1ec5n ph\u00ed. Nh\u1eadp b\u1ea5t k\u1ef3 hai trong s\u1ed1 \u0110i\u1ec7n \u00e1p (V), D\u00f2ng \u0111i\u1ec7n (A), \u0110i\u1ec7n tr\u1edf (\u03a9) ho\u1eb7c C\u00f4ng su\u1ea5t (W) \u0111\u1ec3 t\u00ednh to\u00e1n ph\u1ea7n c\u00f2n l\u1ea1i. Bao g\u1ed3m c\u1ea3 \u0111\u1ed9 d\u1eabn \u0111i\u1ec7n v\u00e0 n\u0103ng l\u01b0\u1ee3ng.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100175","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/calculator\/100175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":3,"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/calculator\/100175\/revisions"}],"predecessor-version":[{"id":102512,"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/calculator\/100175\/revisions\/102512"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/media?parent=100175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/categories?post=100175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/vi\/wp-json\/wp\/v2\/tags?post=100175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}