فهرست مطالب:

منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری: 6 مرحله (همراه با تصاویر)
منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری: 6 مرحله (همراه با تصاویر)

تصویری: منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری: 6 مرحله (همراه با تصاویر)

تصویری: منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری: 6 مرحله (همراه با تصاویر)
تصویری: کاملترین منو در آردوینو - صفر تا صد ساخت منو 2024, جولای
Anonim
Image
Image
منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری
منوی آردوینو در LCD 5110 LCD با استفاده از رمزگذار روتاری

دوستان عزیز به آموزش دیگری خوش آمدید! در این ویدئو ما می خواهیم نحوه ساختن منوی خود را برای صفحه نمایش LCD محبوب Nokia 5110 بسازیم تا پروژه های ما کاربر پسندتر و تواناتر شوند. بیایید شروع کنیم!

این پروژه ای است که ما قصد ساخت آن را داریم. در صفحه نمایش یک منوی ساده ظاهر می شود ، و با کمک رمزگذار چرخشی می توانم به سمت بالا یا پایین حرکت کرده و با فشار دادن دکمه رمزگذار چرخشی ، یک مورد را انتخاب کنم. وقتی دکمه وسط رمزگذار چرخشی فشار داده می شود ، صفحه دیگری ظاهر می شود و می توانیم مقدار یک متغیر را تغییر دهیم. اگر یکبار دیگر دکمه رمزگذار چرخشی را فشار دهیم ، به صفحه منوی اصلی برمی گردیم. منو دارای 6 مورد است و ما می توانیم منو را به پایین یا بالا حرکت دهیم و بر این اساس موارد روی صفحه نمایش تغییر می کند. برای مشاهده دقیق نحوه عملکرد این منو ، ویدیوی پیوست را تماشا کنید. البته در صورت تمایل می توانید آن را تغییر دهید تا منوهای پیچیده تر خود را بسازید.

اکنون بیایید ببینیم چگونه این پروژه را بسازیم.

مرحله 1: تمام قطعات را دریافت کنید

همه قطعات را دریافت کنید
همه قطعات را دریافت کنید

قطعات مورد نیاز برای ساخت این پروژه به شرح زیر است:

  • Arduino Uno ▶
  • یک صفحه نمایش LCD 5110 نوکیا ▶
  • رمزگذار روتاری ▶
  • یک تخته نان کوچک ▶
  • برخی از سیمها ▶
  • پاور بانک ▶

هزینه پروژه بسیار پایین است ، کمتر از 10 دلار است. شما می توانید پیوندهایی را برای تمام قسمتهایی که من در توضیح ویدئوی زیر استفاده می کنم پیدا کنید.

مرحله 2: صفحه نمایش LCD 5110 نوکیا

Image
Image
ساخت پروژه
ساخت پروژه

نوکیا 5110 صفحه نمایش مورد علاقه من برای پروژه های آردوینو است.

نوکیا 5110 یک صفحه اصلی گرافیکی LCD است که در ابتدا به عنوان صفحه نمایش تلفن همراه در نظر گرفته شده بود. از کنترلر PCD8544 استفاده می کند که یک کنترلر/درایور CMOS LCD کم مصرف است. به همین دلیل این صفحه نمایش دارای مصرف انرژی چشمگیری است. وقتی روشن است فقط 0.4 میلی آمپر استفاده می کند اما نور پس زمینه غیرفعال است. در حالت خواب کمتر از 0.06 میلی آمپر استفاده می کند! این یکی از دلایلی است که باعث شده این صفحه نمایش مورد علاقه من باشد. PCD8544 از طریق رابط گذرگاه سریال با میکروکنترلرها ارتباط برقرار می کند. این باعث می شود صفحه نمایش با Arduino بسیار آسان باشد. شما فقط باید 8 سیم را وصل کنید.

من یک آموزش مفصل در مورد نحوه استفاده از صفحه نمایش LCD نوکیا 5110 با آردوینو آماده کرده ام. من آن ویدئو را در این دستورالعمل ضمیمه کرده ام ، ممکن است اطلاعات مفیدی در مورد صفحه نمایش ارائه دهد ، بنابراین توصیه می کنم آن را با دقت تماشا کنید. هزینه نمایشگر حدود 4 دلار است.

می توانید آن را از اینجا دریافت کنید: ▶

مرحله 3: رمزگذار روتاری

Image
Image

رمزگذار چرخشی ، که رمزگذار شفت نیز نامیده می شود ، یک دستگاه الکترومکانیکی است که موقعیت یا حرکت زاویه ای یک محور یا محور را به یک کد آنالوگ یا دیجیتال تبدیل می کند. رمزگذارهای روتاری در بسیاری از برنامه های کاربردی که به چرخش نامحدود محوری نیاز دارند از جمله کنترل های صنعتی ، روباتیک ، لنزهای عکاسی با اهداف خاص ، دستگاه های ورودی رایانه (مانند موش های اپتومکانیکی و گلوله های دنباله دار) ، دستگاه های فشارسنج کنترل شده و سکوهای راداری دوار استفاده می شود.

رمزگذار دوار که ما قصد داریم در این پروژه از آن استفاده کنیم ، یک رمزگذار بسیار ارزان است. همچنین دارای یک دکمه تعبیه شده است و برای کارکردن آن فقط نیاز به اتصال 5 سیم داریم. من آموزش دقیق نحوه استفاده از رمزگذار چرخشی را آماده کرده ام. این ویدئو را می توانید در اینجا ضمیمه کنید.

هزینه این رمزگذار دوار بسیار پایین است. هزینه آن حدود 1.5 دلار است.

می توانید آن را از اینجا دریافت کنید ▶

مرحله 4: ساخت پروژه

Image
Image
ساخت پروژه
ساخت پروژه
ساخت پروژه
ساخت پروژه

حالا بیایید همه قسمت ها را به هم متصل کنیم. قبل از ساخت این پروژه ، اگر قبلاً از رمزگذار چرخشی استفاده نکرده اید ، توصیه می کنم آموزشی را که در مورد رمزگذارهای چرخشی آماده کرده ام مشاهده کنید. این به شما کمک می کند تا نحوه عملکرد رمزگذارهای دوار را درک کنید و می خواهید با آنها تجربه کنید. این ویدئو در اینجا ضمیمه شده است.

من صفحه نمایش را روی یک تخته کوچک مانند این قرار داده ام. بیایید ابتدا صفحه نمایش را متصل کنیم. اولین پین صفحه نمایش که Reset است به پین دیجیتال 3 Arduino Uno ، پین دوم به پین دیجیتال 4 ، پین سوم به پین دیجیتال 5 ، پین چهارم به پین دیجیتال 11 و پین پنجم به دیجیتال می رود. پین 13. پین بعدی Vcc است. ما Vcc را به ریل مثبت تخته نان و ریل مثبت تخته نان را به خروجی 3.3 ولت آردوینو متصل می کنیم. پین بعدی Backlight برای صفحه نمایش است. از آنجا که ما می خواهیم آن را از طریق نرم افزار کنترل کنیم ، آن را به پین دیجیتال 7 متصل می کنیم. آخرین پین GND است. ما GND را به ریل منفی تخته نان و ریل منفی تخته نان را به آردوینو GND متصل می کنیم.

اکنون تنها کاری که باید انجام دهیم این است که رمزگذار چرخشی را وصل کنیم. اولین پین GND است و ما آن را به ریل منفی تخته نان متصل می کنیم. پین بعدی Vcc است و ما آن را به ریل مثبت تخته نان متصل می کنیم. پین بعدی SW است و آن را به پین آنالوگ 2 متصل می کنیم. پین بعدی DT نام دارد و آن را به پین آنالوگ 1 متصل می کنیم. در نهایت پین CLK به پین آنالوگ 0. متصل می شود. نمودار شماتیک این پروژه را در توضیحات ویدئوی زیر

در حال حاضر ما آماده تقویت پروژه هستیم. همانطور که می بینید ، پروژه خوب کار می کند و منو مطابق انتظار کار می کند! عالی است ، اکنون بیایید نرم افزار پروژه را ببینیم.

مرحله 5: کد پروژه

کد پروژه
کد پروژه

در این پروژه ما از 4 کتابخانه استفاده می کنیم. ما از دو کتابخانه برای نمایش و دو کتابخانه برای رمزگذار چرخشی استفاده می کنیم.

  1. Adafruit GFX:
  2. نوکیا 5110:
  3. کتابخانه رمزگذار:
  4. کتابخانه TimerOne:

در ابتدا قصد داریم نگاهی به عملکرد drawMenu بیندازیم. این عملکرد وظیفه ترسیم منو روی صفحه را بر عهده دارد. این عملکرد هر چند میلی ثانیه نامیده می شود ، بنابراین اگر تغییری در منو ایجاد شود ، این عملکرد مسئول به روز رسانی منو روی صفحه است.

int menuitem = 1 ؛ int frame = 1 ؛ صفحه int = 1؛ int lastMenuItem = 1؛

همچنین 3 متغیر جهانی بسیار مهم وجود دارد ، صفحه متغیر ، menuitem متغیر و فریم متغیر. صفحه متغیر به خاطر می آورد که کدام صفحه UI روی صفحه نمایش داده می شود. بنابراین ، اگر متغیر صفحه 1 باشد ، در صفحه اصلی UI قرار داریم و اگر متغیر 2 باشد ، در صفحه UI ثانویه قرار داریم که مقدار آن را روی یک متغیر تنظیم می کنیم. مورد منو مورد انتخاب شده منو را به خاطر می آورد. بنابراین ، اگر مقدار آن 1 باشد ، اولین آیتم منو انتخاب می شود ، بنابراین تابع drawMenu باید این آیتم منو را به رنگ سیاه با حروف سفید ترسیم کند. اگر آیتم منو 2 باشد ، آیتم دوم منو انتخاب شده و غیره. متغیر فریم ، به خاطر می آورد که کدام قسمت از منو روی صفحه نمایش داده می شود. از آنجایی که منویی که ایجاد کرده ایم شامل 6 مورد است و می توانیم فقط 3 مورد را در یک زمان نمایش دهیم ، باید بدانیم که کدام موارد روی صفحه نمایش داده می شوند. متغیر قاب ، دقیقاً این را به ما می گوید. اگر متغیر فریم دارای مقدار 1 باشد ، سه مورد اول منو را نمایش می دهیم ، اگر 2 باشد ، موارد 2 ، 3 ، 4 و غیره را نمایش می دهیم.

من سعی کردم کد را تا آنجا که ممکن است آسان کنم تا بتوانم تعدادی متغیر جهانی ایجاد کنم که نام عناصر منو را نگه می دارد. به این ترتیب ، بدون جستجو در کد ، می توانید منوهای خود را به راحتی ایجاد کنید.

String menuItem1 = "Contrast"؛ String menuItem2 = "Volume"؛ String menuItem3 = "Language"؛ String menuItem4 = "مشکل"؛ String menuItem5 = "Light: ON"؛ String menuItem6 = "بازنشانی"؛

بولین نور پس زمینه = true؛

int کنتراست = 60؛ حجم int = 50 ؛

زبان رشته [3] = {"EN" ، "ES" ، "EL"}؛

int selectedLanguage = 0؛

مشکل رشته [2] = {"EASY" ، "HARD"}؛

int selectedDifficility = 0؛

در ابتدا همه متغیرهای جهانی مورد نیاز در کد را مقداردهی می کنیم. در مرحله بعد ، صفحه را اولیه می کنیم. در تابع حلقه ، ابتدا با تابع drawMenu تماس می گیریم تا منو روی صفحه ترسیم شود. سپس مقدار را از رمزگذار Rotary می خوانیم و بررسی می کنیم که آیا دکمه فشار داده شده است یا خیر. به عنوان مثال ، اگر ما در صفحه اصلی UI هستیم و اولین آیتم منو انتخاب شده است ، اگر مقدار رمزگذار چرخشی افزایش یافته باشد ، متغیر menuitem افزایش می یابد و در حلقه بعدی تابع drawMenu دومین آیتم منو را به عنوان انتخاب شده ترسیم می کند. اگر دکمه رمزگذار چرخشی را فشار دهیم ، به صفحه دوم می رویم ، جایی که مقدار متغیر را تعیین می کنیم. مجدداً با استفاده از رمزگذار چرخشی می توانیم مقدار متغیر را افزایش یا کاهش دهیم. اگر دکمه را فشار دهیم ، به صفحه اصلی منو باز می گردیم و متغیر صفحه کاهش می یابد.

این ایده اصلی پشت این منو است. ما برای همه موارد و صفحات منو از یک روش مشابه پیروی می کنیم. کد پیچیده است ، بیش از 400 خط دارد. به نظر می رسد پیچیده است اما اگر خودتان آن را امتحان کنید ، راحت تر آن را می فهمید و قادر خواهید بود آن را تغییر دهید ، گسترش دهید و از آن در پروژه های خود استفاده کنید. مثل همیشه می توانید کد پیوست شده را در اینجا پیدا کنید.

مرحله 6: آزمایش پروژه

آزمایش پروژه
آزمایش پروژه

اگر کد را بارگذاری کنیم می بینیم که پروژه مطابق انتظار کار می کند. ما می توانیم با استفاده از شفت ، منو را به بالا و پایین حرکت دهیم و با فشار دادن دکمه رمزگذار چرخشی ، هر مورد منو را انتخاب کنیم. چقدر باحاله!

اکنون که می دانیم چگونه منوها را برای نمایشگرهای LCD نوکیا 5110 بسازیم ، می توانیم ویژگی های بیشتری را به پروژه های خود اضافه کنیم و آنها را بیشتر کاربر پسند کنیم. این منوی ساده ای که امروز ساخته ایم می تواند بهبود یابد. ما می توانیم از وقفه ها به جای بررسی وضعیت دکمه ها به طور مداوم استفاده کنیم. به این ترتیب می توانیم مصرف برق پروژه را کاهش دهیم و کد را تمیزتر کنیم. به زودی ویدئویی در مورد وقفه ها آماده خواهم کرد ، پس با ما همراه باشید. دوست دارم نظر شما را در مورد این پروژه منو بشنوم. آیا به نظر شما مفید است و آیا قصد دارید از منو در هر پروژه خود استفاده کنید. لطفا نظرات و ایده های خود را در زیر ارسال کنید ، با تشکر!

توصیه شده: