360 graus PWM Rotary Coder Breakout

      360 graus PWM Rotary Coder Breakout

      USD
      Model #
      Quantity
      qty limit cart limit
      In Stock

      Add 

      Warranty Plus

      Warranty Plus:
      Your product will be replaced (including free shipping) with a new one within 12 months of purchase, even if it is damaged due to improper wiring, incorrect usage, a problem in the electrical installation or any other circumstance.

      Standard Warranty:
      12 month warranty comes with every purchase. Covers malfunctions when it is used within the described conditions/limits.

       +8% 

      Shipping Cost Estimator

      Note: You must have items in your cart already before you can see the estimated costs to ship your cart. This shipping tool will estimate the total shipping cost for your entire basket.

      Descrição

      Esse tipo de comutador é um codificador rotativo incremental. De fato, é o mais amplamente utilizado de todos os codificadores rotativos devido ao seu baixo custo e capacidade de fornecer sinais que podem ser facilmente interpretados para fornecer informações relacionadas ao movimento, como a velocidade.

      Ao girar, o codificador rotativo pode contar a frequência do pulso de saída na direção positiva e reversa durante a rotação, ao contrário de um contador de potenciômetro rotativo sem contar a limitação. Com o botão no codificador rotativo, ele pode ser redefinido para o seu estado inicial a partir de zero.

      Código de teste

      int redpin = 2;
      int yellowpin = 3;
      int Greenpin = 4;
      int apin = 6;
      int bpin = 7;
      int buttonpin = 5;
      int state = 0;
      int longperiod = 5000; // tempo em verde ou vermelho
      int shortperiod = 700; // período de tempo ao mudar
      int TargetCount = Shortperiod;
      int conting = 0;
      configuração void ()
      {
        pinmode (apin, entrada);
        pinmode (bpin, entrada);
        pinmode (botão, entrada);
        pinmode (redpin, saída);
        pinmode (Yellowpin, saída);
        pinmode (Greenpin, saída);
      }
      Void Loop ()
      {
        contagem ++;
        if (DigitalRead (ButtonPin))
        {
        setlights (alto, alto, alto);
        }
        outro
        {
        int alteração = getEncoderturn ();
        int newperiod = longperiod + (alteração * 1000);  
        if (newperiod> = 1000 && newPeriod <= 10000)
          {
        longperiod = newperiod;
          }
        se (contagem> TargetCount)
          {
        setState ();
        contagem = 0;
          }
        }
        atraso (1);
      }
      int getEncoderturn ()
      {

       // retorna -1, 0 ou +1
        estático int antiga = baixo;
        estático int oldB = baixo;
        int resultado = 0;
        int newa = digitalRead (APIN);
        int newb = digitalRead (bpin);
        if (newa! = antiga || newb! = OldB)
        {
        // Alguma coisa mudou
        if (antiga == Low && newa == High)
          {
        resultado = - (OldB * 2 - 1);
          }
        }
        Olde = newa;
        OldB = newb;
        resultado de retorno;
      }
      int setState ()
        {
        if (estado == 0)
          {
        setlights (alto, baixo, baixo);
        TargetCount = Longperiod;
        estado = 1;
          }
        caso contrário, se (estado == 1)
          {
        setlights (alto, alto, baixo);
        TargetCount = Shortperiod;
        estado = 2;
          }
        caso contrário, se (estado == 2)
          {
        setlights (baixo, baixo, alto);
        TargetCount = Longperiod;
        estado = 3;
          }
        caso contrário, se (estado == 3)
          {
        setlights (baixo, alto, baixo);
        TargetCount = Shortperiod;
        estado = 0;
          }
        }
      Void Setlights (int Red, Int Yellow, Int Green)
      {
        DigitalWrite (Redpin, vermelho);
        DigitalWrite (Yellowpin, amarelo);
        DigitalWrite (Greenpin, verde);

      Frequently Bought Together

      Total Price: