Мазмуну:

Uber I2C LCD Controller модулу: 6 кадам
Uber I2C LCD Controller модулу: 6 кадам

Video: Uber I2C LCD Controller модулу: 6 кадам

Video: Uber I2C LCD Controller модулу: 6 кадам
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Июль
Anonim
Uber I2C LCD Controller модулу
Uber I2C LCD Controller модулу
Uber I2C LCD Controller модулу
Uber I2C LCD Controller модулу
Uber I2C LCD Controller модулу
Uber I2C LCD Controller модулу

Преамбула

Бул HD44780 ЖКга негизделген контроллер модулун кантип түзүү керектиги жөнүндө кеңири маалымат (жогорудагы 1 -сүрөт). Модуль колдонуучуга ЖКнын бардык аспектилерин I2C аркылуу программалык түрдө башкарууга мүмкүндүк берет; ЖК жана дисплей, контраст жана арткы жарыктын күчү. Arduino Uno R3 анын прототиби үчүн колдонулганына карабастан, I2C колдогон бардык микроконтроллерлер менен бирдей жакшы иштейт.

Киришүү

Жогоруда айтылгандай, бул макала I2C LCD Controller модулун түзүүнү тастыктайт, ал биринчи кезекте практикалык жумушчу ПХБны түзүү үчүн канча убакыт кетерин аныктоо үчүн дизайн көнүгүүсү катары арналган.

Дизайн стандарттык жалпы контроллер модулун алмаштырат (жогорудагы 3 -сүрөт) жана мен мурда чыгарган Instructables жана китепканаларга негизделген.

Баштапкы концепциянын прототипинен (жогорудагы 2 -сүрөт) аягына чейин, толугу менен сыналган ПХБга (жогорудагы 1 -сүрөт) 5,5 күнгө созулду.

Мага кандай бөлүктөр керек? Төмөндө тиркелген материалдарды караңыз

Мага кандай программа керек?

  • Arduino IDE 1.6.9,
  • Эгерде сиз ПХБны өзгөрткүңүз келсе, Kicad v4.0.7. Болбосо жөн гана 'LCD_Controller.zip'ди JLCPCBге жөнөтүңүз.

Мага кандай куралдар керек?

  • Микроскоп жок дегенде x3 (SMT ширетүү үчүн),
  • SMD ширетүүчү темир (суюк флюс калеми жана флюс өзөгү менен),
  • Күчтүү пинцет (SMT ширетүү үчүн),
  • Жакшы кычкачтар (учтуу жана мурундуу),
  • Угуу үзгүлтүксүздүгүн текшерүү менен DMM.

Мага кандай көндүмдөр керек?

  • Сабыр көп,
  • Көп кол чеберчилиги жана кол/көздүн мыкты координациясы,
  • Мыкты ширетүү жөндөмдөрү.

Темалар камтылган

  • Киришүү
  • Circuit Overview
  • PCB өндүрүшү
  • Программалык камсыздоо
  • Дизайнды сыноо
  • Жыйынтык
  • Колдонулган шилтемелер

1 -кадам: Районго жалпы сереп

Circuit Overview
Circuit Overview

Бардык электрониканын толук схемасы жогорудагы 1 -сүрөттө, PDF менен бирге төмөндө берилген.

Район төмөнкү өркүндөтүүлөр менен стандарттык PCF8574A I2C LCD Controller модулун так алмаштыруу үчүн иштелип чыккан;

  • I2C колдонуучу 3v3 же 5v шайкештигин тандап алат,
  • Санарип контраст же кадимки идишти орнотуу,
  • Арткы жарыктын интенсивдүүлүгүн тандоо Quartic жумшартуу функциясын башкаруу менен жылмакай өчүүгө жетүү үчүн.

LCD дисплей башкаруу

Бул I2C параллелдүү которуу үчүн PCF8574A (IC2) колдонгон I2C LCD Controller модулунун стандарттык факсимилеси.

Бул үчүн демейки I2C дареги 0x3F.

3v3 же 5v I2C шайкештиги

3v3 иштөө үчүн Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 жана C2 туура келет.

Эгерде 5v операциясы талап кылынса, анда 3v3 компоненттерине туура келбейт, аларды 0 Ом резисторлору ROpt 3 жана 4 менен алмаштырыңыз.

Санарип контраст

Санарип контраст контролдоо санариптик потенциометр U2 MCP4561-103E/MS жана C4, R5 аркылуу ишке ашат.

Эгерде кадимки механикалык потенциометр талап кылынса, анда U2, C4 жана R5тин ордуна PCB, RV1 10K орнотулушу мүмкүн. Ылайыктуу потенциометр үчүн Банкты караңыз.

J6 секирүүчү көпүрө аркылуу I2C дареги 0x2E болот. Бул нормалдуу иштеши үчүн бул көпүрө деп ойлогон.

Арткы жарыктын интенсивдүүлүгүн тандоо

Арткы жарыктын интенсивдүүлүгү UW pin 6 ATTiny85 аркылуу ЖК LED арткы жарыктын PWM модуляциясы менен көзөмөлдөнөт. Стандарттык I2C LCD Controller Module R1 менен толук шайкештигин сактоо үчүн, T1 R7 жана T2 +вена темир жолун модуляциялоо үчүн колдонулат.

Бул үчүн демейки I2C дареги 0x08. Бул U1ди программалоого чейин компиляция убагында колдонуучу тарабынан тандалат.

2 -кадам: PCB өндүрүшү

PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү
PCB өндүрүшү

Жогоруда айтылгандай, бул Нускамалык, биринчи кезекте, долбоорду бүтүрүүгө канча убакыт кетерин аныктоого багытталган (практикалык максаты бар) көнүгүү болгон.

Бул учурда мен алгачкы түшүнүктү ишемби күнү түштөн кийин ойлодум жана прототипти ишемби күнү кечинде 1 -сүрөттө бүтүрдүм. Менин айтканымдай, I2C ЖК контроллер модулунун I2C үстүнөн ЖКны толук программалык башкарууну сунуштаган, бирдей изи бар өз вариантын түзүү болчу.

Схемалык диаграмма жана ПХБ макети Kicad v4.0.7 pics 2 жана 3. менен иштелип чыккан. Бул жекшемби күнү түштөн кийин аяктады жана тетиктер Фарнеллден заказ кылынып, PCB жекшемби күнү кечинде JLCPCBге жүктөлдү.

Компоненттер Фарнеллден шаршемби күнү келишти, андан кийин бейшемби күнү JLCPCBден ПКБлар келди (мен ылдамдатуу үчүн DHL жеткирүү кызматын колдондум) 4, 5, 6 & 7 сүрөттөрү.

Бейшемби күнү кечинде эки такта (3v3 жана 5v варианттары) курулуп, 4төн 20га чейин ЖК дисплейде ийгиликтүү сыналган. Сүрөттөр 8, 9 жана 10.

Баштапкы түшүнүктөн аягына чейин укмуштуудай 5.5 күн.

Бул мени таң калтырат, JLCPCB заказ алып, эки тараптуу PTH ПХБсын өндүрүп, Улуу Британияга жөнөтө алат. Өндүрүү үчүн 2 күн жана жеткирүү үчүн 2 күн. Бул Улуу Британияда жайгашкан PCB өндүрүүчүлөрүнө караганда тезирээк жана баанын бир бөлүгүндө.

3 -кадам: Программаны карап чыгуу

Программалык камсыздоо
Программалык камсыздоо
Программалык камсыздоо
Программалык камсыздоо

I2C ЖК контролер модулун башкаруу үчүн зарыл болгон программалык камсыздоонун үч негизги компоненти бар;

1. LiquidCrystal_I2C_PCF8574 Arduino китепканасы

Бул жерде жеткиликтүү

LCD дисплейди башкаруу үчүн Arduino эскизинде колдонулат.

Эскертүү: Бул Generic I2C LCD модулунун контроллери менен бирдей жакшы иштейт. Бул башка китепканаларга караганда функционалды берет.

2. MCP4561_DIGI_POT Arduino китепканасы

Эскизде LCD контрастын программалык түрдө башкаруу үчүн колдонулат

Бул жерде жеткиликтүү

3. Жылмакай өчүүгө жетүү үчүн PWM жана Quartic жеңилдетүү функциясын колдонуп, ЖКнын арткы жарык деңгээлин программалык башкаруу

Жогоруда айтылгандай, тактада дисплейдин арткы жарыгынын акырындык менен өчүшүн көзөмөлдөө үчүн колдонулган бир ATTiny85 бар.

Бул программалык камсыздоонун чоо -жайы мурунку Нускамада "ATTiny85 менен PWM LEDинин өчүшү" берилген.

Бул учурда, акыркы PCB өлчөмдөрүн сактоо үчүн, жалпы ЖК контролерунун модулу менен бирдей, SOIC ATTiny85 варианты тандалды. 1 жана 2 -сүрөттөр ATTiny85 SOICтин прототипинде кантип программаланганын жана сыналганын көрсөтөт.

ATTiny85ке программаланган код бул жерде 'Tiny85_I2C_Slave_PWM_2.ino' болгон

Өзүңүздүн ATTiny85 программистиңизди кантип түзүү керектиги жөнүндө чоо -жайын билүү үчүн "ATTiny85, ATTiny84 жана ATMega328Pти программалоо: Arduino ISP катары" караңыз.

4 -кадам: Дизайнды текшерүү

Дизайнды сыноо
Дизайнды сыноо
Дизайнды сыноо
Дизайнды сыноо

Дизайнды текшерүү үчүн мен "LCDControllerTest.ino" аттуу эскизди түздүм, ал колдонуучуга ЖКнын белгилүү бир параметрин түздөн -түз сериялык терминал туташуусу аркылуу коюуга мүмкүндүк берет.

Эскизди менин GitHub репозиторийимден табууга болот I2C-LCD-Controller-Module

Сүрөт 1 жогоруда 5 в I2C шайкеш тактасы 4 менен 20 ЖКга орнотулган жана сүрөт 2 сыноо кодун биринчи жолу иштетүүдө демейки дисплейди көрсөтөт.

Бул арткы жарык жана контраст үчүн төмөнкү демейки маанилерди колдонот;

  • #аныктоо DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((колу узун) (10))
  • #DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Мен булар запастын тегерегинде жаткан 4 менен 20 LCD дисплейи менен жакшы иштегенин көрдүм.

5 -кадам: Жыйынтык

Мен бир аз мурун электроника/программалык камсыздоо тармагында баштаганда, эгер ката кетирсеңиз, акыркы схемада ашыкча инженерия менен прототиптештирүү үчүн зым оролгон же вертолет конструкциясын колдонууга чоң басым жасалган., тактаны кайра айлантуунун наркын жана узактыгын эске алуу менен.

Бир ката, адатта, график боюнча сизге бир нече жума сарпталат жана пайда маржасын (жана, балким, сиздин жумушуңузду) жардырды.

ПКБлар "көркөм чыгармалар" деп аталышкан, анткени алар чындап эле көркөм чыгармалар болчу. Фото трафареттерге каршы туруу үчүн "трекер" же сүрөтчү тарабынан жабышчаак кара креп тасмасы менен эки эсе толук өлчөмдө түзүлгөн жана фаберлик үй тарабынан фотографиялык түрдө кыскарган.

Райондук диаграммалар ошондой эле трассерлер тарабынан түзүлгөн жана сиздин колуңуздан дизайн конспекттериңизден алынган. Көчүрмөлөр фото-статикалык түрдө жасалып, "көк издер" деп аталат. Анткени алар дайыма көк түстө болчу.

Микроконтроллерлер кичинекей кезинде эле жана адатта сиздин компанияңыз коштоп жүргөн татаал жана кымбат өнүгүү чөйрөсүнө ээ боло алса, схемада окшоштурулган.

Ошол кездеги жаратуучу катары, программалык камсыздоону иштеп чыгуу инструменттеринин чынжырынын баасы эле өтө кымбат болчу, сиз сөзсүз түрдө EPROMго (эгер сиз абдан бактылуу болсоңуз, RAM/Flash) алты бурчтуу маанини түзүүгө мажбур болгонсуз, андан кийин натыйжалуу жүрүм -турумду чечмелеп берүү үчүн бир нече саат коротуп, эмнени аныктайт. эгер сиздин кодуңуз күтүлгөндөй иштебей жатса (кичине "чайкоо" же сериялык printf эң популярдуу мүчүлүштүктөрдү оңдоо техникасы. Кээ бир нерселер эч качан өзгөрбөйт). Сиз адатта өзүңүздүн бардык китепканаларыңызды жазышыңыз керек болчу, анткени эч ким жок болчу (албетте интернет сыяктуу бай булак жок болчу).

Бул сиз бир нерсенин кантип иштегенин түшүнүүгө көп убакыт короттуңуз жана чыгармачылык менен алектенүүгө азыраак убакыт бөлдүңүз.

Сиздин бардык диаграммаларыңыз адатта A4 же A3 форматында тартылган жана аларды солдон оңго карай сигнал жолунун логикалык агымын берүү менен кылдаттык менен ойлонушу керек болчу. Түзөтүүлөр, адатта, жаңы барактан баштоо керектигин билдирет.

Көпчүлүк учурда, сиздин акыркы схемаңыз түбөлүктүүлүк үчүн верборддун жардамы менен иштелип чыккан жана ага "профессионалдык тийүү" берүү үчүн ABSтин жөнөкөй корпусуна орнотулган.

Тескерисинче, мен бул долбоорду 5.5 күндүн ичинде жогорку сапаттагы акысыз программаны колдонуу менен иштеп чыктым, натыйжада профессионалдуу стандарт ПХБ пайда болду. Эгер каалоо мени кабыл алса, мен аны 3D форматында чыгарылган кутуга салып алмакмын.

Он жылдан аз убакыт мурун сиз кыялданган нерсе.

Иштер кандайча жакшы жакка өзгөрдү.

6 -кадам: Колдонулган шилтемелер

KiCAD Схемалык тартуу жана ПХБ дизайны

KiCAD EDA

Arduino ORG программалык камсыздоону иштеп чыгуу куралы

Arduino

LiquidCrystal_I2C_PCF8574 Arduino китепканасы

Бул жерде

MCP4561_DIGI_POT Arduino китепканасы

Бул жерде

ATTiny85 менен жылмакай PWM LEDдин өчүшү

Бул жерде

ATTiny85, ATTiny84 жана ATMega328P программалоо: ISP катары Arduino

Сунушталууда: