فهرست مطالب:

ماژول کنترل Uber I2C LCD: 6 مرحله
ماژول کنترل Uber I2C LCD: 6 مرحله

تصویری: ماژول کنترل Uber I2C LCD: 6 مرحله

تصویری: ماژول کنترل Uber I2C LCD: 6 مرحله
تصویری: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, نوامبر
Anonim
ماژول کنترل Uber I2C LCD
ماژول کنترل Uber I2C LCD
ماژول کنترل Uber I2C LCD
ماژول کنترل Uber I2C LCD
ماژول کنترل Uber I2C LCD
ماژول کنترل Uber I2C LCD

مقدمه

این دستورالعمل نحوه ایجاد یک ماژول کنترلر مبتنی بر LCD HD44780 (عکس 1 بالا) را توضیح می دهد. این ماژول به کاربر اجازه می دهد تا تمام جنبه های LCD را به صورت برنامه نویسی بر روی I2C ، شامل موارد زیر کنترل کند: LCD و صفحه نمایش ، کنتراست و شدت نور پشت. اگرچه Arduino Uno R3 برای نمونه اولیه آن استفاده شد ، اما با هر میکروکنترلری که از I2C پشتیبانی می کند به همان اندازه خوب کار می کند.

معرفی

همانطور که در بالا ذکر شد این مقاله مستند ایجاد یک ماژول کنترل کننده I2C LCD است ، در درجه اول به عنوان یک تمرین طراحی در نظر گرفته شد که چقدر طول می کشد تا یک PCB عملی کار کند.

این طرح جایگزین ماژول کنترل کننده عمومی (تصویر 3 بالا) می شود و از دستورالعمل ها و کتابخانه هایی که قبلاً تهیه کرده ام استفاده می کند.

از نمونه اولیه مفهومی (تصویر 2 بالا) تا PCB کامل و آزمایش شده (تصویر 1 بالا) در مجموع 5.5 روز طول کشید.

به چه قطعاتی نیاز دارم؟ منشور مواد پیوست شده در زیر را ببینید

به چه نرم افزاری نیاز دارم؟

  • Arduino IDE 1.6.9 ،
  • اگر می خواهید PCB را اصلاح کنید Kicad v4.0.7. در غیر این صورت فقط 'LCD_Controller.zip' را به JLCPCB ارسال کنید.

به چه ابزارهایی نیاز دارم؟

  • میکروسکوپ حداقل x3 (برای لحیم کاری SMT) ،
  • آهن لحیم کاری SMD (با قلم شار مایع و لحیم کاری با جریان شار) ،
  • موچین قوی (برای لحیم کاری SMT) ،
  • انبردست ظریف (بینی و بینی تیز) ،
  • DMM با بررسی تداوم شنیدنی.

به چه مهارتهایی نیاز دارم؟

  • صبر زیاد ،
  • مهارت بسیار زیادی و هماهنگی عالی دست و چشم ،
  • مهارت های لحیم کاری عالی.

موضوعات تحت پوشش

  • معرفی
  • نمای کلی مدار
  • تولید PCB
  • مروری بر نرم افزار
  • آزمایش طرح
  • نتیجه
  • منابع مورد استفاده

مرحله 1: مرور کلی مدار

نمای کلی مدار
نمای کلی مدار

نمودار مدار کامل تمام وسایل الکترونیکی در تصویر 1 بالا به همراه PDF همان زیر آورده شده است.

این مدار به عنوان جایگزینی دقیق برای ماژول کنترل کننده استاندارد PCF8574A I2C LCD با پیشرفت های زیر طراحی شده است.

  • سازگاری 3v3 یا 5v توسط کاربر I2C ،
  • کنترل کنتراست دیجیتال یا تنظیم قابلمه معمولی ،
  • انتخاب متغیر شدت نور پس زمینه با کنترل عملکرد سه بعدی برای دستیابی به محو شدن صاف.

کنترل صفحه نمایش LCD

این یک فاکس از ماژول استاندارد I2C LCD Controller است که از PCF8574A (IC2) برای تبدیل موازی به I2C استفاده می کند.

آدرس پیش فرض I2C برای این 0x3F است.

سازگاری 3v3 یا 5v I2C

برای عملکرد 3v3 مناسب Q1 ، Q2 ROpt1 ، 2 ، 5 و 6 ، IC1 ، C2 و C2 است.

در صورت نیاز به عملکرد 5 ولت ، هیچ اجزای 3v3 را جاسازی نکنید و آنها را با مقاومت 0 اهم ROpt 3 و 4 جایگزین کنید.

کنتراست دیجیتالی

کنترل کنتراست دیجیتال با استفاده از پتانسیومتر دیجیتال U2 MCP4561-103E/MS و C4 ، R5 به دست می آید.

