Controlando valores de entradas digitales

Hola:

Lo del 200 y 700 es un ejemplo en Visual C#. Ahí mi con fusión. Puede ser entre 499 y 501. Para que se quede ahí pase lo que pase.

En la velocidad del centrifugado se pega dos minutos entre 799 y 801. Velocidad máxima del centrifugado entre los 1000 y 1001. Si se pasa del valor como 1002 a 1023, se rompió la corre del motor.

Lo que puse en C#, hay que hacer en Arduino.

Por cierto, no he puesto código de C# alguno. Los ejemplos qu epongo no tiene que ser acertado, me puedo equivocar y en la precisión hay que ajustarlo o corregirlo. :wink:

Código C#:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace TrackBar_señal_pulso_tacometro_01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void trackBar1_ValueChanged(object sender, EventArgs e)
        {
            int valorTrackBar = 0;

            label_Valor_TrackBar.Text = "" + trackBar1.Value;

            valorTrackBar = trackBar1.Value;

            if (valorTrackBar == 0)
            {
                label_Velocidad.Text = "0 pulsos. Motor detenido.";
                label_Velocidad.ForeColor = Color.White;
            }

            else if (valorTrackBar < 200)
            {
                label_Velocidad.Text = @"Menor de 200 pulsos.
Motor iniciando arranque.";
                label_Velocidad.ForeColor = Color.Orange;
            }

            else if (valorTrackBar < 701)
            {
                label_Velocidad.Text = @"Entre 200 y 700 pulsos.
Motor en marcha.";
                label_Velocidad.ForeColor = Color.Green;
            }

            else if (valorTrackBar < 1023)
            {
                label_Velocidad.Text = @"Por encima de 700 pulsos.
Correa suelta, se detiene el motor. 
Alarma.";
                label_Velocidad.ForeColor = Color.Red;
            }
        }
    }
}

Dejar claro que si en al entrada de ARduino hay que detectar el cruce por cero, en la salida de Arduino, donde controlar el motor, no hay que usar ningún tipo de cruce por cero.

Saludos.

PD: Entendido.