شِفر (کود) آردوینو برای استفاده از جوی‌استیک دو محوره (X و Y) با صفحه‌نمایش LCD نوکیا 5110

شِفر (کود) آردوینو برای استفاده از جوی‌استیک دو محوره (X و Y) با صفحه‌نمایش LCD نوکیا 5110

این آموزش شما را در فرایند استفاده از جوی‌استیک دومحوره XY برای کنترل یک نقطه نمایش داده‌شده روی صفحه‌نمایش Nokia 5110 LCD راهنمایی می‌کند. این پروژه شامل خواندن موقعیت جوی‌استیک و به‌روزرسانی نمایش مطابق آن است. تا پایان این راهنما، شما یک راه‌اندازی عملیاتی خواهید داشت که با حرکت جوی‌استیک، موقعیت یک نقطه روی صفحه تغییر می‌کند (در ویدیو در 00:00).

Nokia 5110_LCD

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

سخت‌افزار به زبان ساده

اجزای اصلی این پروژه شامل آردوینو، جوی‌استیک دومحوره XY و صفحه‌نمایش LCD نوکیا 5110 هستند. آردوینو به‌عنوان میکروکنترلر عمل می‌کند، ورودی‌های جوی‌استیک را پردازش کرده و نمایشگر LCD را کنترل می‌کند.

جوی‌استیک معمولاً دو پتانسیومتر دارد — یکی برای محور X و یکی برای محور Y. وقتی جوی‌استیک را حرکت می‌دهید، این پتانسیومترها مقاومتشان را تغییر می‌دهند و سطوح ولتاژ متغیر را به پایه‌های ورودی آنالوگ آردوینو می‌فرستند. صفحه‌نمایش LCD نوکیا 5110 از طریق ارتباط SPI کنترل می‌شود که امکان انتقال کارآمد داده و به‌روزرسانی نمایش را فراهم می‌کند.

جزئیات مشخصات فنی

تولیدکنندهتگزاس اینسترومنتس
شماره قطعهL293D
ولتاژ منطق/ورودی-خروجی5 ولت
ولتاژ تغذیه4.5-36 V
جریان خروجی (برای هر کانال)۶۰۰ میلی‌آمپر
جریان پیک (برای هر کانال)1.2 A
راهنمای فرکانس PWM20 کیلوهرتز
آستانه‌های منطقی ورودیسازگار با TTL
افت ولتاژ / Rدرین-تا-سورس (روشن)/ اشباعحداکثر 1.5 V
محدودیت‌های حرارتی150 °C
بستهDIP-16
یادداشت‌ها / انواعبه‌طور گسترده در کاربردهای درایور موتور استفاده می‌شود

  • برای عملکرد مداوم، از وجود هیت‌سینک مناسب اطمینان حاصل کنید.
  • برای تأمین تغذیه پایدار از خازن‌های دکوپلینگ استفاده کنید.
  • برای جلوگیری از آسیب دیدن قطعات، مشخصات ولتاژ را بررسی کنید.
  • با سیگنال‌های PWM محتاط باشید؛ مطمئن شوید که در محدوده‌های مشخص‌شده قرار دارند.
  • برای جلوگیری از اتصال کوتاه، اتصالات سیم‌کشی را بررسی کنید.

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

Arduino wiring for Nokia 5110 LCD  with Joystick
Arduino wiring for Nokia 5110 LCD with Joystick

برای سیم‌کشی جوی‌استیک و نمایشگر LCD به آردوینو، با وصل کردن پایه VCC جوی‌استیک به 5V آردوینو و پایه GND به GND آردوینو شروع کنید. خروجی محور X جوی‌استیک را به پایه آنالوگA0و خروجی محور Y را به پایه آنالوگA1. خروجی سوئیچ جوی‌استیک باید به پایه دیجیتال متصل شود2.

برای LCD نوکیا 5110، پایه‌های زیر را وصل کنید: VCC به 5V، GND به GND، SCE به پایه7, RST به پایه6، D/C به پایه5, DN(MOSI) به پایه11، و SCLK را به پایه13در آخر، پایه LED را از طریق یک مقاومت 330 اهم به پایه وصل کنید9برای کنترل نور پس‌زمینه.

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

در تابع setup، ارتباط سریال و LCD را مقداردهی اولیه می‌کنیم. فرمانlcdBegin()پایه‌ها را پیکربندی کرده و نمایشگر را مقداردهی اولیه می‌کند. کنتراست برای دید بهینه تنظیم شده است.

void setup() {
  Serial.begin(9600);
  lcdBegin(); 
  setContrast(40); 
  delay(1000);
  clearDisplay(BLACK);
  updateDisplay();
}

این مؤلفه‌های لازم پروژه را مقداردهی اولیه می‌کند و اطمینان می‌دهد که نمایشگر LCD آماده نمایش اطلاعات است.

Nokia 5110_LCD back view

در تابع loop، موقعیت جوی‌استیک را می‌خوانیم و آن را به ابعاد صفحه نگاشت می‌کنیم. موقعیت نقطه بر اساس مقادیر X و Y جوی‌استیک به‌روزرسانی می‌شود.

void loop() {
  int x = analogRead(A0); // read the x position of joystick
  int y = analogRead(A1); // read the y position of joystick
  int xPos = map(x, 0, 1023, 0, screenWidth); // map x to screen
  int yPos = map(y, 0, 1023, 0, screenHeight); // map y to screen
  setCircle(xPos, yPos, thickness, BLACK, 2); // display the dot
  updateDisplay();
  delay(10);
}

این شِفر (کود) به‌طور پیوسته موقعیت نقطه روی LCD را بر اساس حرکت جوی‌استیک به‌روزرسانی می‌کند.

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

وقتی مدار را روشن می‌کنید، LCD یک نقطه را نمایش می‌دهد. حرکت جوی‌استیک، موقعیت نقطه را در زمان واقعی بر اساس حرکت‌های محور X و Y جوی‌استیک جابه‌جا می‌کند. اگر کلید جوی‌استیک فشار داده شود، می‌تواند عملکردهای اضافی‌ای را که ممکن است پیاده‌سازی کنید فعال کند. مراقب ورودی‌های شناور احتمالی باشید اگر جوی‌استیک در مرکز قرار نداشته باشد، زیرا ممکن است منجر به حرکت‌های غیرمنتظرهٔ نقطه شود (در ویدیو در 01:30).

برچسب‌های زمانی ویدیو

  • 00:00- معرفی پروژه
  • 01:30- توضیح سیم‌کشی
  • 02:45- مرور شِفر (کود)
  • 04:10- نمایش عملکرد

تصاویر

Nokia 5110_LCD back view
Nokia 5110_LCD back view
Arduino wiring for Nokia 5110 LCD  with Joystick
Arduino wiring for Nokia 5110 LCD with Joystick
Nokia 5110_LCD
Nokia 5110_LCD
81-Arduino code: Dual-axis joystick with Nokia 5110 screen to display dots
زبان: C++
کپی شد!

مواردی که ممکن است به آن‌ها نیاز داشته باشید

منابع و مراجع

فایل‌ها📁

فایل Fritzing