Obsah:

Modul ovládača LCD Uber I2C: 6 krokov
Modul ovládača LCD Uber I2C: 6 krokov

Video: Modul ovládača LCD Uber I2C: 6 krokov

Video: Modul ovládača LCD Uber I2C: 6 krokov
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Júl
Anonim
Ovládací modul LCD Uber I2C
Ovládací modul LCD Uber I2C
Ovládací modul LCD Uber I2C
Ovládací modul LCD Uber I2C
Ovládací modul LCD Uber I2C
Ovládací modul LCD Uber I2C

Preambula

Tento návod podrobne popisuje, ako vytvoriť modul ovládača LCD HD44780 (obrázok 1 vyššie). Modul umožňuje užívateľovi programovo ovládať všetky aspekty LCD cez I2C, vrátane: LCD a displej, intenzita kontrastu a podsvietenia. Napriek tomu, že Arduino Uno R3 bol použitý na prototyp, bude fungovať rovnako dobre s akýmkoľvek mikrokontrolérom, ktorý podporuje I2C.

Úvod

Ako už bolo spomenuté vyššie, tento článok dokumentuje vytvorenie modulu I2C LCD radiča, pôvodne bol určený ako návrhové cvičenie s cieľom určiť, ako dlho bude trvať vytvorenie funkčného plošného spoja.

Dizajn nahrádza štandardný generický modul ovládača (obr. 3 vyššie) a čerpá z inštrukcií a knižníc, ktoré som vytvoril predtým.

Od počiatočného prototypu konceptu (obrázok 2 hore) po dokončený, plne testovaný PCB (obrázok 1 vyššie) trvalo celkom 5,5 dňa.

Aké diely potrebujem? Pozrite sa na nižšie priložený zoznam materiálov

Aký softvér potrebujem?

  • Arduino IDE 1.6.9,
  • Kicad v4.0.7, ak chcete upraviť DPS. V opačnom prípade stačí poslať 'LCD_Controller.zip' na JLCPCB.

Aké nástroje potrebujem?

  • Mikroskop najmenej x3 (na spájkovanie SMT),
  • Spájkovačka SMD (s perom na tekuté tavivo a spájkovačkou s tavnou náplňou),
  • Silná pinzeta (na spájkovanie SMT),
  • Jemné kliešte (špicaté a s nosom),
  • DMM so zvukovou kontrolou kontinuity.

Aké zručnosti potrebujem?

  • Veľa trpezlivosti,
  • Veľa manuálnej zručnosti a vynikajúca koordinácia ruka/oko,
  • Vynikajúce spájkovacie schopnosti.

Témy pokryté

  • Úvod
  • Prehľad obvodu
  • Výroba DPS
  • Prehľad softvéru
  • Testovanie dizajnu
  • Záver
  • Použité referencie

Krok 1: Prehľad obvodu

Prehľad obvodu
Prehľad obvodu

Kompletná schéma zapojenia všetkej elektroniky je uvedená na obrázku 1 vyššie a nižšie uvedené PDF.

Obvod bol navrhnutý tak, aby bol presnou náhradou štandardného modulu radiča LCD PCF8574A I2C s nasledujúcimi vylepšeniami;

  • I2C užívateľsky voliteľná kompatibilita 3v3 alebo 5v,
  • Digitálne ovládanie kontrastu alebo konvenčné nastavenie hrnca,
  • Variabilný výber intenzity podsvietenia s funkciou uľahčovania Quartic na dosiahnutie plynulého vyblednutia.

Ovládanie LCD displeja

Toto je faksimile štandardného modulu I2C LCD radiča využívajúceho PCF8574A (IC2) na konverziu I2C na paralelnú.

Predvolená adresa I2C je 0x3F.

Kompatibilita 3v3 alebo 5v I2C

Pre prevádzku 3v3 sa hodia Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 a C2.

Ak je potrebná prevádzka 5 V, nemontujte žiadne komponenty 3v3, nahraďte ich odpormi 0 Ohm ROpt 3 a 4.

Digitálny kontrast

Digitálne ovládanie kontrastu sa dosahuje použitím digitálneho potenciometra U2 MCP4561-103E/MS a C4, R5.

Ak je požadovaný konvenčný mechanický potenciometer, je možné ho namiesto U2, C4 a R5 namontovať na dosku plošných spojov RV1 10K. Kompatibilný potenciometer nájdete v časti BoM.

Premostením prepojky J6 je adresa I2C 0x2E. Predpokladalo sa, že pre normálnu prevádzku je to premostené.

Variabilný výber intenzity podsvietenia

Variabilná intenzita podsvietenia je riadená moduláciou PWM podsvietenia LCD LED pomocou kolíka U1 6 a ATTiny85. Aby bola zachovaná úplná kompatibilita so štandardným modulom I2C LCD Controller, R1, T1 R7 a T2 sa používajú na moduláciu kladnej napájacej lišty.

Predvolená adresa I2C je 0x08. Toto je voliteľné užívateľom v čase kompilácie pred programovaním U1.

Krok 2: Výroba DPS

Výroba DPS
Výroba DPS
Výroba DPS
Výroba DPS
Výroba DPS
Výroba DPS
Výroba DPS
Výroba DPS

Ako už bolo spomenuté, tento návod bol cvičením, ktorého hlavným cieľom bolo zistiť, ako dlho trvá dokončenie návrhu (ktorý mal praktický účel).

V tomto prípade som myslel na pôvodný koncept v sobotu popoludní a prototyp som dokončil do sobotného večera, obrázok 1 vyššie. Moja predstava, ako bolo uvedené, bolo vytvoriť vlastný variant modulu I2C LCD radiča s rovnakou stopou, ktorý ponúka úplné programové ovládanie LCD cez I2C.

Schematický diagram a rozloženie DPS boli vyvinuté pomocou programu Kicad v4.0.7, obrázky 2 a 3. Toto bolo dokončené v nedeľu popoludní a diely boli objednané od spoločnosti Farnell a doska plošných spojov bola do nedele večera nahraná do JLCPCB.

Komponenty dorazili z Farnell v stredu, potom vo štvrtok nasledovali PCB od JLCPCB (na urýchlenie som použil doručovaciu službu DHL) obrázky 4, 5, 6 a 7.

Vo štvrtok večer boli skonštruované a úspešne testované dve dosky (varianty 3v3 a 5v) na LCD displeji 4 x 20. Obrázky 8, 9 a 10.

Úžasných 5,5 dňa od počiatočného konceptu až po dokončenie.

Zaráža ma, ako rýchlo sú JLCPCB schopné prijať objednávku, vyrobiť obojstranný PTH PCB a odoslať ho do Veľkej Británie. Blistrové 2 dni na výrobu a 2 dni na dodanie. To je rýchlejšie ako v Británii vyrábané PCB a za zlomok ceny.

Krok 3: Prehľad softvéru

Prehľad softvéru
Prehľad softvéru
Prehľad softvéru
Prehľad softvéru

Existujú tri hlavné súčasti softvéru nevyhnutné na ovládanie modulu radiča I2C LCD;

1. Knižnica LiquidCrystal_I2C_PCF8574 Arduino

K dispozícii tu

Používa sa vo vašej skici Arduino na ovládanie LCD displeja.

Poznámka: Funguje to rovnako dobre s generickým ovládačom modulu LCD I2C. Iba to poskytuje funkcie ako ostatné knižnice.

2. Knižnica Arduino MCP4561_DIGI_POT

Používa sa vo vašej skici na programové ovládanie kontrastu LCD

K dispozícii tu

3. Programové ovládanie úrovní podsvietenia LCD pomocou funkcie PWM a Quartic easing, aby sa dosiahlo plynulé blednutie

Ako už bolo spomenuté, doska obsahuje jeden ATTiny85, ktorý sa používa na ovládanie postupného slabnutia podsvietenia displeja.

Podrobnosti o tomto softvéri sú uvedené v predchádzajúcom pokyne „Hladké PWM LED blednutie s ATTiny85“

V tomto prípade, aby boli konečné rozmery DPS rovnaké ako generický modul radiča LCD, bol zvolený variant SOIC ATTiny85. Obrázky 1 a 2 ukazujú, ako bol ATTiny85 SOIC naprogramovaný a testovaný v prototype.

Kód naprogramovaný do ATTiny85 bol „Tiny85_I2C_Slave_PWM_2.ino“dostupný tu

Podrobnosti o vytvorení vlastného programátora ATTiny85 nájdete v tomto návode „Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP“

Krok 4: Testovanie dizajnu

Testovanie dizajnu
Testovanie dizajnu
Testovanie dizajnu
Testovanie dizajnu

Na otestovanie dizajnu som vytvoril náčrt s názvom „LCDControllerTest.ino“, ktorý umožňuje používateľovi nastaviť akýkoľvek konkrétny parameter LCD priamo prostredníctvom pripojenia sériového terminálu.

Náčrt nájdete v mojom úložisku GitHub I2C-LCD-Controller-Module

Obrázok 1 vyššie zobrazuje doskový lis kompatibilný s 5v I2C namontovaný na LCD 4 x 20 a obrázok 2 na predvolené zobrazenie pri prvom spustení testovacieho kódu.

Na podsvietenie a kontrast používa nasledujúce predvolené hodnoty;

  • #define DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((bez znamienka) (10))
  • #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Zistil som, že fungujú dobre s LCD displejom 4 x 20, ktorý som mal voľne položený.

Krok 5: Záver

Keď som pred nejakým časom začínal v elektronickom/softvérovom priemysle, kládol som veľký dôraz na použitie konštrukcie z drôtu alebo veroboardu na prototypovanie s veľkým množstvom nadbytočného inžinierstva na koncovom okruhu v prípade, že ste urobili chybu. vzhľadom na cenu a trvanie opätovného roztočenia dosky.

Chyba vás zvyčajne stála niekoľko týždňov podľa plánu a znížila ziskové rozpätie (a možno aj vašu prácu).

DPS sa nazývalo „umelecké dielo“, pretože išlo skutočne o umelecké dielo. Vytvorené dvakrát v plnej veľkosti pomocou lepiacej čiernej krepovej pásky „stopovačom“alebo kresličom a fotograficky zmenšené fabrikou, aby fotografia odolávala šablónam.

Schémy zapojenia boli tiež vytvorené značkovačmi a nakreslené ručne z vašich poznámok k návrhu. Kópie boli vyhotovené foto staticky a nazývali sa „modré výtlačky“. Pretože mali vždy modrú farbu.

Mikroprocesory boli len v plienkach a boli typicky v obvode emulovanom, ak si to vaša spoločnosť mohla dovoliť so sprievodným komplexným a nákladným vývojovým prostredím.

V tom čase ako výrobcovi boli iba náklady na reťazec nástrojov na vývoj softvéru príliš vysoké, boli ste nevyhnutne nútení strčiť hexadecimálne hodnoty priamo do pamäte EPROM (RAM/Flash, ak ste mali veľké šťastie) a potom hodiny interpretovať výsledné správanie, aby ste zistili, čo váš kód robil, ak nefungoval podľa očakávania (bitové „krútenie“alebo sériový printf sú najobľúbenejšími technikami ladenia. Niektoré veci sa nikdy nezmenia). Spravidla ste museli písať všetky svoje vlastné knižnice, pretože žiadna nebola k dispozícii (určite neexistoval bohatý zdroj, akým je internet).

To znamenalo, že ste strávili veľa času snahou porozumieť tomu, ako niečo funguje, a menej času tvorivou tvorbou.

Všetky vaše diagramy boli ručne nakreslené, spravidla na formát A4 alebo A3, a museli byť dôkladne premyslené, aby mali logický tok signálnej cesty zľava doprava. Opravy zvyčajne znamenali, že musíte začať s novým listom.

Váš konečný obvod bol väčšinou vyvinutý s použitím veroboardu, aby bol trvanlivý a namontovaný v jednoduchom ABS kryte, aby mu dodal „profesionálny nádych“.

Naopak, celý tento projekt som vyvinul za 5,5 dňa pomocou vysoko kvalitného bezplatného softvéru, ktorého výsledkom je profesionálna štandardná doska plošných spojov. Ak by ma túžba vzala, mohol by som ju namontovať do 3D tlačenej škatule vlastnej výroby.

Niečo, o čom ste mohli len snívať pred menej ako desaťročím.

Ako sa veci zmenili k lepšiemu.

Krok 6: Použité referencie

Schéma snímania KiCAD a návrh DPS

KiCAD EDA

Nástroj na vývoj softvéru Arduino ORG

Arduino

Knižnica LiquidCrystal_I2C_PCF8574 Arduino

Tu

MCP4561_DIGI_POT Knižnica Arduino

Tu

Hladké blednutie LED PWM s ATTiny85

Tu

Programovanie ATTiny85, ATTiny84 a ATMega328P: Arduino ako ISP

Odporúča: