اطلاعیه

Collapse
No announcement yet.

عمل نکردن اینتراپت برای تحریک اول

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    عمل نکردن اینتراپت برای تحریک اول

    سلام وقتتون بخیر
    من برنامه ام رو با اینتراپت نوشتم منتها برای دفعه اول هرچقدر کلیددوم (یکی دیگه از اینتراپتها ) رو میزنم عمل نمیکنه تا اینکه کلید اول (که به یه اینتراپت دیگه وصله ) رو دوبار بزنم تا کلا شروع بکار کنه و بعدش خیلی خوب هم کار میکنه.علتش چیه به نظرتون؟
    من با PCINT نوشتم

    #2
    پاسخ : عمل نکردن اینتراپت برای تحریک اول

    نوشته اصلی توسط bravehamid نمایش پست ها
    سلام وقتتون بخیر
    من برنامه ام رو با اینتراپت نوشتم منتها برای دفعه اول هرچقدر کلیددوم (یکی دیگه از اینتراپتها ) رو میزنم عمل نمیکنه تا اینکه کلید اول (که به یه اینتراپت دیگه وصله ) رو دوبار بزنم تا کلا شروع بکار کنه و بعدش خیلی خوب هم کار میکنه.علتش چیه به نظرتون؟
    من با PCINT نوشتم
    سلام در این مواردی برنامه خودتون را قرار بدین تا دوستان نظر
    بدهند
    قصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....

    دیدگاه


      #3
      پاسخ : عمل نکردن اینتراپت برای تحریک اول


      #include <Bounce2.h>
      #include <PinChangeInterrupt.h>

      Bounce dbKEY1 = Bounce ();
      Bounce dbKEY2 = Bounce ();

      int Relay[2] = {0, 2} ;
      int PAD[2] = {1, 1};
      int KEY[2] = {4, 6} ;
      int LED[2] = {14, 16} ;
      bool PUSH_PAD[2] = {false, false};
      unsigned long time;

      void setup(){

      initDigital();
      }
      void loop()
      {

      }

      void initDigital()
      {
      pinMode(KEY[0] , INPUT);
      pinMode(KEY[1] , INPUT);
      pinMode(Relay[0], OUTPUT);
      pinMode(Relay[1], OUTPUT);
      pinMode(LED[0], OUTPUT);
      pinMode(LED[1], OUTPUT);

      attachPCINT(digitalPinToPCINT(KEY[0]), touch1, FALLING);//KEY2 connected interrupt PD6
      attachPCINT(digitalPinToPCINT(KEY[1]), touch2, FALLING);//KEY1 connected interrupt PD4
      //dBounce
      dbKEY1.attach(KEY[0]);
      dbKEY1.interval(25);
      dbKEY2.attach(KEY[1]);
      dbKEY2.interval(25);
      }
      void touch1()
      {
      dbKEY1.update();
      Toggellbut1();
      }
      void touch2()
      {
      dbKEY2.update();
      Toggellbut2();
      }
      void Toggellbut1()
      {
      PAD[0] = dbKEY2.read();
      if (PAD[0] == 0)
      {
      PUSH_PAD[0] = !PUSH_PAD[0];
      }
      if (PUSH_PAD[0] == true)
      {
      digitalWrite(Relay[0], HIGH);
      digitalWrite(LED[0], HIGH);
      PAD[0] = 1;
      }
      else
      {
      digitalWrite(Relay[0], LOW);
      digitalWrite(LED[0], LOW);
      PAD[0] = 1;
      }
      }
      void Toggellbut2()
      {
      PAD[1] = dbKEY2.read();
      if (PAD[1] == 0)
      {
      PUSH_PAD[1] = !PUSH_PAD[1];
      }
      if (PUSH_PAD[1] == true)
      {
      digitalWrite(Relay[1], HIGH);
      digitalWrite(LED[1], HIGH);
      PAD[1] = 1;
      }
      else
      {
      digitalWrite(Relay[1], LOW);
      digitalWrite(LED[1], LOW);
      PAD[1] = 1;
      }
      }

      دیدگاه

      لطفا صبر کنید...
      X