WS2812 a/b Technick

Technische Dokumentation

<code |

wenn ich eine matrix von 20×20 ws2812 led`s an einem esp32D1 mini betreibe, wir hoch ist die maximale refreshrate der matrix? Bei einer 20×20 Matrix (insgesamt 400 LEDs) an einem ESP32 D1 Mini beträgt die theoretische maximale Refreshrate etwa 80 Hz, sofern die LEDs in einer einzigen langen Kette an einem Pin betrieben werden. Die Berechnung im Detail Die Refreshrate wird primär durch das starre Übertragungsprotokoll der WS2812-LEDs (800 kHz Datenrate) begrenzt: Zeit pro LED: Jede LED benötigt 24 Bit. Bei 800 kHz dauert das Senden der Daten für eine LED genau 30 µs.Gesamtzeit für 400 LEDs: \(400\times 30\,\mu \text{s}=12.000\,\mu \text{s}\) (bzw. 12 ms).Reset-Signal: Nach jedem Frame ist eine Pause (Reset) von mindestens 50 µs bis 300 µs (je nach LED-Modell) erforderlich.Gesamtdauer pro Frame: ca. 12,3 ms.Refreshrate: \(1/0,0123\,\text{s}\approx \mathbf{81}\,\mathbf{Hz}\). Einflussfaktoren und Optimierung Rechenzeit: Die oben genannte Rate ist das physikalische Maximum des Datenbusses. In der Praxis benötigt der ESP32 zusätzliche Zeit, um die Farbberechnungen (z. B. mit der FastLED-Bibliothek) durchzuführen, was die effektive Rate leicht senken kann.Parallele Ansteuerung: Der ESP32 kann durch Funktionen wie Parallel Output (z. B. via RMT oder I2S) die Matrix in mehrere Segmente aufteilen und diese gleichzeitig an verschiedenen Pins ansteuern. Würdest du die Matrix beispielsweise an 4 Pins (je 100 LEDs) betreiben, vervierfacht sich die theoretische Refreshrate auf über 300 Hz.Hardware-Limitierung: Die interne PWM-Frequenz der WS2812-LEDs selbst liegt oft bei ca. 400 Hz bis 2 kHz. Updates, die schneller als die interne PWM-Rate erfolgen, führen nicht zu einer flüssigeren Darstellung, sondern können zu Flackern führen. Empfehlung: Für eine flüssige Darstellung ohne sichtbare Verzögerungen reichen die standardmäßigen ~80 Hz bei 400 LEDs völlig aus. KI-Antworten können Fehler enthalten. Weitere InformationenÖffentlicher Link wird erstellt…Vielen DankDein Feedback hilft Google, seine Dienste zu verbessern. Weitere Informationen findest du in unserer Datenschutzerklärung.Mehr Feedback gebenProblem meldenSchließen12 WebsitesBit's Byt's Hz Calculation Question - LEDs and Multiplexing27.03.2017 — The data rate is 800KHz not 400KHz, look at the timing signal definitions in the following pages. Each LED takes 24 data…Arduino Forum·Marcellino1:45How many leds? · Issue #288 · FastLED/FastLED - GitHub11.04.2016 — Ws2812b's take 30us to write out data - so 60 leds would take 1.8ms to write out or a maximum of just over 550 frames pe…GitHubParallel Output on WS2811 style leds - FastLED/FastLED Wiki - GitHub11.08.2019 — Multi-platform Parallel output If you are using a due or a digix or a teensy 3 or a teensy 3.1, FastLED now has some new…GitHubAlle anzeigen12 WebsitesBit's Byt's Hz Calculation Question - LEDs and Multiplexing27.03.2017 — The data rate is 800KHz not 400KHz, look at the timing signal definitions in the following pages. Each LED takes 24 data…Arduino Forum·Marcellino1:45Bit's Byt's Hz Calculation Question - LEDs and Multiplexing27.03.2017 — But there is a bigger problem if the LEDs are spinning. No matter what rate you can or can not get new data into the LED…Arduino Forum·Marcellino1:45How many leds? · Issue #288 · FastLED/FastLED - GitHub11.04.2016 — Ws2812b's take 30us to write out data - so 60 leds would take 1.8ms to write out or a maximum of just over 550 frames pe…GitHubParallel Output on WS2811 style leds - FastLED/FastLED Wiki - GitHub11.08.2019 — Multi-platform Parallel output If you are using a due or a digix or a teensy 3 or a teensy 3.1, FastLED now has some new…GitHubParallel Output · FastLED/FastLED Wiki - GitHub11.08.2019 — WS2812 strips are slow for writing data, with a data rate of just 800khz, it takes 30µs to write out a single led's wort…GitHubfastled support for ws2812-2020 · Issue #1484 - GitHub05.03.2023 — nk63 commented. nk63. on Mar 7, 2023 · edited by nk63. Author. Thanks for the answer, but I already checked the *. h fil…GitHubRefresh Rate and PWM Rate explained - Advatek LightingWS2812B has a PWM rate of 400Hz, so this will result in flickering footage.Advatek LightingWS2812B-Mini - TME.eu.Refresh Frequency updates to 2KHz, Low Frame Frequency and No Flicker appear in HD Video Camera, it improve excellent display effe…TMEHow fast can it go? : r/FastLED - Reddit12.05.2022 — squirrel5674. • 4y ago. It is the Chipset. WS2812B have strict timings and are easy to calculate: 1 / ( (LEDs * 24) / 80…RedditWS2812b max LED limit? : r/esp32 - Reddit10.12.2020 — RAM - most interfaces and most use cases will require having a copy of the outbound pixel data in memory. FastLED does. …RedditNeoPixel Sticks refresh rate - adafruit industries27.06.2013 — Re: NeoPixel Sticks refresh rate. Post by adafruit_support_mike » Fri Jun 28, 2013 2:52 am. The datasheets for the WS281…AdafruitThe speed of light Why is the WS2811/12/12B a poor choice …19.03.2014 — WS281x. It takes 30 microseconds (millionths of a second) to transmit one pixel worth of data down a strip of WS2811, WS…Maker ForumsEsp32 max led? · Issue #927 · wled/WLED - GitHub18.05.2020 — Hi, it is entirely possible to run about 1k of LEDs on ESP32 - with ESP8266 one can run into memory issues at high LED a…GitHub(function(){var ca=Object.defineProperty,da=globalThis,w=„Int8 Uint8 Uint8Clamped Int16 Uint16 Int32 Uint32 Float32 Float64“.split(„ “);da.BigInt64Array&&(w.push(„BigInt64“),w.push(„BigUint64“)); var fa=function(a,b){if(b)for(var c=0;c<w.length;c)ea(w[c]+"Array.prototype."+a,b)},ha=function(a,b){b&&ea(a,b)},ea=function(a,b){var c=da;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))return;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&b!=null&&ca(c,a,{configurable:!0,writable:!0,value:b})},ia=function(a){a=Math.trunc(a) )if(ka=ka[ja[la]],ka==null)break a;var ma={push:a⇒void a()};function na(a){var b=window.google?.timers?.load;b&&(b=b.e.folr,google.c.e(„load“,„folr“,b?`${b},${a}`:a))};const oa=new Set(„aaft aafit aafct irli sart scrt saft saftwgc scat“.split(„ “));function x(){return typeof csi_o_qull!==„undefined“&&csi_o_qull}function B(){return typeof csi_o_dle!==„undefined“&&csi_o_dle&&x()} var pa=function(a,b=!1){const c=a.C;a.i=!0;a.F.forEach(d⇒{d()});a.F=[];b&&(a.X=!0,B()&&(a.C=c))},qa=function(a){if(Array.isArray(a.g.cbvi))for(const b of a.g.cbvi)b();a.g.cbvi=ma},D=function(a,b,c){if(B()){if(!a.i||a.X)if(a.B[b]=Math.max(a.B[b]||0,c),a.j)return;a.J[b]=Math.max(a.J[b]||0,c)}else a.B[b]=Math.max(a.B[b]||0,c)},ra=function(a,b=„all“,c=a.B,d=!1){const e=b===„all“;let g={};if(e)qa(a),g=c;else for(var h of Object.keys©)oa.has(h.split(„-“)[0])||(g[h]=c[h]);(c=google.stvsc?.ns||window.performance?.timing?.navigationStart)&& (g.ns=c);a:{c=a.url;if(h=window._csc!==„agsa“||!window._cshid)h=window.google?.rdn?window.performance?.getEntriesByType?.(„navigation“)[0]:void 0,h?(h=h.type,h=!h||h===„navigate“):h=!window.performance?.navigation?.type;if(h&&(c=(c=c.match(RegExp(„[?&]qsubts=(\\d+)“)))&&Number(c[1]),c>0))break a;c=void 0}c&&(g.gsans=c);(c=google.timers.load?.t.prs)&&(g.prs=c);c=a.g.t.getAttribute(„eid“);h=[];for(const k of Object.keys(g))h.push(`${k}.${g[k]-a.ka}`);b=`/gen_204?s=async&astyp=${a.g.astyp}&t=${d?`${b}2`: b}&atyp=csi&ei=${c}&rt=${h.join(„,“)}`;e&&(a.R&&(b+=`&lvhr=${a.R}`),b+=`&${„imn“}=${a.T}`,b+=`&${„ima“}=${a.G}`);b+=`&${„folid“}=${a.g.id}`;a.la?navigator.sendBeacon(b,„“):google.log(„“,„“,b)},sa=function(a,b,c,d=Date.now(),e=!1){if(x()&&!a.i){a.F.push1)return;a.j=!0}const g=google.cv(b,!1,a.g.t),h=!!(g&1);h&&(c&&(a.R=c),D(a,„aaft“,d),D(a,„aafct“,d));ta(a,b,d,h,e);g&4&&(a.ha=!0,a.G===a.K&&qa(a));a.j=!1},ta=function(a,b,c,d,e=!1){if(x()&&!a.i){a.F.push2)return;a.j=!0}for(const g of ua(a,b))for(const h of E(g)){if(!h)continue;const k=`${„saft“}-${h}`,f=`${„saftwgc“}-${h}`,m=`${„sart“}-${h}`;if(g.contains(b)||!a.i&&b.contains(g))d&&(D(a,k,c),e||D(a,f,c)),D(a,m,c)}a.j=!1},ua=function(a,b){if(typeof csi_o_qso!==„undefined“&&csi_o_qso){b=b.querySelectorAll(„[data-subtree]“);for(const c of b){b=E©;for(const d of b)a.U.includes©||a.U.push©}return a.U}return a.g.t.querySelectorAll(„[data-subtree]“)},E=function(a){return(a=a.dataset.subtree)? a.split(„,“):[]},va=function(a,b,c,d=!1){b.getAttribute(„data-deferred“)===„1“?google.rll(b,!0,()⇒{va(a,b,c,d)}):d||(b.getAttribute(„data-deferred“)===„2“&&b.setAttribute(„data-deferred“,„3“),d=!0,wa(a,b,c))},xa=function(a,b){var c=Date.now();const d=b.getElementsByTagName(„img“);for(let g=0;g<d.length;g){const h=d[g];if(h.dataset.imglogged)continue;h.dataset.imglogged="true";++a.T;var e=h.complete&&!h.getAttribute("data-deferred");const k=h.hasAttribute("data-noaft");if(e a.C;continue}e= google.cv(h,!1,a.g.t);h.setAttribute(„data-aatf“,String(e));const f=!!(e&1);if(f)a.G,Array.isArray(a.g.cbvi) a.C;continue}h.getAttribute(„data-imgprocessed“)?a.C:(google.rll(h,!0,()=>{va(a,h,f)}),a.B.irfi a.C;c&&(a.K,D(a,"aaft",d),D(a,"aafit",d));ta(a,b,d,c);a.ha&&a.G===a.K&& qa(a);!a.Y ){const f=e[d];if(!f.hasAttribute(„data-nosplice“))if(f.tagName===„SCRIPT“){if(c||d<e.length-1){b:{if(!(f instanceof HTMLScriptElement)){var g=f;break b}if(f.type!==„text/javascript“&&f.type!==„“){g=f;break b}const m=document.createElement(„script“);m.textContent=f.textContent;m.nonce=f.nonce;g=m;var h=g.setAttribute;var k=document.querySelector(„script[nonce]“); k=k==null?„“:k.nonce||k.getAttribute(„nonce“)||„“;h.call(g,„nonce“,k);f.remove();g=m}g===f?g=!1:(document.body.appendChild(g),g=!0);g||a(f)}}else a(f)}}let c=!1;return{onChunkWritten:b,onRenderFinished(d){c=!0;b(d)}}};function wb(a){const b=vb(a),c=[];return{onDocumentOpen(d){c.push(d)},onChunkWritten(d){for(const e of d.querySelectorAll(„script“))e.setAttribute(„data-complete“,„true“);b.onRenderFinished?.(d)},onRenderFinished(){for(const d of c)b.onRenderFinished?.(d)}}};function xb(a,b,c=()⇒{}){a.forEach(d⇒{a:{const k=d.getAttribute(„data-target-container-id“);d.removeAttribute(„data-target-container-id“);if(k){var e=b;var g=d.getAttribute(„data-target-scope-id“);d.removeAttribute(„data-target-scope-id“);g&&(e=document.querySelectorAll(`[data-scope-id=„${g}“]`),e=e[e.length-1]);if(e){var h=`[data-container-id=„${k}“]`;e=e.matches(h)?e:e.querySelector(h)}if(!e){if(k===d.getAttribute(„data-container-id“)){g=d;break a}throw Error(„i`“+k+„`“+(g?` within scope ${g}.`: „.“));}g=e}else g=null}yb(d,g);c(g,d)})}function yb(a,b){if(a!==b){const c=a.getAttribute(„data-sn-op“)||„0“;a.removeAttribute(„data-sn-op“);switch©{case „1“:zb(b,a);break;case „2“:b.append(…a.childNodes);break;case „0“:b.appendChild(a)}}} function Ab(a,b,c,d){c=c||b;d?.parentNode!==b&&(d=null);const e=a.matches(„[data-target-container-id]“)?[a]:a.querySelectorAll(„[data-target-container-id]“);a.tagName===„STYLE“?b.append(a):(e.forEach(g⇒{g.remove()}),d?b.insertBefore(a,d):b.appendChild(a),xb(e,c))}function zb(a,b){a.replaceChildren(…a.querySelectorAll(„style“),b)} function Bb(a){a.forEach(b⇒{if(N(b,b.ownerDocument.documentElement)){var c=b.dataset.targetIframeUuid,d=b.dataset.command,e=b.dataset.content;if(!d)throw Error(„j`“+c);b.remove();({promise:b}=window.iframes.get©);b.then(g⇒{g.contentWindow?.postMessage({sn:1,method:„stream“,args:{command:d,content:e}},„*“)})}})};var Cb=!!(window.ReadableStream?.prototype&&„pipeThrough“in window.ReadableStream?.prototype&&window.TextDecoderStream),Db=async function(a,b,c){if(b.headers.get(„Content-Type“)?.split(„;“,2)?.[0]?.toLowerCase()!==„text/html“)throw Error(„k`“+b.url);if(b.url&&(new URL(b.url)).origin!==location.origin)throw Error(„l`“+b.url);if(Cb)for(a.i=b.body.pipeThrough(new TextDecoderStream).getReader();;){const {value:d,done:e}=await a.i.read();if(e||a.g)break;b=pb(d);c(b)}else a=await b.text(),a=pb(a),c(a)}, Eb=class{constructor(a=[]){this.plugins=a;this.finished=this.g=!1;this.plugins=a}async render(a){const b=document.implementation.createHTMLDocument(„“);for(const c of this.plugins)if(c.onRenderStarted)c.onRenderStarted(b);b.open();for(const c of this.plugins)c.onDocumentOpen?.(b);await Db(this,a,c⇒{if(!this.g){for(const d of this.plugins)try{d.onFirstByte?.(b),d.onFirstByte=void 0}catch(e){}b.write(lb©);for(const d of this.plugins)try{d.onChunkWritten?.(b)}catch(e){}}});b.close();if(!this.g){this.finished= !0;for(const c of this.plugins)try{c.onRenderFinished?.(b)}catch(d){}}}cancel(){if(!this.finished){this.g=!0;this.i?.cancel().catch5)} function ic(a){const b=[];a.forEach(c⇒{(c=c.getAttribute(„data-key“))&&!dc.has©&&(b.push©,dc.add©)});return b}function jc(a,b,c){b.forEach(d⇒{let e=a.getElementById(d);e||=document.getElementById(d);e&&(e.textContent=`Client Latency: ${c.toFixed(2)} ms`,e.style.display=„block“)})}function kc(a,b,c=!1){lc(a,b,c);c=Date.now();for(const d of ua(b,a))for(const e of E(d)){if(!e)continue;const g=`${„scat“}-${e}`;(d.contains(a)||a.contains(d))&&D(b,g,c)}} function lc(a,b,c=!1){za(b,a,Date.now());!c&&S()||xa(b,a)};function mc(a,b,c,d){b=„aim_“+b;ec()&&(b=„l“+b);d&&(b+=„_restore“);return{astyp:b,t:a,m:5,id:c}};function nc(a){let b=!1;return{onChunkWritten(){b||a.querySelector(„[data-aimmrs]“)==null||(ab(),b=!0)}}};let T=0,oc=new WeakSet;function pc(a){const b=[];for(a=a.parentElement;a;)a.matches(„[data-animation-nesting],li,mark,code“)&&b.push(a),a=a.parentElement;return b}function qc(a,b,c=!1){if(rc(a)===NodeFilter.FILTER_ACCEPT){var d=performance.now(),e=[];T=sc(a,Math.max(0,T-d),b,e,c)+d;return{ea:T,pb:e}}} function sc(a,b,c,d,e=!1){tc(a).forEach(g⇒{pc(g).forEach(r⇒{uc(r,!1,b,0,c,d,e)});if(U(g))b=uc(g,!1,b,4,c,d,e);else{for(var h=g.parentNode,k=g.nextSibling,f=document.createDocumentFragment(),m=g.textContent?.match(/\s*\S+\s*/g)??[],q=0;q<m.length;){const r=m.slice(q,q+12),t=document.createElement(„span“),n=r.join(„“);q===0?(t.appendChild(g),g.data=n):t.textContent=n;f.appendChild(t);b=uc(t,!0,b,r.length*4,c,d,e);q+=12}h.insertBefore(f,k)}});return b} function tc(a){const b=[];rc(a)===NodeFilter.FILTER_ACCEPT&&vc(a)&&b.push(a);if(U(a)){const c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,rc);for(;a=c.nextNode();)vc(a)&&b.push(a)}return b}function vc(a){const b=a?.nodeType===Node.TEXT_NODE&&a.data.trim()!==„“&&!oc.has(a);a=U(a)&&a.matches(„[data-animation-atomic],hr,svg,img“);return b||a} function rc(a){return a.isConnected&&a.parentElement?(U(a)?a:a.parentElement).closest(„[data-animation-skip],style,script,details,\n math,[data-sae]:not([data-animation-nesting],li,mark,code)“)||a.parentElement.closest(„[data-animation-atomic],hr,svg,img“)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}function uc(a,b,c,d,e,g,h){if(a.matches(„[data-sae]“))return c;a=wc(a,b,c,e,h);g.push(a);return c+d} async function wc(a,b,c,d,e){a.style.opacity=„0“;a.style.pointerEvents=„none“;a.dataset.sae=„“;await a.animate([{opacity:0},{opacity:1}],{delay:c,duration:100,easing:„linear“}).finished;a.style.opacity=„“;a.style.pointerEvents=„“;b&&(b=a.firstChild,c=a.previousSibling,c?.nodeType===Node.TEXT_NODE?(oc.add©,c.data+=b.data,b=a.parentElement,a.remove(),a=b):(oc.add(b),a.replaceWith(b),a=b.parentElement),a&&lc(a,d,e))}function xc(){const a=T-performance.now();a>0?setTimeout(Xa,a):Xa()} function U(a){return a?.nodeType===Node.ELEMENT_NODE};function V(a){return document.body.querySelector(`[jsname=„${a}“]`)};function yc(){zc();document.body.querySelector(„.gsZh2b“)?.classList.remove(„gsZh2b“,„DzT1rd“);W(V(„Gd8Kre“),!1);W(V(„J3KLwe“),!1)}function zc(){document.dispatchEvent(new CustomEvent(„WuRwWc“));const a=V(„hc2akf“)?.firstElementChild;a?.classList.add(„CCW8cb“);a?.classList.add(„qaHYKd“)}function W(a,b){a&&(a.style.display=b?„“:„none“)};function Ac(a=!1){const b=Bc();if(b){var c=new URL(window.location.href);c.searchParams.set(„mstk“,b);c.searchParams.set(„csuir“,„1“);if(c.searchParams.has(„aioh“)){c.searchParams.delete(„aioh“);const d=document.querySelector('[jsname=„aadvhe“]');d&&d.setAttribute(„data-aioh“,„“)}c.searchParams.has(„smstk“)&&c.searchParams.delete(„smstk“);c.searchParams.has(„smstidx“)&&c.searchParams.delete(„smstidx“);window.history.replaceState(window.history.state,„“,c.toString());if(c=c.searchParams.get(„q“))window.sessionStorage.setItem(„aim-trsm-q“, c),window.sessionStorage.setItem(„aim-trsm-mstk“,b);a&&window.parent.postMessage(JSON.stringify({type:„mstk“,mstk:b}),„*“)}}function Bc(){({Db:a=!1}={});if(a){var a=document.querySelector(„[data-xid='aim-mars-turn-root']“);if(!a||a.dataset.asrc!==„true“)return null}a=document.querySelectorAll(„[data-mstk]“);return a.length>0?a[a.length-1].dataset.mstk:(new URLSearchParams(location.search)).get(„mstk“)};CSS.supports(„animation-timing-function“,„linear(0, 1)“);async function Cc(a,b=!1){var c=V(„oEQ3x“)!==null,d=V(„oEQ3x“)??V(„P9ya7d“),e;(e=V(„RH7zg“))||(e=document.body.querySelector('[data-xid=„VpUvz“]'));const g=e;e=V(„Gd8Kre“);const h=V(„J3KLwe“);if(g&&d&&e&&h){if(a){const m=document.getElementById(„cnt“);m&&(m.style.overflowX=„unset“)}var {left:k,width:f}=g.getBoundingClientRect();e.style.left=`${k}px`;(new URLSearchParams(window.location.search)).get(„mq“)!==null&&b?e.style.width=`${window.innerWidth}px`:e.style.width=`${f}px`;e.style.scale=„“;e.style.translate= „“;c&&(e.style.top=„100%“);b=V(„NlVIob“)?.getBoundingClientRect().width||0;h.style.setProperty(„–lhs-margin“,`${b}px`);h.style.top=c?a?„0px“:„auto“:a?„0px“:`${d.offsetHeight-20}px`;Dc(!1);W(e,!0);W(h,!0);d.contains(e)||d.appendChild(e);c=document.querySelector(„#main“);!a&&c&&c.insertBefore(h,c.firstChild);d=e.getBoundingClientRect();c=-d.left+b;d=(window.innerWidth-b)/d.width;a=e.animate(a?{scale:[„0.8 1“,„1 1“]}:{scale:[„1 1“,`${d} 1`],translate:[„0px 0px“,`${c}px 0px`]},{duration:500,fill:„forwards“, easing:„cubic-bezier(0.4, 0, 0.2, 1)“});Ec(e,a);Fc(e,150,„cubic-bezier(0.3, 0, 0.8, 0.15)“);Fc(h,350,„linear“)}}function Fc(a,b,c){b=a.animate({opacity:[„0“,„1“]},{duration:b,easing:c,fill:„forwards“});Ec(a,b)}async function Gc(a){if(a){var b=a.animate({opacity:[„1“,„0“]},{duration:150,fill:„forwards“});await Ec(a,b)}}async function Ec(a,b){await b.finished;getComputedStyle(a).display!==„none“&&(b.commitStyles(),b.cancel())} function Dc(a){[…document.body.querySelectorAll('[jsname=„RH7zg“]')].at(-1)?.classList.toggle(„ZKmnA“,!a)};function Hc(a,b){return a.classList.contains(b)?a:a.querySelector(`.${b}`)}let Ic=null;function Jc(){return Ic?Ic:Ic=V(„hc2akf“)}function Kc(){const a=Jc(),b=a?.firstElementChild;return a&&a.style.display!==„none“&&!b?.classList.contains(„CCW8cb“)};let X=null;function Y(a){X&&(a.classList.remove(„DzT1rd“),clearTimeout(X),X=null,a.classList.remove(„gsZh2b“))}function Lc(a,b){a.classList.remove(„DzT1rd“);X&&(clearTimeout(X),X=null);const c=performance.now();X=setTimeout6)continue a;if(n instanceof HTMLElement){var r=n;f=c;var t=e;if(r=r.getAttribute(„eid“)??r.querySelector(„[eid]“)?.getAttribute(„eid“))f.setAttribute(„eid“,r),t&&google.fireListeners?.(window,„attn_reset“,!1,{ei:r})}if(n instanceof HTMLElement&&!n.dataset.processed){f=V(„elJbkf“);Kc()&&!f&&(f= Hc(n,„ilZyRc“)||Hc(n,„XIurze“),t=V(„hc2akf“),f&&t&&f.after(t));t=n;f=g;if(r=Kc())r=(t.matches('[data-subtree*=„aimfl“],[data-key=„aimhl“]')?t:t.querySelector('[data-subtree*=„aimfl“],[data-key=„aimhl“]'))!==null;r?Jc()?.closest('[jsname=„elJbkf“]')&&document.body.querySelectorAll('[jsname=„RH7zg“]').length===1?f=!1:(f||(Dc(!0),Gc(V(„Gd8Kre“)),Gc(V(„J3KLwe“)),zc()),f=!0):f=!1;f&&c.classList.add(„gsZh2b“);n.dataset.processed=„true“;xb(Array.from(c.querySelectorAll(„[data-target-container-id]“)??[]), c,k);kc(n,d,h)}f=Array.from(c.querySelectorAll(„[data-target-iframe-uuid]“));Bb(f);n instanceof HTMLElement&&n.dataset.zzy&&Y©;if(n instanceof HTMLElement&&(n.dataset.zzz||n.dataset.debugFragment||n.getAttribute(„jsname“)===„u6mzse“)){q=T-performance.now();q>0?setTimeout(Za,q):Za();Y©;m.disconnect();return}b||(f=a?qc(n,d):void 0,Lc(c,f?.ea))}else q.type!==„characterData“||b||(f=a?qc(q.target,d,h):void 0,Lc(c,f?.ea))})};function Oc(){return{onRenderStarted:()⇒{Va()}}};function Pc(a){a:{for(;a;){if(a instanceof Element&&(a===void 0||a.getAttribute(„jsname“)===„coFSxe“))break a;a=a.parentElement}a=null}return a&&a.gg?a.gg.drtsbtr:google.drtySubtree};function Qc(a){return{onChunkWritten:()⇒{const b=document.querySelector('[data-container-id=„L9N7ob“]'),c=Pc(a);c&&(c(a,N),b&&c(b,N))},onRenderFinished:()⇒{const b=document.querySelector('[data-container-id=„L9N7ob“]'),c=Pc(a);c&&(c(a,()⇒!0),b&&c(b,()⇒!0))}}};function Rc({v:a,yb:b=!1,Ab:c=!1,l:d=new Aa(mc(a,„folif“,a.id,!1)),wb:e=!1}){return[Mc(a,!1,b,d,c,e),Qc(a),nc(a),Oc()]};async function Sc({za:a,v:b,na:c=0,ma:d=0,qa:e=!1,xb:g=!1,Cb:h,rb:k}){await Tc(a,c,d,b,e,g,h,k)} async function Tc(a,b,c,d,e,g,h,k){var f=new URLSearchParams;f.set(„q“,a);f.set(„dr“,c===1?e&&b===1?„5“:„3“:g?„3“:e&&b===1?„1“:e&&b===2?„4“:„2“);k&&f.set(„dbts“,k);h&&f.set(„ved“,h);if(a=Bc())f.set(„mstk“,a),f.set(„csui“,„3“);(a=(new URL(window.location.href)).searchParams.get(„smstk“))&&f.set(„smstk“,a);a=document.querySelectorAll(„[data-sr-elrc]“);a.length>0&&f.set(„elrc“,a[a.length-1].dataset.srElrc);f={v:d,type:„folif“,da:!0,fa:f};d={plugins:[…Rc({v:d}),{onRenderFinished:()⇒{xc()}}]};try{await bc(f, d)}catch(m){yc()}};function Uc(a){return['[jsname=„MUNgzf“]',„.ZFcyjd“,„.pcxG3e“].map(b⇒[…a.querySelectorAll(b)]).flat().length>0};var Vc=class extends J{constructor(a){super(„aimSxsRenderFinished“);this.containerId=a}},Wc=class extends J{constructor(a){super(„aimSxsVisibleContent“);this.containerId=a}},Xc=class extends J{constructor(a){super(„aimSxsError“);this.containerId=a}}; function Yc(a){const b=a.closest(„[data-xid=eP7C1d]“);if(!b)return[];let c=!1,d=!1;return[{onChunkWritten:()⇒{!d&&Uc(a)&&(d=!0,b.dispatchEvent(new Xc(a.id)));if(!c){var e=a.querySelector(„[data-xid=VpUvz]“);e instanceof HTMLElement&&e.innerText.trim()!==„“&&(b.dispatchEvent(new Wc(a.id)),c=!0)}},onRenderFinished:()⇒{b.dispatchEvent(new Vc(a.id))}}]};function Zc(a=!1){function b©{window.parent.postMessage(JSON.stringify({type:„renderStatus“,status:c}),„*“)}return a?{onRenderStarted(){b(1)},onRenderFinished:()⇒{b(5)},onStreamCanceled:()⇒{b(6)}}:{}};var $c=function(a,b){b=b.querySelectorAll(„[data-target-container-id]“);for(const e of b)if(b=e.getAttribute(„data-target-container-id“),b=b===a.containerId?a.root:a.j.get(b)){if(e.firstElementChild&&!a.i){var c=e.firstElementChild;a.i=c.classList.contains(„searchNextUiCoreIdWrapperIdWrapperContainer“)||!!c.querySelector(„.searchNextUiCoreIdWrapperIdWrapperContainer“)}c=a;var d=e.querySelectorAll(„[data-container-id]“);for(const g of d)d=g.getAttribute(„data-container-id“),c.j.set(d,g);yb(e,b)}}, ad=class{constructor(a){this.containerId=a;this.j=new Map;this.root=document.createDocumentFragment();this.g=this.i=!1}};function bd(){const a=new ad(„vxBctc“);let b=null;return{onChunkWritten:c⇒{const d=c.querySelector('[data-container-id=„vxBctc“]');d&&(b=d);$c(a,c);if(c=b||document.querySelector('[data-container-id=„vxBctc“]'))for(;a.root.firstChild;)c.appendChild(a.root.firstChild)}}};function cd(){let a=null;return{onChunkWritten:()⇒{a||=document.querySelector('[data-scope-id=„qZRtEe“]');a&&sb(a)},onRenderFinished:()⇒{a&&rb(a)}}};function dd(){let a=!1,b=null;return{onRenderStarted:()⇒{M(new Sa);const c=cb();c&&(b=db©,M(new Ta(b.title,b.I)))},onChunkWritten:c⇒{!a&&(c=cb©||cb())&&(M(new Qa),c=db©,b&&b.title===c.title&&b.I===c.I||(M(new Ta(c.title,c.I)),a=!0))},onRenderFinished:()⇒{M(new Ra)}}};function ed({root:a}){function b(){return d.find(h⇒{h.g||(h.g=!!h.root.querySelector(„.Lucn7c“));return h.g||h.i})}function c(h,k){$c(k,h);$c(k,a)}const d=[];let e=null;const g=[];return{onDocumentOpen:h⇒{g.push(h)},onChunkWritten:h⇒{for(;h.querySelector('[data-target-container-id=„L9N7ob“]')||a.querySelector('[data-target-container-id=„L9N7ob“]');)e=new ad(„L9N7ob“),d.unshift(e),c(h,e);e!=null&&d.forEach(k⇒{c(h,k)})},onRenderFinished:()⇒{for(const k of g)d.forEach(f⇒{c(k,f)});const h=document.querySelector('[data-scope-id=„qZRtEe“] [data-container-id=„L9N7ob“]'); zb(h,b().root);google.drty(h)}}};function fd({sa:a,va:b,wa:c,root:d}){return a?[dd(),b||c?ed({root:d}):null,cd(),bd()].filter(e⇒!!e):[]};function gd(a,b){let c=null;const d=S();a.querySelectorAll(„[data-tpcrb-host]“).forEach(e⇒{if(e.dataset.tpcrbHost===„true“)c=e;else if©{const g=c.querySelector(„.kWjn6e“);e=e.querySelector(„.kWjn6e“);const h=e?.querySelector('[data-xid=„DChuCc“]');g&&e&&h&&c.replaceChild(e,g);d&&!S()&&b?.ja©}})}function Z(a,b){a.querySelectorAll(„.tonYlb, .CKgc1d“).forEach(c⇒{gd(c,b)})} var hd=class{constructor(a){this.l=a;this.ba=[]}onDocumentOpen(a){this.ba.push(a);Z(document,this.l);Z(a,this.l)}onChunkWritten(a){Z(document,this.l);Z(a,this.l)}onRenderFinished(){Z(document,this.l);for(const a of this.ba)Z(a,this.l)}};function id(){return{onFirstByte(){if(window.localStorage.getItem(„aim;;fnr“)?.endsWith(„true“)){const a=document.createElement(„style“);a.appendChild(document.createTextNode('\n [data-fstnv=„true“] {\n display: block !important;\n }\n '));document.head.appendChild(a)}}}};var kd=class{constructor(a,b,c,d,e,g,h,k){this.appName=a;this.A=b;this.ta=c;this.l=d;this.H=e;this.O=g;this.N=h;this.D=k;this.aa=!1;google.timers[this.A]||Na(this.A);this.P=this.l.g.t;a=this.P.getAttribute(„eid“)??google.kEI;b=this.appName;c=this.A;d=window.performance?.getEntriesByType?.(„navigation“)[0];e=new Map;d?.encodedBodySize&&e.set(„cb“,d.encodedBodySize);d?.decodedBodySize&&e.set(„ucb“,d.decodedBodySize);this.L={appName:b,A:c,ga:e,M:a};this.D&&(this.L.D=this.D)}onRenderStarted(){this.N&& google.tick(this.A,this.N)}onChunkWritten(a){try{if(this.L.M=this.P?.getAttribute(„eid“)??google.kEI,this.H&&!google.timers[this.A]?.t[this.H]&&google.tick(this.A,this.H),this.P&&this.P.getBoundingClientRect().bottom>window.innerHeight&&!S()&&!this.aa&&(google.c.u(„ai“),this.aa=!0),this.ta){const b=Fa(),c=hc(document),d=hc(a),e=ic(c.concat(d));jc(a,e,b)}}catch(b){jd(b)}}onRenderFinished(){try{this.O&&google.tick(this.A,this.O),fc(this.L),this.l?.Z(),this.l?.S()}catch(a){jd(a)}}onStreamCanceled(){try{fc(this.L), this.l?.Z(),this.l?.S()}catch(a){jd(a)}}};function jd(a){a=a instanceof Error?a:Error(„t“);google.ml&&google.ml(a,!1)}function ld({appName:a,A:b,H:c,O:d,N:e,l:g,D:h}){var k=(new URL(window.location.href)).searchParams.get(„deb“);if(k&&k.length!==0){var f=new Map;k=k.split(/(\d+)/g);for(let m=0;m<k.length;m+=2)f.set(k[m],k[m+1]||„1“)}else f=new Map;f=f.get(„bb“)===„1“;return new kd(a,b,f,g,c,d,e,h)};const md={onRenderFinished:async()⇒{xc()}};window.iframes={map:new Map,get:function(a){window.iframes.map.has(a)||window.iframes.map.set(a,Promise.withResolvers());return window.iframes.map.get(a)}}; window.fetchAsyncContent=async function(a,b,c,d,e,g,h,k,f,m,q,r,t,n,v,l,z,A,G,y,nd,od){if(arguments.length!==22)throw Error(„u“);var L=l===2?„aim_sxs“:„aim“;Na(L);google.tick(L,„aimcl“);const C=document.getElementById(a);if(!C)throw Error(„v`“+a);var p=new URLSearchParams(window.location.search),u=p.has(„dr“,„1“)&&A&&z||k,F=p.get(„aec“);const aa=(r||t)&&d;if(u&&!aa)await Sc({za:p.get(„q“),v:C,na:f?1:0,ma:0,qa:f});else{(new URLSearchParams(window.location.search)).get(„mq“)!==null&&!y||Cc(g,y);u=new URLSearchParams; u.set(„cs“,m?„1“:„0“);F&&u.set(„aec“,F);q&&u.set(„rc“,„1“);l==null||l!==1&&l!==2||u.set(„sxs“,l.toString());p.has(„cinpts“)&&u.set(„cinpts“,p.get(„cinpts“));p.has(„gsessionid“)&&u.set(„gsessionid“,p.get(„gsessionid“));p.has(„aai“)&&u.set(„aai“,p.get(„aai“));F=p.has(„mstk“);var ba=p.has(„smstk“);if(aa&&(ba||F)){const Ba=F?„mstk“:„smstk“;ba=p.get(Ba);u.set(Ba,ba);u.set(„csuir“,„1“);n&&(b=„folif“);(p=p.get(„aioh“))&&u.set(„aioh“,p);C.setAttribute(„eid“,google.kEI);F&&(p=document.createElement(„div“), p.setAttribute(„data-mstk“,ba),p.style.display=„none“,C.appendChild(p));p=document.querySelectorAll(„[data-ra-elrc]“);p.length>0&&u.set(„elrc“,p[p.length-1].dataset.raElrc)}u={v:C,type:b,da:!1,ua:aa,fa:u,V:!0};l===2&&(p=Ub(u),F=document.querySelector(„[data-sxs-lro-token][data-sxs-lro-signature]“),p.searchParams.set(„mlro“,F?.dataset.sxsLroToken),p.searchParams.set(„mlros“,F?.dataset.sxsLroSignature),u={…u,url:p});h&&(p=document.getElementById(h))&&(u.Ea=p);p=new Aa(mc(C,b,a,r),google.timers[L].t.start, void 0,od);L={plugins:[Mc(C,c,aa,p,!1,q,nd),Qc(C),md,new hd(p),id(),…fd({sa:q,va:r,wa:t,root:C}),ld({appName:„aim“,A:L,l:p,D:r?„restore“:void 0,H:„aimfc“,O:„aimr“,N:„aimf“}),nc(C),Oc(),…Yc(C),Zc(G)]};try{await bc(u,L)}catch(Ba){yc(),await Xa()}e&&!document.prerendering&&Ac(v)}};}).call(this);fetchAsyncContent('aim-chrome-initial-inline-async-container','folwr', true , true , true , false ,'aim-chrome-initial-inline-async-container', false , false , true , false , false , false , true , false , null , false , true , false , false , true , false , );400hz bei 400led bedeuten dann 1 aktualisierung aller 400 LEDs pro sekunde, da die led`s ja die daten mit dekremantalisierung der datenpakete durchleiten, also ein paket pro led=400 bei 400 led's = 400 tackte zum durchleiten?! oder rechne ich falsch oder verstehe ich was falsch?Die maximale Refreshrate für eine Matrix aus 400 LEDs beträgt bei einer Datenrate von 800 kHz etwa 83 Hz, was bedeutet, dass die gesamte Matrix 83 Mal pro Sekunde aktualisiert werden kann. Schritt 1: Verständnis der Datenübertragung Die WS2812 LEDs werden seriell angesteuert. Das Protokoll arbeitet mit einer festen Frequenz von 800 kHz. Das bedeutet, pro Sekunde werden 800.000 Bits übertragen. Jede LED in der Kette „schluckt“ die ersten 24 Bit (8 Bit pro Farbe: Rot, Grün, Blau) und leitet alle darauf folgenden Bits an die nächste LED weiter. Schritt 2: Berechnung der Zeit pro LED Um eine einzelne LED zu aktualisieren, müssen 24 Bit übertragen werden.\(\text{Zeit\ pro\ LED}=\frac{24\,\text{Bit}}{800.000\,\text{Bit/s}}=0,00003\,\text{s}=30\,\mu \text{s}\)Schritt 3: Berechnung der Zeit für die gesamte Matrix Bei 400 LEDs müssen die Daten nacheinander durch die Kette geschoben werden. Die Zeit, bis das letzte Bit der 400. LED übertragen wurde, berechnet sich wie folgt:\(\text{Zeit\ für\ 400\ LEDs}=400\times 30\,\mu \text{s}=12.000\,\mu \text{s}=12\,\text{ms}\)Hinzu kommt ein Reset-Signal von mindestens \(300\,\mu \text{s}\), damit die LEDs die empfangenen Daten anzeigen:\(\text{Gesamtzeit\ pro\ Frame}\approx 12,3\,\text{ms}\)Schritt 4: Umrechnung in die Refreshrate (Hertz) Die Refreshrate gibt an, wie oft dieser gesamte Vorgang pro Sekunde wiederholt werden kann.\(\text{Frequenz\ (Hz)}=\frac{1}{\text{Zeit\ pro\ Frame}}=\frac{1}{0,0123\,\text{s}}\approx 81,3\,\text{Hz}\)Antwort: Ihre Annahme, dass 400 Hz eine Aktualisierung pro Sekunde bedeuten, ist ein Rechenfehler in der Einheit. 1 Hz entspricht einer Aktualisierung pro Sekunde. Bei 400 LEDs und dem Standardprotokoll erreichen Sie physikalisch maximal ca. 81 bis 83 Hz. Das bedeutet, die gesamte Matrix aus 400 LEDs wird etwa 81 Mal pro Sekunde komplett neu geschrieben. Ihre Berechnung der „Takte“ war im Kern richtig (400 LEDs mal 24 Bit), aber die hohe Bitrate von 800.000 Takten pro Sekunde erlaubt eben viele komplette Durchläufe pro Sekunde. KI-Antworten können Fehler enthalten. Weitere InformationenÖffentlicher Link wird erstellt…Vielen DankDein Feedback hilft Google, seine Dienste zu verbessern. Weitere Informationen findest du in unserer Datenschutzerklärung.Mehr Feedback gebenProblem meldenSchließenAlle anzeigen400hz bedeutet (meinem verständnis nach) 400 schwingungen/Takte. wenn ein Tackt aber 400x24bit+reset überträgt, dann wären wir wirklich im khz-bereich um alle daten schreiben zu können. datenpins am mc können doch nur c.a. 2khz tackt leisten oderIch überlegeErgebnisse werden gesucht Hier liegt ein Missverständnis bezüglich der Leistungsfähigkeit moderner Mikrocontroller wie dem ESP32 und der Definition von „Takt“ vor: 1. Die Leistungsfähigkeit des ESP32 (MHz statt kHz) Der ESP32 D1 Mini ist kein einfacher Arduino Uno. Während alte Mikrocontroller oft langsam schalteten, arbeitet der ESP32 mit einer CPU-Taktfrequenz von bis zu 240 MHz. GPIO-Speed: Ein ESP32 kann einen Datenpin theoretisch mit bis zu 40 MHz bis 80 MHz umschalten. Die von Ihnen vermuteten 2 kHz sind um den Faktor 20.000 zu niedrig angesetzt.Hardware-Peripherie: Um die CPU zu entlasten, nutzt der ESP32 spezialisierte Hardware-Einheiten wie RMT (Remote Control) oder I2S, die Bitströme mit präzisem Timing völlig autonom an den Pin senden, ohne dass die CPU jedes Bit einzeln „schubsen“ muss. 2. Die Datenrate (800 kHz) Das WS2812-Protokoll schreibt eine feste Datenrate von 800 kHz vor. Das bedeutet: In jeder Sekunde fließen 800.000 Bits über den Datenpin.Ein Bit dauert exakt 1,25 Mikrosekunden (\(\mu s\)).Ein kompletter Frame für deine 400 LEDs (400 LEDs × 24 Bit + Reset-Pause) benötigt ca. 12,3 Millisekunden. 3. Was bedeuten die 400 Hz aus dem Datenblatt? In WS2812-Datenblättern steht oft „Scan-Frequenz nicht weniger als 400 Hz“. Dies bezieht sich nicht auf die Datenübertragung vom ESP32 zur LED, sondern auf die interne PWM-Frequenz der LED: Sobald eine LED ihre Farbe empfangen hat, schaltet sie ihre internen Chips (Rot, Grün, Blau) sehr schnell an und aus, um die Helligkeit zu steuern.Dieses interne Flackern (PWM) passiert bei älteren Modellen mit 400 Hz (400 Mal pro Sekunde). Moderne Versionen (WS2812B-V5 oder WS2813) arbeiten intern oft mit 2 kHz.Das hat nichts mit der Geschwindigkeit zu tun, mit der du neue Bilder an die Matrix sendest. Zusammenfassung für dein Projekt: Refreshrate (Bilder pro Sekunde): Bei 400 LEDs schaffst du physikalisch maximal ca. 81 Bilder pro Sekunde (Hz).Datenpin-Takt: Der Pin sendet die Datenbits mit 800.000 Takten pro Sekunde (800 kHz), was für den ESP32 (bis zu 80.000.000 Takte/Sekunde am Pin möglich) eine sehr leichte Übung ist. >

1)
)⇒{sa(a,b,c,d,e)});if(!B(
2)
)⇒{ta(a,b,c,d,e)}); if(!B(
3)
)⇒{wa(a,b,c,d)});if(!B(
4)
)⇒{za(a,b,c)});if(!B(
5)
)⇒{});for(let a=0;a<this.plugins.length;a)this.plugins[a].onStreamCanceled?.()}}};var Fb=function(a,b){var c;if(!(c=a.i.get(b))){c=document.implementation.createHTMLDocument("");a.i.set(b,c);c.open();for(const d of a.plugins)d.onDocumentOpen?.(c)}return c},Gb=async function(a,b,c){function d(){const f=g.indexOf(";",k);if(f===-1)return null;const m=parseInt(g.substring(k,f),16);if(isNaN(m))throw Error("m`"+g.length+"`"+h);if(g.length<f+m)return null;k=f+m+1;return g.substring(f+1,k)}function e(f){g+=f;for(k=h;;){f=d();if(f===null)break;const m=d();if(m===null)break;h=k;c(f
6)
)⇒{a.classList.add(„DzT1rd“)},b&&b>c?b-c+350:350)} function Mc(a,b,c,d,e,g,h=!1){const k=Nc(b,c,a,d,e,g,h,()⇒{});return{onRenderStarted:()⇒{k.observe(a,{subtree:!0,childList:!0,characterData:!0})},onRenderFinished:()⇒{Y(a);k.disconnect();google.domchange?.()},onStreamCanceled:()⇒{Y(a);k.disconnect()}}} function Nc(a,b,c,d,e,g,h,k){return new MutationObserver((f,m)⇒{for(var q of f)if(q.type===„childList“)a:for(const n of q.addedNodes){if(U(n)&&n.matches(„[data-sae]“)||n.parentElement?.closest(„[data-sae]“