Saltar al contenido principal
LibreTexts Español

13.1: Contador de eventos Arduino - o Venganza del Hijo del Temporizador de Reacción Redux

  • Page ID
    83115
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    A menudo parece que necesitamos que nuestro microcontrolador esté haciendo varias cosas a la vez, como monitorear las entradas mientras controlamos las salidas cambiantes. Un solo controlador no puede hacer esto en sentido literal pero puede operar tan rápido que parece estar haciendo varias cosas simultáneamente. A veces, sin embargo, esto puede complicarse bastante si se usa un código de estilo de sondeo o espera ocupado. Por ejemplo, considere la operación de multiplexar varias pantallas de siete segmentos. A diferencia de un simple LED que simplemente requiere que fijemos o borremos un bit de puerto, las pantallas multiplexadas necesitan atención constante. En el ejercicio Reaction Timer Redux las pantallas requirieron 15 milisegundos por renderizado; 5 milisegundos para cada una de las 3 pantallas. Si quisiéramos mostrar el valor por unos segundos simplemente giramos alrededor de ese código. Aunque esto funcionó bien para esa aplicación, no siempre es así. Considere el caso de un contador de eventos. Este es un dispositivo que cuenta las cosas y muestra el valor actual. Podría usarse en una línea de ensamblaje para realizar un seguimiento del número de artículos que han pasado, tal vez a través del artículo que activa un interruptor mecánico, fotoeléctrico, magnético u otro tipo de interruptor. Nos gustaría que este dispositivo presente una pantalla del recuento actual en todo momento, pero también necesitamos estar constantemente revisando el interruptor de artículo. ¿Cómo hacemos las dos cosas? En el caso del temporizador de reacción podríamos agregar código dentro del bucle de visualización que verifica el interruptor de elemento pero si el interruptor se activa y se desactiva en menos de 15 milisegundos podríamos perderlo mientras se escriben las pantallas. Afortunadamente, hay una buena solución a este problema.


    This page titled 13.1: Contador de eventos Arduino - o Venganza del Hijo del Temporizador de Reacción Redux is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.