360 ডিগ্রি পিডব্লিউএম রোটারি এনকোডার ব্রেকআউট

      360 ডিগ্রি পিডব্লিউএম রোটারি এনকোডার ব্রেকআউট

      USD
      Model #
      Quantity
      qty limit cart limit

      শিপিংয়ের ব্যয় নির্ধারণকারী

      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.

      বর্ণনা

      এই ধরণের স্যুইচ একটি ইনক্রিমেন্টাল রোটারি এনকোডার। প্রকৃতপক্ষে, এটি স্বল্প ব্যয় এবং সংকেত সরবরাহ করার ক্ষমতার কারণে সমস্ত রোটারি এনকোডারগুলিতে সর্বাধিক ব্যবহৃত হয় যা বেগের মতো গতি সম্পর্কিত তথ্য সরবরাহ করতে সহজেই ব্যাখ্যা করা যায়।

      ঘোরার মাধ্যমে, রোটারি এনকোডার সীমাবদ্ধতা গণনা ছাড়াই রোটারি পেন্টিওমিটার কাউন্টারের বিপরীতে আবর্তনের সময় আউটপুট পালসের ফ্রিকোয়েন্সিটিকে ধনাত্মক এবং বিপরীত দিকে গণনা করতে পারে। রোটারি এনকোডারটিতে বোতামটি দিয়ে, এটি শূন্য থেকে শুরু করে প্রাথমিক অবস্থায় পুনরায় সেট করা যেতে পারে।

      পরীক্ষার কোড

      int redPin = 2;
      int হলুদিন = 3;
      int গ্রিনপিন = 4;
      int aPin = 6;
      int বিপিন = 7;
      int বাটনপিন = 5;
      int state = 0;
      int longPeriod = 5000; // সময় সবুজ বা লাল
      int শর্টপরিয়ড = 700; // পরিবর্তনের সময় সময়কাল
      int টার্গেটকাউন্ট = শর্টপরিয়ড;
      int গণনা = 0;
      অকার্যকর সেটআপ()
      {
      পিনমোড (এপিন, ইনপুট);
      পিনমোড (বিপিন, ইনপুট);
      পিনমোড (বোতামপিন, ইনপুট);
      পিনমোড (রেডপিন, আউটপুট);
      পিনমোড (ইয়েলোপিন, আউটপুট);
      পিনমোড (গ্রিনপিন, আউটপুট);
      }
      অকার্যকর লুপ ()
      {
      গণনা ++;
      যদি (ডিজিটাল রিড (বাটনপিন))
        {
      সেটলাইটস (হাই, হাই, হাই);
        }
      অন্য
        {
      int পরিবর্তন = getEncoderTurn ();
      int newPeriod = দীর্ঘকালীন + (পরিবর্তন * 1000);
      যদি (newPeriod> = 1000 && নতুন সময় <= 10000)
          {
      লংপরিওড = newPeriod;
          }
      যদি (গণনা> টার্গেটকাউন্ট)
          {
      সেটস্টেট ();
      গণনা = 0;
          }
        }
      বিলম্ব (1);
      }
      এনটি এনকোডারটাইন ()
      {

      // রিটার্ন -1, 0, বা +1
      স্ট্যাটিক ইন ওল্ডাএ = নিম্ন;
      স্ট্যাটিক ইন ওল্ডবি = LOW;
      int ফলাফল = 0;
      int newA = ডিজিটাল রিড (এপিন);
      int newB = ডিজিটাল রিড (বিপিন);
      if (newA! = oldA || newB! = oldB)
        {
      // কিছু পরিবর্তন হয়েছে
      যদি (ওল্ডা == কম && নতুনআ == উচ্চ)
          {
      ফলাফল = - (ওল্ডবি * 2 - 1);
          }
        }
      oldA = newA;
      oldB = newB;
      প্রত্যাবর্তনের ফলাফল;
      }
      ইন্ট সেটস্টেট ()
        {
      যদি (রাজ্য == 0)
          {
      সেটলাইটস (উচ্চ, নিম্ন, কম);
      টার্গেটকাউন্ট = দীর্ঘকাল;
      রাষ্ট্র = 1;
          }
      অন্যথায় যদি (রাষ্ট্র == 1)
          {
      সেটলাইটস (উচ্চ, উচ্চ, কম);
      টার্গেটকাউন্ট = শর্টপরিয়ড;
      state = 2;
          }
      অন্যথায় যদি (রাষ্ট্র == 2)
          {
      সেটলাইটস (কম, কম, উচ্চ);
      টার্গেটকাউন্ট = দীর্ঘকাল;
      state = 3;
          }
      অন্যথায় যদি (রাজ্য == 3)
          {
      সেটলাইটস (কম, উচ্চ, কম);
      টার্গেটকাউন্ট = শর্টপরিয়ড;
      রাষ্ট্র = 0;
          }
        }
      অকার্যকর সেটলাইটস (ইন্ট লাল, ইন্ট ইয়েলো, ইন্ট গ্রিন)
      {
      ডিজিটাল রাইট (রেডপিন, লাল);
      ডিজিটাল রাইট (ইয়েলোপিন, হলুদ);
      ডিজিটাল রাইট (গ্রিনপিন, সবুজ);