در صورت نیاز به پتانسیومتر مکانیکی معمولی ، می توان آن را به جای U2 ، C4 و R5 در PCB ، RV1 10K نصب کرد. برای پتانسیومتر سازگار به BoM مراجعه کنید.

با پل زدن Jumper ، آدرس I2C 0x2E است. فرض بر این بود که برای عملکرد عادی این پل متصل است.

انتخاب شدت نور پس زمینه متغیر

شدت متغیر نور پس زمینه با تعدیل PWM نور پس زمینه LCD از طریق پین U1 6 و ATTiny85 کنترل می شود. به منظور حفظ سازگاری کامل با استاندارد I2C LCD Controller Module R1 ، T1 R7 و T2 برای تعدیل ریل منبع تغذیه +ve استفاده می شود.

آدرس پیش فرض I2C برای این 0x08 است. این گزینه توسط کاربر ، در زمان کامپایل قبل از برنامه نویسی U1 قابل انتخاب است.

مرحله 2: تولید PCB

تولید PCB
تولید PCB
تولید PCB
تولید PCB
تولید PCB
تولید PCB
تولید PCB
تولید PCB

همانطور که قبلاً ذکر شد ، این دستورالعمل یک تمرین بود ، که عمدتا برای تعیین مدت زمان تکمیل یک طرح (که دارای هدف عملی بود) بود.

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

نمودار شماتیک و طرح PCB با Kicad v4.0.7 عکس 2 و 3 تهیه شده است. این در روز یکشنبه بعد از ظهر تکمیل شد و قطعات از فارنل سفارش داده شد و PCB تا یکشنبه عصر در JLCPCB بارگذاری شد.

قطعات روز چهارشنبه از فارنل و سپس پنجره های PCB از JLCPCB در روز پنجشنبه (من از سرویس تحویل DHL برای سرعت بخشیدن به امور استفاده کردم) تصاویر 4 ، 5 ، 6 و 7 رسید.

تا عصر پنجشنبه دو تخته (انواع 3 و 3 و 5 ولت) ساخته شده و با موفقیت روی صفحه نمایش 4 در 20 ال سی دی آزمایش شد. عکسهای 8 ، 9 و 10

5.5 روز شگفت انگیز از مفهوم اولیه تا تکمیل.

برای من شگفت انگیز است که JLCPCB چقدر سریع می تواند سفارش دهد ، یک PCB دو طرفه PTH تولید کرده و به انگلستان ارسال کند. تاول 2 روز برای تولید و 2 روز برای تحویل. این سریعتر از تولیدکنندگان PCB مستقر در انگلستان و در کسری از قیمت است.

مرحله 3: مرور نرم افزار

مروری بر نرم افزار
مروری بر نرم افزار
مروری بر نرم افزار
مروری بر نرم افزار

برای کنترل ماژول کنترل کننده I2C LCD ، سه بخش اصلی نرم افزار وجود دارد.

1. کتابخانه LiquidCrystal_I2C_PCF8574 آردوینو

در اینجا موجود است

برای استفاده در طرح آردوینو برای کنترل صفحه نمایش LCD.

توجه: این کار با کنترلر ماژول Generic I2C LCD به خوبی انجام می شود. فقط می دهد عملکرد می دهد نسبت به کتابخانه های دیگر.

2. MCP4561_DIGI_POT کتابخانه آردوینو

برای استفاده در طرح خود برای کنترل برنامه نویسی کنتراست LCD

در اینجا موجود است

3. کنترل برنامه ای سطح نور پس زمینه LCD با استفاده از PWM و عملکرد سه بعدی برای دستیابی به محو شدن صاف

همانطور که قبلاً ذکر شد ، برد شامل یک ATTiny85 است که برای کنترل محو شدن تدریجی نور پشت صفحه استفاده می شود.

جزئیات این نرم افزار در دستورالعمل قبلی "Smooth PWM LED Fading With the ATTiny85" آمده است

در این مورد ، به منظور حفظ ابعاد نهایی PCB مانند یک ماژول کنترل کننده LCD عمومی ، نوع SOIC ATTiny85 انتخاب شد. تصاویر 1 و 2 نشان می دهد که چگونه ATTiny85 SOIC در نمونه اولیه تنظیم شده برنامه ریزی و آزمایش شده است.

کد برنامه ریزی شده در ATTiny85 "Tiny85_I2C_Slave_PWM_2.ino" در اینجا موجود بود

برای اطلاعات بیشتر در مورد نحوه ایجاد برنامه نویس ATTiny85 خود به این "برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino As ISP" مراجعه کنید.

مرحله 4: آزمایش طراحی

آزمایش طرح
آزمایش طرح
آزمایش طرح
آزمایش طرح

برای آزمایش طراحی ، من یک طرح به نام "LCDControllerTest.ino" ایجاد کردم که به کاربر اجازه می دهد هر پارامتر خاص LCD را مستقیماً بر روی یک اتصال ترمینال سریال تنظیم کند.

این طرح را می توانید در مخزن GitHub I2C-LCD-Controller-Module من پیدا کنید

تصویر 1 بالا پرس برد سازگار با 5v I2C را نشان می دهد که روی LCD 4 در 20 نصب شده است و تصویر 2 هنگام نمایش کد تست برای اولین بار ، صفحه پیش فرض را نشان می دهد.

از مقادیر پیش فرض زیر برای نور پس زمینه و کنتراست استفاده می کند.

  • #تعریف DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((بدون امضا طولانی) (10))
  • #تعریف DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

من متوجه شدم که این صفحه نمایش با صفحه نمایش 4 در 20 ال سی دی که در اطراف خود قرار داشتم به خوبی کار می کرد.

مرحله 5: نتیجه گیری

هنگامی که من چندی پیش در صنعت الکترونیک/نرم افزار شروع به کار کردم ، تأکید زیادی بر استفاده از روکش سیم یا روکش ورودی برای نمونه سازی با مهندسی زیاد در مدار نهایی در صورت اشتباه وجود داشت. ، با توجه به هزینه و مدت زمان چرخش مجدد هیئت مدیره.

یک اشتباه معمولاً چند هفته در برنامه شما هزینه می برد و حاشیه سود (و احتمالاً شغل شما) را افزایش می دهد.

PCB ها "آثار هنری" نامیده می شدند ، زیرا آنها واقعاً آثار هنری بودند. دو برابر اندازه کامل با استفاده از نوار کرپ مشکی چسبناک توسط "tracer" یا "draughtsperson" ایجاد شده و توسط عکاسی توسط خانه فابریک کاهش می یابد تا عکس در برابر شابلون مقاومت کند.

نمودارهای مدار نیز توسط ردیاب ها ایجاد شده و با دست از یادداشت های طراحی شما کشیده شده است. کپی ها به صورت استاتیک انجام می شوند و "چاپ آبی" نامیده می شوند. زیرا رنگ آنها همیشه آبی بود.

کنترل کننده های میکرو تنها در دوران کودکی خود بودند و معمولاً در مدار شبیه سازی می شدند ، اگر شرکت شما بتواند با محیط توسعه پیچیده و گران قیمت همراه آن را خریداری کند.

به عنوان یک سازنده در آن زمان ، هزینه صرف زنجیره ابزار توسعه نرم افزار محدود کننده بود ، شما ناگزیر مجبور شدید که مقادیر شش ضلعی را مستقیماً در EPROM (RAM/Flash اگر خوش شانس بودید) وارد کنید و سپس ساعت ها وقت بگذارید تا رفتار حاصله را تفسیر کنید تا مشخص شود اگر کد شما آنطور که انتظار می رفت کار نمی کرد (بیت 'wiggling' یا سریال printf محبوب ترین تکنیک های اشکال زدایی است. برخی از چیزها هرگز تغییر نمی کنند). شما معمولاً مجبور بودید همه کتابخانه های خود را بنویسید زیرا هیچ کتابخانه ای در دسترس نبود (مطمئناً منبع غنی مانند اینترنت وجود نداشت).

این بدان معناست که شما زمان زیادی را صرف درک نحوه عملکرد چیزی کرده اید و زمان کمتری را صرف ایجاد خلاقانه کرده اید.

همه نمودارهای شما با دست کشیده شده اند ، معمولاً در A4 یا A3 و باید کاملاً مورد بررسی قرار گیرند و یک جریان منطقی از مسیر سیگنال را از چپ به راست به آنها ارائه دهند. اصلاحات معمولاً به این معنی است که شما باید با یک ورق تازه شروع کنید.

در بیشتر موارد ، مدار نهایی شما با استفاده از وروبرد برای ماندگاری توسعه یافته و در یک محفظه ABS ساده نصب شده است تا آن را "لمس حرفه ای" کند.

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

چیزی که کمتر از یک دهه پیش می توانستید رویای آن را داشته باشید.

چگونه اوضاع به سمت بهتر تغییر کرده است.

مرحله 6: منابع مورد استفاده

ضبط شماتیک KiCAD و طراحی PCB

KiCAD EDA

ابزار توسعه نرم افزار Arduino ORG

آردوینو

LiquidCrystal_I2C_PCF8574 کتابخانه آردوینو

اینجا

MCP4561_DIGI_POT کتابخانه آردوینو

اینجا

کم رنگ شدن PWM LED با ATTiny85

اینجا

برنامه نویسی ATTiny85 ، ATTiny84 و ATMega328P: Arduino به عنوان ISP

توصیه شده: