Përmbajtje:

Moduli i Uber I2C Controller LCD: 6 hapa
Moduli i Uber I2C Controller LCD: 6 hapa

Video: Moduli i Uber I2C Controller LCD: 6 hapa

Video: Moduli i Uber I2C Controller LCD: 6 hapa
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Nëntor
Anonim
Moduli i kontrolluesit Uber I2C LCD
Moduli i kontrolluesit Uber I2C LCD
Moduli i kontrolluesit Uber I2C LCD
Moduli i kontrolluesit Uber I2C LCD
Moduli i kontrolluesit Uber I2C LCD
Moduli i kontrolluesit Uber I2C LCD

Parathënie

Ky udhëzues detajon se si të krijoni një modul kontrollues të bazuar në HD44780 LCD (figura 1 më lart). Moduli i lejon përdoruesit të kontrollojë të gjitha aspektet e LCD -së në mënyrë programore mbi I2C, duke përfshirë; LCD dhe ekran, kontrast dhe intensiteti i dritës së pasme. Edhe pse Arduino Uno R3 u përdor për ta prototipuar atë, ai do të funksionojë njësoj mirë me çdo mikrokontrollues që mbështet I2C.

Prezantimi

Siç u përmend më lart ky artikull dokumenton krijimin e një Moduli Kontrolluesi LCD I2C, ai ishte menduar kryesisht si një ushtrim projektimi për të përcaktuar se sa kohë do të duhej për të krijuar një PCB praktike të punës.

Dizajni zëvendëson modulin standard të përgjithshëm të kontrolluesit (figura 3 më lart) dhe mbështetet në Instructables dhe bibliotekat që kam prodhuar më herët.

Nga prototipi i konceptit fillestar (figura 2 më lart) deri në PCB të përfunduar, plotësisht të testuar (figura 1 më lart) u deshën gjithsej 5.5 ditë.

Cilat pjesë më duhen? Shih faturën e materialeve të bashkangjitura më poshtë

Çfarë programi më nevojitet?

  • Arduino IDE 1.6.9,
  • Kicad v4.0.7 nëse doni të modifikoni PCB. Përndryshe, thjesht dërgoni 'LCD_Controller.zip' në JLCPCB.

Çfarë mjetesh më duhen?

  • Mikroskop të paktën x3 (për bashkim SMT),
  • SMD hekuri i saldimit (me stilolaps fluksi të lëngshëm dhe saldim me bërthamë fluksi),
  • Piskatore të forta (për bashkim SMT),
  • Pincë të imëta (me majë dhe hundë),
  • DMM me kontroll të vazhdueshëm të dëgjueshëm.

Çfarë aftësish më duhen?

  • Shumë durim,
  • Një shkathtësi e madhe manuale dhe koordinim i shkëlqyer i dorës/syve,
  • Aftësi të shkëlqyera të saldimit.

Temat e mbuluara

  • Prezantimi
  • Vështrim i qarkut
  • Prodhim PCB
  • Pasqyrë e softuerit
  • Testimi i Dizajnit
  • Përfundim
  • Referencat e përdorura

Hapi 1: Vështrim i qarkut

Vështrim i qarkut
Vështrim i qarkut

Një diagram qarkor i plotë i të gjithë pajisjeve elektronike është dhënë në figurën 1 më sipër, së bashku me një PDF të së njëjtës më poshtë.

Qarku u krijua për të qenë një zëvendësim i saktë për modulin standard të kontrolluesit PCF8574A I2C LCD me përmirësimet e mëposhtme;

  • Përputhshmëri e zgjedhur nga përdoruesi I2C 3v3 ose 5v,
  • Kontrolli dixhital i kontrastit ose vendosja konvencionale e tenxhere,
  • Zgjedhje e ndryshueshme e intensitetit të dritës së pasme me kontroll të funksionit lehtësues kuartik për të arritur zbehje të qetë.

Kontrolli i ekranit LCD

Ky është një faksimile e Modulit standard të I2C LCD Controller që përdor një PCF8574A (IC2) për I2C në konvertim paralel.

Adresa e paracaktuar e I2C për këtë është 0x3F.

Përputhshmëria 3v3 ose 5v I2C

Për funksionimin 3v3 përshtaten Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 dhe C2.

Nëse kërkohet funksionim 5v, atëherë mos i përshtatni asnjë përbërësi 3v3, duke i zëvendësuar ato me rezistorë 0 Ohm ROpt 3 dhe 4.

Kontrast dixhital

Kontrolli dixhital i kontrastit arrihet përmes përdorimit të një potenciometri dixhital U2 MCP4561-103E/MS dhe C4, R5.

Nëse kërkohet një potenciometër mekanik konvencional, atëherë ai mund të vendoset në PCB, RV1 10K, në vend të U2, C4 dhe R5. Shihni BoM për potenciometër të pajtueshëm.

Duke tejkaluar kërcyesin J6 adresa I2C është 0x2E. Supozohej se për funksionimin normal kjo është e kapërcyer.

