آموزش ESP32 33/55 - تاس دیجیتال با استفاده از کیت یادگیری اینترنت اشیاء ESP32 سان‌فاندر

آموزش ESP32 33/55 - تاس دیجیتال با استفاده از کیت یادگیری اینترنت اشیاء ESP32 سان‌فاندر

در این آموزش، ما یک تاس دیجیتال با استفاده از یک نمایشگر هفت‌قسمتی و ESP32 از کیت یادگیری اینترنت اشیاء SunFounder ایجاد خواهیم کرد. این پروژه به شما اجازه می‌دهد تا یک تاس مجازی بیندازید و با فشار یک دکمه، اعداد بین ۱ تا ۶ را تولید کنید. این روش عالی برای کاوش در قابلیت‌های ESP32 است در حالی که با نحوه ارتباط با نمایشگرها و دکمه‌ها آشنا می‌شوید. برای وضوح بیشتر، حتماً ویدیو را در (در ویدیو در ۰:۰۰) مشاهده کنید.

ESP32-33_digital-dice-main

توضیحات سخت‌افزار

اجزای اصلی این پروژه شامل میکروکنترلر ESP32، یک رجیستر شیفت 74HC595، یک نمایشگر هفت‌قسمتی و یک دکمه فشار است. ESP32 یک میکروکنترلر قدرتمند است که Wi-Fi و Bluetooth را ادغام می‌کند و آن را برای کاربردهای IoT مناسب می‌سازد. رجیستر شیفت 74HC595 به ما این امکان را می‌دهد که نمایشگر هفت‌قسمتی را با استفاده از پایه‌های کمتری نسبت به اتصال مستقیم هر قسمت کنترل کنیم.

نمایشگر هفت‌قطعه‌ای اعداد را نشان می‌دهد و با ارسال داده از رجیستر شیفت کنترل می‌شود. دکمه فشاری برای فعال‌سازی پرتاب تاس استفاده می‌شود و یک عدد تصادفی تولید می‌کند که نمایش داده خواهد شد. هنگام فشرده شدن، دکمه به پایه ۱۳ روی ESP32 متصل می‌شود که دارای یک مقاومت داخلی بالا‌برنده است تا در حالت بالا باقی بماند وقتی که فشرده نشده است.

جزئیات برگه اطلاعات

تولیدکننده تگزاس اینسترومنتس
شماره قطعه ۷۴HC۵۹۵
ولتاژ منطق/ورودی و خروجی ۲ ولت تا ۶ ولت
ولتاژ منبع ۴.۵ ولت تا ۵.۵ ولت
جریان خروجی (به ازای هر کانال) ۶ میلی آمپر حداکثر
جریان پیک (به ازای هر کانال) حداکثر ۳۵ میلی آمپر
راهنمایی فرکانس PWM غير قابل للتطبيق
آستانه‌های منطقی ورودی VIH≥ 2 ولت، ولتایل≤ ۰.۸ ولت
افت ولتاژ / RDS(on)/ اشباع ۰.۵ ولت حداکثر
محدودیت‌های حرارتی ۱۵۰ درجه سانتی‌گراد
بسته DIP-16
یادداشت‌ها / انواع اغلب در نمایشگرهای دیجیتال استفاده می‌شود

  • اطمینان حاصل کنید که سطح ولتاژ مناسب (4.5 ولت تا 5.5 ولت) برای عملکرد مطمئن وجود دارد.
  • جریان خروجی را محدود کنید تا از آسیب به ثبت شیفت جلوگیری شود.
  • از خازن‌های جداساز در نزدیکی پایه‌های تغذیه استفاده کنید تا ولتاژ را تثبیت کنید.
  • هشتمین نمایشگر را به درستی وصل کنید تا از نمایندگی نادرست اعداد جلوگیری شود.
  • وضعیت سیم‌کشی را برای اتصالات سست که ممکن است به رفتار غیرمنتظره منجر شود، بررسی کنید.

دستورالعمل های سیم کشی

ESP32-33_digital-dice-wiring

برای سیم‌کشی تاس دیجیتال، ابتدا اتصالات برق را راه‌اندازی کنید. خط زمین (خط آبی) در بُرد آزمایشی خود را به پایه زمین روی ESP32 متصل کنید و اطمینان حاصل کنید که تمام نقاط زمین به هم متصل شده‌اند. سپس یک پایه 3.3 ولت از ESP32 را به ریل برق (خط قرمز) در بُرد آزمایشی متصل کنید.

طرح شماتیک تاس دیجیتال ESP32-33

برای شیفت رجیستر 74HC595، اطمینان حاصل کنید که پایه ۱ به ریل ۳.۳ ولت متصل است و پایه ۸ به زمین. پایه خروجی داده (DS) را به پایه ۲۵ بر روی ESP32 متصل کنید، پایه ساعت شیفت (SHCP) را به پایه ۲۶ و پایه ساعت ذخیره‌سازی (STCP) را به پایه ۲۷ متصل کنید. دکمه فشاری باید بین پایه ۱۳ بر روی ESP32 و زمین متصل شود تا در هنگام فشردن، پایه را به حالت پایین بکشاند.

نمونه‌های شِفر (کود) و راهنما

در شِفر (کود)، ابتدا پایه‌های استفاده شده برای شیفت رجیستر و دکمه را تعریف می‌کنیم. پایه دکمه به عنوانbuttonPinو بر روی پایه ۱۳ در ESP32 تنظیم شده است. آرایه دادهdatArrayشامل نمایش‌های دودویی اعداد ۰-۹ برای نمایشگر هفت‌قسمتی است.


const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP 
const int DS = 25; //DS 
const int buttonPin = 13;
int datArray[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

در setup()تابع، ما پایه دکمه را به حالت ورودی و پایه‌های شیفت رجیستر را به حالت خروجی تنظیم می‌کنیم. این کار پایه‌ها را برای خواندن ورودی از دکمه و برای ارسال داده به نمایشگر آماده می‌کند.


void setup ()
{
  pinMode(buttonPin,INPUT); 
  pinMode(STcp,OUTPUT);
  pinMode(SHcp,OUTPUT);
  pinMode(DS,OUTPUT);
}

منطق اصلی برنامه در آن یافت می‌شودloop()عملکرد. این بررسی می‌کند که آیا دکمه فشرده شده است، یک شماره تصادفی تولید می‌کند و تابع را فراخوانی می‌کند.show_number()تابع برای نمایش عدد در نمایشگر هفت‌قسمتی.


void loop()
{
  if(digitalRead(buttonPin) == LOW)
  {
    int diceNumber = random(1, 7);
    show_number(diceNumber);
    delay(50);
  }
}

افshow_number()این تابع مقدار مناسب را از آرایه داده به ثبتی شیفت ارسال می‌کند که سپس بخش‌های نمایشگر را برای نشان دادن عدد تولید شده کنترل می‌کند. این تابع برای بازخورد بصری هنگام فشار دادن دکمه حیاتی است.

توضیح نمایشگر LED 74HC595: هفت بخش
نمایشگر LED 74HC595: توضیحاتی درباره‌ی Segment هفت‌گانه

نمایشگاه / چه انتظاری باید داشت

زمانی که تنظیمات کامل شد و شِفر (کود) بارگذاری شد، فشردن دکمه یک عدد تصادفی بین ۱ تا ۶ تولید می‌کند که بر روی نمایشگر هفت‌تایی نمایش داده می‌شود. اگر همه چیز به درستی سیم‌کشی شده باشد، نمایشگر باید هر بار که دکمه فشرده می‌شود، یک عدد نشان دهد. مراقب ورودی‌های شناور باشید؛ اطمینان حاصل کنید که دکمه به درستی به زمین متصل است تا از رفتار ناپایدار جلوگیری شود (در ویدیو در ۱:۳۰).

زمان‌بندی ویدئو

  • ۰۰:۰۰ شروع
  • معرفی پروژه :48
  • نصب سیم‌کشی برای تاس‌های دیجیتال توضیح داده شده در ۳:۴۰
  • شِفر (کود) آردوینو برای تاس دیجیتال توضیح داده شده در ساعت ۱۳:۱۶
  • انتخاب برد ESP32 و پورت COM در محیط برنامه نویسی آردوینو
  • ۲۱:۰۰ نمایش دیجیتال دایس
  • ۲۲:۱۵ اصلاح شِفر (کود) آردوینو

تصاویر

نمایشگر LED 74HC595: توضیحاتی در مورد هفت بخش
نمایشگر LED 74HC595: توضیحاتی در مورد هفت بخش
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-main
ESP32-33_digital-dice-main
ESP32-33_digital-dice-schematic
ESP32-33_digital-dice-schematic
834-ESP32 Tutorial 33/55- Arduino code for digital dice
زبان: C++
کپی شد!

فایل‌ها📁

هیچ فایلی موجود نیست.