فهرست مطالب:
- مرحله 1: مرور کلی مدار
- مرحله 2: تولید PCB
- مرحله 3: مرور نرم افزار
- مرحله 4: آزمایش طراحی
- مرحله 5: نتیجه گیری
- مرحله 6: منابع مورد استفاده
تصویری: ماژول کنترل Uber I2C LCD: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
مقدمه
این دستورالعمل نحوه ایجاد یک ماژول کنترلر مبتنی بر 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
همانطور که قبلاً ذکر شد ، این دستورالعمل یک تمرین بود ، که عمدتا برای تعیین مدت زمان تکمیل یک طرح (که دارای هدف عملی بود) بود.
در این مورد من بعدازظهر شنبه به مفهوم اولیه فکر کردم و نمونه اولیه آن را در تصویر شنبه شنبه 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
توصیه شده:
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
نمایشگر LCD I2C / IIC - استفاده از LCD SPI به صفحه LCD I2C با استفاده از ماژول SPI تا IIC با آردوینو: 5 مرحله
نمایشگر LCD I2C / IIC | استفاده از LCD SPI برای نمایشگر LCD I2C با استفاده از ماژول SPI به IIC با آردوینو: سلام بچه ها از آنجایی که یک SPI LCD 1602 معمولی سیم های زیادی برای اتصال دارد ، بنابراین اتصال آن با آردوینو بسیار مشکل است ، اما یک ماژول در بازار موجود است که می تواند صفحه نمایش SPI را به صفحه IIC تبدیل کنید ، بنابراین فقط باید 4 سیم را وصل کنید
ماژول قفسه ماژول صدای Tama Techstar Electric: 7 مرحله
ماژول صدای ماژول صدا Tama Techstar Electric: من یک ماژول درام Tama Techstar 500 Electric دارم که گوش های رک نداشت. تصمیم گرفتم این را در یک قفسه قرار دهم و نیاز به تهیه آن دارم. من به ماژول Tama Drum دیگری که داشتم نگاه کردم و دیدم که اندازه آن یکسان است و می توانم از آن به عنوان الگویی برای این کار استفاده کنم
ماژول 1602 صفحه کلید صفحه LCD LCD با کوله پشتی I2C: 6 مرحله
ماژول 1602 صفحه کلید صفحه LCD LCD با کوله پشتی I2C: به عنوان بخشی از یک پروژه بزرگتر ، می خواستم یک صفحه نمایش LCD و صفحه کلید برای حرکت در منوهای ساده داشته باشم. من از بسیاری از پورت های ورودی/خروجی در آردوینو برای کارهای دیگر استفاده خواهم کرد ، بنابراین می خواستم یک رابط I2C برای LCD داشته باشم. بنابراین من سخت افزار خریدم ،
ماژول RF 433MHZ - ساخت گیرنده و فرستنده از ماژول RF 433MHZ بدون هیچ میکروکنترلر: 5 مرحله
ماژول RF 433MHZ | دریافت گیرنده و فرستنده از ماژول RF 433MHZ بدون هیچ میکروکنترلر: آیا می خواهید داده های بی سیم ارسال کنید؟ به راحتی و بدون نیاز به میکروکنترلر؟ در اینجا می رویم ، در این دستورالعمل به شما نشان می دهم فرستنده و گیرنده اصلی rf آماده استفاده است! در این دستورالعمل می توانید داده ها را با استفاده از ver verd ارسال و دریافت کنید