Zgjedhje e ndryshueshme e intensitetit të dritës së pasme

Intensiteti i ndryshueshëm i dritës së pasme kontrollohet nga modulimi PWM i dritës së pasme të LED LED përmes U1 pin 6 a ATTiny85. Për të ruajtur pajtueshmërinë e plotë me modulin standard të kontrolluesit LCD I2C R1, T1 R7 dhe T2 përdoren për të moduluar hekurudhën e furnizimit +ve.

Adresa e paracaktuar e I2C për këtë është 0x08. Kjo mund të zgjidhet nga përdoruesi, në kohën e përpilimit para programimit U1.

Hapi 2: Prodhimi i PCB

Prodhim PCB
Prodhim PCB
Prodhim PCB
Prodhim PCB
Prodhim PCB
Prodhim PCB
Prodhim PCB
Prodhim PCB

Siç u përmend më herët, ky udhëzues ishte një ushtrim, i synuar kryesisht për të përcaktuar se sa kohë do të duhej për të përfunduar një dizajn (i cili kishte një qëllim praktik).

Në këtë rast, unë mendova për konceptin fillestar të shtunën pasdite dhe kisha përfunduar prototipin deri në mbrëmjen e së shtunës, fotografia 1 më sipër. Ideja ime siç u tha, ishte të krijoja variantin tim të modulit të kontrolluesit I2C LCD, me një gjurmë identike, duke ofruar kontroll të plotë programor të LCD -së mbi I2C.

Diagrami skematik dhe paraqitja e PCB u zhvilluan me fotot 2 dhe 3. të Kicad v4.0.7. Kjo u përfundua të dielën pasdite dhe pjesët u porositën nga Farnell dhe PCB u ngarkua në JLCPCB të Dielën në mbrëmje.

Komponentët mbërritën nga Farnell të Mërkurën, e ndjekur nga PCB -të nga JLCPCB të enjten (kam përdorur shërbimin e shpërndarjes DHL për të shpejtuar gjërat) fotot 4, 5, 6 dhe 7.

Deri në mbrëmjen e së enjtes dy tabela (variante 3v3 dhe 5v) ishin ndërtuar dhe testuar me sukses në një ekran LCD 4 me 20. Fotografitë 8, 9 dhe 10.

Një 5.5 ditë mahnitëse nga koncepti fillestar deri në përfundim.

Më mahnit se sa shpejt JLCPCB janë në gjendje të marrin një porosi, të prodhojnë një PCB të dyanshme PTH dhe ta dërgojnë atë në MB. Një blistering 2 ditë për prodhimin dhe 2 ditë për të ofruar. Kjo është më e shpejtë se prodhuesit e PCB me bazë në Mbretërinë e Bashkuar dhe me një pjesë të çmimit.

Hapi 3: Vështrim i përgjithshëm i softuerit

Pasqyrë e softuerit
Pasqyrë e softuerit
Pasqyrë e softuerit
Pasqyrë e softuerit

Ekzistojnë tre pjesë përbërëse kryesore të softuerit të nevojshëm për të kontrolluar modulin e kontrolluesit I2C LCD;

1. LiquidCrystal_I2C_PCF8574 Biblioteka Arduino

Në dispozicion këtu

Për t'u përdorur në skicën tuaj Arduino për të kontrolluar ekranin LCD.

Shënim: Kjo funksionon njësoj mirë me Kontrolluesin e Modulit Generic I2C LCD. Vetëm ajo jep jep funksionalitet se bibliotekat e tjera.

2. Biblioteka MCP4561_DIGI_POT Arduino

Për t'u përdorur në skicën tuaj për të kontrolluar në mënyrë programore kontrastin LCD

Në dispozicion këtu

3. Kontrolli programatik i niveleve të dritës së pasme të LCD duke përdorur PWM dhe funksionin lehtësues kuartik për të arritur zbehje të qetë

Siç u përmend më herët, bordi përmban një ATTiny85 të vetëm të përdorur për të kontrolluar zbehjen graduale të dritës së pasme të ekranit.

Detajet e këtij programi jepen në një udhëzues të mëparshëm "Zbutja e Qetë e PWM LED me ATTiny85"

Në këtë rast, për të mbajtur dimensionet përfundimtare të PCB -së të njëjta me një modul të përgjithshëm të kontrolluesit LCD, u zgjodh varianti SOIC i ATTiny85. Fotografitë 1 dhe 2 tregojnë se si ATTiny85 SOIC u programua dhe u testua në prototipin e ngritur.

Kodi i programuar në ATTiny85 ishte 'Tiny85_I2C_Slave_PWM_2.ino' i disponueshëm këtu

Për detaje se si të krijoni programuesin tuaj ATTiny85 shihni këtë udhëzues "Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP"

Hapi 4: Testimi i dizajnit

Testimi i Dizajnit
Testimi i Dizajnit
Testimi i Dizajnit
Testimi i Dizajnit

Për të testuar modelin, unë krijova një skicë të quajtur 'LCDControllerTest.ino' e cila i lejon përdoruesit të vendosë çdo parametër specifik LCD drejtpërdrejt mbi një lidhje terminale seriale.

Skica mund të gjendet në depon time GitHub I2C-LCD-Controller-Module

Figura 1 më sipër tregon shtypësin e bordit në përputhje me 5v I2C të pajisur në një LCD 4 me 20 dhe figura 2 shfaq ekranin e paracaktuar kur ekzekutoni kodin e provës për herë të parë.

Ai përdor vlerat e mëposhtme të paracaktuara për dritën e pasme dhe kontrastin;

  • #përcakto DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((pa shenjë të gjatë) (10))
  • #përcakto DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Kam gjetur se këto funksionojnë mirë me ekranin LCD me 4 nga 20 që kisha të shtrirë në këmbim.

Hapi 5: Përfundimi

Kur fillova për herë të parë në industrinë e elektronikës/softuerit shumë kohë më parë tani, kishte theks të madh në përdorimin e mbështjelljes me tela ose konstruksionit të veroboard për prototipimin me shumë inxhinieri të tepërt në qarkun përfundimtar në rast se kishit bërë një gabim, duke pasur parasysh koston dhe kohëzgjatjen e një rrotullimi të një bordi.

Një gabim zakonisht ju kushton disa javë sipas orarit dhe fryn marzhin e fitimit (dhe ndoshta punën tuaj).

PCB -të u quajtën 'vepra arti', sepse ishin vërtet vepra arti. Krijuar dy herë në madhësi të plotë duke përdorur shirit ngjitës të zezë të krepave nga një 'gjurmues' ose person draughts dhe i zvogëluar fotografikisht nga shtëpia e fabrikës për ta bërë foton t'i rezistojë klisheve.

Diagramet e qarkut u krijuan gjithashtu nga gjurmuesit dhe u tërhoqën me dorë nga shënimet tuaja të projektimit. Kopjet u bënë foto-statike dhe u quajtën 'printime blu'. Sepse ato kishin një ngjyrë të pandryshueshme blu.

Mikrokontrolluesit ishin vetëm në fillimet e tyre dhe zakonisht ishin të emuluar në qark nëse kompania juaj mund të përballonte një të tillë me mjedisin shoqërues dhe të shtrenjtë të zhvillimit.

Si krijues në atë kohë, kostoja e thjeshtë e zinxhirit të veglave të zhvillimit të softuerit ishte e ndaluar, ju u detyruat në mënyrë të pashmangshme të futni vlerat gjashtëkëndore drejtpërdrejt në EPROM (RAM/Flash nëse keni qenë me shumë fat) pastaj kaloni orë të tëra duke interpretuar sjelljen rezultuese për të përcaktuar se çfarë kodi juaj po bënte nëse nuk funksiononte siç pritej (pak 'tundja' ose printimi serik janë teknikat më të njohura të korrigjimit. Disa gjëra nuk ndryshojnë kurrë). Zakonisht ju është dashur të shkruani të gjitha bibliotekat tuaja pasi asnjëra nuk ishte e disponueshme (sigurisht që nuk kishte asnjë burim të pasur si interneti).

Kjo do të thoshte që ju kaluat shumë kohë duke u përpjekur të kuptoni se si funksionoi diçka dhe kaluat më pak kohë në mënyrë krijuese.

Të gjitha diagramet tuaja u vizatuan me dorë, zakonisht në A4 ose A3 dhe duheshin menduar mirë, duke u dhënë atyre një rrjedhë logjike të rrugës së sinjalit nga e majta në të djathtë. Korrigjimet zakonisht nënkuptonin që ju duhej të fillonit me një fletë të freskët.

Në pjesën më të madhe qarku juaj përfundimtar u zhvillua duke përdorur veroboard për qëndrueshmëri dhe u montua në një rrethim të thjeshtë ABS për t'i dhënë atij "prekjen profesionale".

Në kontrast të thellë, unë e zhvillova të gjithë këtë projekt në 5.5 ditë duke përdorur një freeware me cilësi të lartë duke rezultuar në një PCB standarde profesionale. Nëse do të më kishte marrë dëshira, mund ta kisha montuar në një kuti të printuar 3D të bërë nga unë.

Diçka që mund të kishit ëndërruar më pak se një dekadë më parë.

Si kanë ndryshuar gjërat për mirë.

Hapi 6: Referencat e përdorura

KiCAD Kapja skematike dhe dizajni i PCB

KiCAD EDA

Mjeti i Zhvillimit të Softuerëve Arduino ORG

Arduino

LiquidCrystal_I2C_PCF8574 Biblioteka Arduino

Këtu

MCP4561_DIGI_POT Biblioteka Arduino

Këtu

Zbutja e lëmuar PWM LED Me ATTiny85

Këtu

Programimi i ATTiny85, ATTiny84 dhe ATMega328P: Arduino Si ISP

Recommended: