Sadržaj:
- Korak 1: Pregled kruga
- Korak 2: Proizvodnja PCB -a
- Korak 3: Pregled softvera
- Korak 4: Testiranje dizajna
- Korak 5: Zaključak
- Korak 6: Korištene reference
Video: Uber I2C LCD upravljački modul: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Preambula
U ovom Uputu detaljno je opisano kako stvoriti upravljački modul temeljen na HD44780 LCD -u (slika 1 gore). Modul omogućuje korisniku programsku kontrolu nad svim aspektima LCD -a preko I2C, što obuhvaća; LCD i zaslon, kontrast i pozadinsko osvjetljenje. Iako je Arduino Uno R3 korišten za izradu prototipa, jednako će dobro funkcionirati sa bilo kojim mikrokontrolerom koji podržava I2C.
Uvod
Kao što je gore spomenuto, ovaj članak dokumentira stvaranje I2C LCD upravljačkog modula, prvenstveno je zamišljen kao vježba projektiranja kako bi se utvrdilo koliko će vremena trebati za stvaranje praktične radne ploče.
Dizajn zamjenjuje standardni generički upravljački modul (slika 3 gore) i oslanja se na instrukcije i knjižnice koje sam ranije proizveo.
Od početnog prototipa koncepta (slika 2 gore) do dovršenog, potpuno testiranog PCB -a (slika 1 gore) prošlo je ukupno 5,5 dana.
Koji dijelovi su mi potrebni? Pogledajte dolje priloženi materijal
Koji softver mi treba?
- Arduino IDE 1.6.9,
- Kicad v4.0.7 ako želite izmijeniti PCB. U suprotnom samo pošaljite 'LCD_Controller.zip' JLCPCB -u.
Koji su mi alati potrebni?
- Mikroskop najmanje x3 (za SMT lemljenje),
- SMD lemilica (s olovkom za tekući fluks i lemljenjem sa jezgrom od fluksa),
- Jaka pinceta (za SMT lemljenje),
- Kliješta za fino rezanje (šiljasti i kvrgavi nos),
- DMM sa zvučnom provjerom kontinuiteta.
Koje vještine su mi potrebne?
- Puno strpljenja,
- Velika ručna spretnost i izvrsna koordinacija ruku i očiju,
- Izvrsne vještine lemljenja.
Tema završena
- Uvod
- Pregled kruga
- Proizvodnja PCB -a
- Pregled softvera
- Testiranje dizajna
- Zaključak
- Korištene reference
Korak 1: Pregled kruga
Potpuni dijagram sve elektronike dat je na slici 1 gore, zajedno s PDF -om iste ispod.
Krug je dizajniran da bude točna zamjena za standardni PCF8574A I2C LCD upravljački modul sa sljedećim poboljšanjima;
- I2C kompatibilnost 3v3 ili 5v po izboru korisnika,
- Digitalna kontrola kontrasta ili konvencionalna postavka lonca,
- Promjenjivi intenzitet pozadinskog svjetla s kontrolom funkcije kvarcnog ublažavanja za postizanje glatkog blijeđenja.
Upravljanje LCD zaslonom
Ovo je faksimil standardnog I2C LCD upravljačkog modula koji koristi PCF8574A (IC2) za paralelnu konverziju I2C.
Zadana I2C adresa za ovo je 0x3F.
Kompatibilnost 3v3 ili 5v I2C
Za 3v3 rad odgovaraju Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 i C2.
Ako je potreban rad na 5v, nemojte uklapati nikakve komponente 3v3, zamijenivši ih otpornicima 0 Ohma ROpt 3 i 4.
Digitalni kontrast
Digitalna kontrola kontrasta postiže se upotrebom digitalnog potenciometra U2 MCP4561-103E/MS i C4, R5.
Ako je potreban konvencionalni mehanički potenciometar, može se postaviti na PCB, RV1 10K, umjesto U2, C4 i R5. Za kompatibilni potenciometar pogledajte BoM.
Premošćivanjem skakača J6 adresa I2C je 0x2E. Pretpostavljalo se da je za normalan rad to premošteno.
Promjenjivi intenzitet pozadinskog svjetla
Promjenjivi intenzitet pozadinskog svjetla kontrolira se PWM modulacijom LCD LED pozadinskog svjetla putem U1 pina 6 i ATTiny85. Kako bi se zadržala potpuna kompatibilnost sa standardnim I2C LCD upravljačkim modulom, moduli R1, T1 R7 i T2 koriste se za moduliranje +ve opskrbne šine.
Zadana I2C adresa za ovo je 0x08. Ovo može birati korisnik, u vrijeme kompajliranja prije programiranja U1.
Korak 2: Proizvodnja PCB -a
Kao što je ranije spomenuto, ovaj Instructable bio je vježba, prvenstveno namijenjena određivanju koliko će vremena trebati za dovršetak dizajna (koji je imao praktičnu svrhu).
U ovom slučaju razmišljao sam o početnom konceptu u subotu popodne i završio prototip do slike 1 u subotu navečer. Moja je ideja, kako je navedeno, bila stvoriti vlastitu varijantu I2C LCD upravljačkog modula, s identičnom površinom, koja nudi potpunu programsku kontrolu LCD -a nad I2C.
Shematski dijagram i izgled PCB -a razvijeni su s Kicad v4.0.7 slikama 2 i 3. Ovo je završeno u nedjelju popodne, a dijelovi su naručeni od Farnella, a PCB je postavljen na JLCPCB do nedjelje navečer.
Komponente su stigle iz Farnella u srijedu, a nakon njih PCB -ovi iz JLCPCB -a u četvrtak (koristio sam DHL dostavnu službu da ubrzam stvari) slike 4, 5, 6 i 7.
Do četvrtka navečer dvije su ploče (varijante 3v3 i 5v) konstruirane i uspješno testirane na LCD ekranu 4 x 20. Slike 8, 9 i 10.
Nevjerojatnih 5,5 dana od početnog koncepta do završetka.
Zapanjuje me koliko brzo JLCPCB može prihvatiti narudžbu, proizvesti dvostranu PTH PCB i poslati je u Veliku Britaniju. Mjehurići od 2 dana za proizvodnju i 2 dana za isporuku. Ovo je brže od proizvođača PCB -a u Velikoj Britaniji i uz mali dio cijene.
Korak 3: Pregled softvera
Postoje tri glavna sastavna dijela softvera potrebna za upravljanje modulom I2C LCD kontrolera;
1. LiquidCrystal_I2C_PCF8574 Arduino knjižnica
Dostupno ovdje
Koristit će se na Arduino skici za upravljanje LCD zaslonom.
Napomena: Ovo podjednako dobro funkcionira s općenitim kontrolerom I2C LCD modula. Samo što daje daje funkcionalnost od ostalih knjižnica.
2. MCP4561_DIGI_POT Arduino knjižnica
Koristit će se u skici za programsko upravljanje kontrastom LCD -a
Dostupno ovdje
3. Programska kontrola razine pozadinskog osvjetljenja LCD -a pomoću PWM -a i funkcije kvarcnog ublažavanja radi postizanja glatkog blijeđenja
Kao što je ranije spomenuto, ploča sadrži jedan ATTiny85 koji se koristi za kontrolu postupnog blijeđenja pozadinskog osvjetljenja zaslona.
Pojedinosti o ovom softveru date su u ranijim uputama "Glatko PWM LED blijeđenje s ATTiny85"
U ovom slučaju, kako bi konačne dimenzije PCB -a ostale iste kao generički LCD upravljački modul, odabrana je SOIC varijanta ATTiny85. Slike 1 i 2 pokazuju kako je ATTiny85 SOIC programiran i testiran u postavljenom prototipu.
Kod programiran u ATTiny85 bio je 'Tiny85_I2C_Slave_PWM_2.ino' dostupan ovdje
Za detalje o tome kako stvoriti vlastiti programer ATTiny85 pogledajte ovo uputstvo "Programiranje ATTiny85, ATTiny84 i ATMega328P: Arduino kao ISP"
Korak 4: Testiranje dizajna
Za testiranje dizajna stvorio sam skicu pod nazivom 'LCDControllerTest.ino' koja omogućuje korisniku da postavi bilo koji LCD parametar izravno preko veze serijskog terminala.
Skica se može pronaći u mojem GitHub spremištu I2C-LCD-Controller-Module
Slika 1 gore prikazuje prešu za ploču kompatibilnu s 5v I2C, montiranu na LCD 4 x 20, a slika 2 zadani zaslon pri prvom izvođenju testnog koda.
Koristi sljedeće zadane vrijednosti za pozadinsko osvjetljenje i kontrast;
- #define DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((bez potpisa dugo) (10))
- #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))
Otkrio sam da oni dobro funkcioniraju s LCD zaslonom dimenzija 4 x 20 koji sam ostavio na miru.
Korak 5: Zaključak
Kad sam tek prije dosta vremena započeo s elektroničkom/softverskom industrijom, bio je veliki naglasak na korištenju žičane ili veroboard ploče za izradu prototipova s puno prekomjernog inženjeringa na završnom krugu u slučaju da ste pogriješili, s obzirom na cijenu i trajanje ponovnog okretanja ploče.
Pogreška vas je obično koštala nekoliko tjedana na rasporedu i pokvarila je profitnu maržu (a možda i vaš posao).
PCB -i su nazivani "umjetničkim djelima", jer su uistinu bili umjetnička djela. Stvoreno dva puta u punoj veličini pomoću ljepljive crne krep trake od strane 'tragača' ili osobe koja vodi crteže, a fotografijom ga je umanjila kućica kako bi fotografija odoljela šablonama.
Dijagrame kola također su stvorili alati za praćenje i ručno izvukli iz vaših bilješki o dizajnu. Kopije su napravljene fotostatički i nazvane su „plavi otisci“. Budući da su uvijek bile plave boje.
Mikrokontroleri su bili tek u povojima i obično su bili u strujnom krugu oponašani ako bi vaša tvrtka mogla priuštiti jedan s pratećim složenim i skupim razvojnim okruženjem.
Kao tadašnjem proizvođaču, sami troškovi lanca alata za razvoj softvera bili su previsoki, neizbježno ste bili prisiljeni ubaciti heksadecimalne vrijednosti izravno u EPROM (RAM/Flash ako ste imali sreće), a zatim sate tumačite kako bi nastalo ponašanje utvrdilo vaš kôd je radio ako nije radio kako se očekivalo (bit 'wiggling' ili serijski printf su najpopularnije tehnike ispravljanja pogrešaka. Neke se stvari nikad ne mijenjaju). Obično ste morali napisati sve vlastite knjižnice jer nijedna nije bila dostupna (zasigurno nije bilo bogatog izvora poput interneta).
To je značilo da ste proveli puno vremena pokušavajući shvatiti kako nešto funkcionira, a manje vremena stvarali.
Svi vaši dijagrami su ručno nacrtani, obično na A4 ili A3 i morali su biti dobro promišljeni, dajući im logičan tok putanje signala slijeva nadesno. Ispravke su obično značile da morate početi sa svježim listom.
Završni krug je većim dijelom razvijen korištenjem veroboard -a za trajnost i montiran u jednostavno ABS kućište kako bi mu se dao onaj "profesionalni dodir".
Za razliku od toga, razvio sam cijeli ovaj projekt za 5,5 dana koristeći visokokvalitetni besplatni softver što je rezultiralo profesionalnim standardnim PCB -om. Da me je želja obuzela, mogla sam je ugraditi u 3D tiskanu kutiju vlastite izrade.
Nešto o čemu ste mogli sanjati prije manje od deset godina.
Kako su se stvari promijenile na bolje.
Korak 6: Korištene reference
KiCAD Shematski hvatanje i dizajn PCB -a
KiCAD EDA
Arduino ORG alat za razvoj softvera
Arduino
LiquidCrystal_I2C_PCF8574 Arduino knjižnica
Ovdje
MCP4561_DIGI_POT Arduino knjižnica
Ovdje
Glatko PWM LED blijeđenje s ATTiny85
Ovdje
Programiranje ATTiny85, ATTiny84 i ATMega328P: Arduino kao ISP
Preporučeni:
Kako napraviti statički LCD upravljački program s I²C sučeljem: 12 koraka
Kako napraviti statički LCD upravljački program s I²C sučeljem: Zasloni s tekućim kristalima (LCD) široko se koriste u komercijalnim i industrijskim aplikacijama zbog svojih dobrih vizualnih svojstava, niske cijene i niske potrošnje energije. Ova svojstva čine LCD standardnim rješenjem za uređaje na baterije
Upravljački modul prekidača Raspberry Pi ATX PSU sklopke: 3 koraka
Upravljački modul prekidača Raspberry Pi ATX PSU sklopke: U sustavu koji se sastoji od RaspberryPi -a koji se napaja ATX jedinicom za napajanje, cilj ovog kruga je omogućiti uključivanje ili isključivanje sustava jednim pritiskom na gumb. Ovaj je vodič razvijen od sitelec.org
I2C / IIC LCD zaslon - Upotrijebite SPI LCD za I2C LCD zaslon Korištenje SPI do IIC modula s Arduinom: 5 koraka
I2C / IIC LCD zaslon | Upotrijebite SPI LCD na I2C LCD zaslonu Korištenje SPI na IIC modula s Arduinom: Zdravo dečki, budući da normalni SPI LCD 1602 ima previše žica za povezivanje pa je vrlo teško povezati ga s arduinom, ali na tržištu postoji jedan modul koji može pretvoriti SPI zaslon u IIC zaslon pa morate spojiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD u I2C LCD zaslon: 5 koraka
I2C / IIC LCD zaslon | Pretvorite SPI LCD u I2C LCD zaslon: za korištenje spi lcd zaslona potrebno je previše povezivanja, što je zaista teško učiniti pa sam pronašao modul koji može pretvoriti i2c lcd u spi lcd pa krenimo
DIY laserski upravljački modul za Arduino: 14 koraka (sa slikama)
DIY laserski upravljački modul za Arduino: U ovom Instructable-u pokazat ću konstrukciju dvoosnog, jednozrcalnog upravljačkog modula laserskog snopa pomoću 3D ispisanih dijelova i jeftinih komponenti s eBay-a. Ovaj projekt ima sličnosti s Arduino Laser Show s Full XY Kontrolirajte