رفتن به مطلب
تخفیف تهیه دوره های آموزشی مشاهده دوره ها
تخفیف انواع برد و قطعات الکترونیکی ورود به فروشگاه
  • 0

مشکل در کد آی سی شیفت رجیستر 74CH595


Hassan Dalir
 اشتراک گذاری

سوال

با سلام و عرض ادب

در این پروژه button1    bytton2  به پایه های 16  و 12  Nodmcu   متصل هستند و 2 عدد ال ای دی به به Q1  Q2 ای سی CH595 متصل شده اند می خوام کدی بنویسم که با فشرده شدن 

button1   ال ای دی1 روشن    و ال ای دی2 خاموش      با زدن Button2  ال ای دی 2 روشن و ال ای دی 1  خاموش شود

کد ی در این مورد نوشتم ولی در این مشکلی که در این کد هست  با زدن کلید1  تمام پایه های آی سی شیفت رجیستر 1 می شوند اگر لطف بفرمایید کد را بررسی کنید ممنون می شوم  با تشکر

// تعریف پایه‌ها
int dataPin = 14;  (DS)
int latchPin = 5;  (ST_CP)
int clockPin = 4;  (SH_CP)
int button1Pin = 16; // پایه دکمه ۱
int button2Pin = 12; // پایه دکمه ۲

void setup() {
  pinMode(dataPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(button1Pin, INPUT_PULLUP);
  pinMode(button2Pin, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(button1Pin) == LOW) {
    // ارسال داده به آی‌سی شیفت رجیستر
    shiftOut(dataPin, clockPin, MSBFIRST, B00000001); 
    digitalWrite(latchPin, HIGH); // فعال‌سازی خروجی‌ها
  } else if (digitalRead(button2Pin) == LOW) {
   
    shiftOut(dataPin, clockPin, MSBFIRST, B00000010); // ال‌ای‌دی ۲ روشن می‌شود
    digitalWrite(latchPin, HIGH);
  } else {
    
    shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
    digitalWrite(latchPin, HIGH); 
  }
}

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

  • 0

سلام و عرض ادب

کدی که نوشته‌اید به طور کلی خوب است اما یک نکته مهم در آن وجود دارد که باعث می‌شود با فشردن دکمه‌ها تمام پایه‌های IC شیفت رجیستر روشن شوند این مشکل به دلیل این است که شما هر بار که دکمه فشرده می‌شود داده‌ها را به IC شیفت رجیستر ارسال می‌کنید اما پس از ارسال داده فراموش می‌کنید که خروجی‌ها را قفل کنید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
 اشتراک گذاری

  • عضو شوید

    در انجمن ثبت نام کنید

  • دستاورد‌های اخیر

    • شاگرد
      حسین طاها نیاوند
      درجه حسین طاها نیاوند ارتقا پیدا کرد
      شاگرد
    • مشارکت کننده
      حسین طاها نیاوند
      حسین طاها نیاوند یک نشان کسب کرد
      مشارکت کننده
    • شروع کننده گفتگو
      گیتی حسن پور
      گیتی حسن پور یک نشان کسب کرد
      شروع کننده گفتگو
    • هفته اول
      Msh
      Msh یک نشان کسب کرد
      هفته اول
    • هفته اول
      habib barahmani
      habib barahmani یک نشان کسب کرد
      هفته اول
  • پست ها

  • آمارهای کاربران

    • کل کاربران
      1,697
    • بیشترین افراد آنلاین
      567

    mamadrkn
    جدیدترین کاربر
    mamadrkn
    تاریخ عضویت
×
×
  • اضافه کردن...