Përmbajtje:
- Hapi 1: Vështrim i qarkut
- Hapi 2: Prodhimi i PCB
- Hapi 3: Vështrim i përgjithshëm i softuerit
- Hapi 4: Testimi i dizajnit
- Hapi 5: Përfundimi
- Hapi 6: Referencat e përdorura
Video: Moduli i Uber I2C Controller LCD: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
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
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
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
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
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:
Ekran LCD I2C / IIC - Përdorni një ekran SPI në ekranin LCD I2C duke përdorur modulin SPI në IIC me Arduino: 5 hapa
Ekran LCD I2C / IIC | Përdorni një ekran SPI në ekranin LCD I2C Duke përdorur modulin SPI në IIC Me Arduino: Përshëndetje djema pasi një SPI LCD 1602 normal ka shumë tela për t'u lidhur, kështu që është shumë e vështirë ta ndërlidhni me arduino, por ekziston një modul i disponueshëm në treg i cili mund të shndërroni ekranin SPI në ekranin IIC kështu që atëherë ju duhet të lidhni vetëm 4 tela
Moduli Mburoja e tastierës 1602 LCD me çantë shpine I2C: 6 hapa
1602 Moduli i Mburojës së Tastierës LCD me Çantën I2C: Si pjesë e një projekti më të madh, doja të kisha një ekran LCD dhe një tastierë për lundrimin e disa menutë të thjeshta. Unë do të përdor shumë porte I/O në Arduino për punë të tjera, kështu që doja një ndërfaqe I2C për LCD. Kështu që unë bleva disa pajisje,
Ekran LCD I2C / IIC - Shndërroni një ekran SPI në ekranin LCD I2C: 5 hapa
Ekran LCD I2C / IIC | Shndërroni një ekran SPI në ekranin LCD I2C: përdorimi i ekranit spi LCD kërkon shumë lidhje për të bërë, gjë që është vërtet e vështirë për ta bërë, kështu që gjeta një modul që mund të konvertojë LCD i2c në spi LCD, kështu që le të fillojmë
Moduli RF 433MHZ - Bëni marrës dhe transmetues nga moduli 433MHZ RF pa asnjë mikrokontrollues: 5 hapa
Moduli RF 433MHZ | Bëni Marrës dhe Transmetues Nga Moduli RF 433MHZ Pa Asnjë Mikrokontrollues: Dëshironi të dërgoni të dhëna pa tel? lehtë dhe pa mikrokontrollues të nevojshëm? Këtu po shkojmë, në këtë udhëzues do t'ju tregoj transmetuesin dhe marrësin tim bazë të rf gati për t'u përdorur! Në këtë udhëzues ju mund të dërgoni dhe merrni të dhëna duke përdorur shumë ver
Moduli Multiplekser TCA9548A I2C - Me Arduino dhe NodeMCU: 11 hapa
Moduli Multiplekser TCA9548A I2C - Me Arduino dhe NodeMCU: A keni hasur ndonjëherë në një situatë ku ju është dashur të lidhni dy, tre ose më shumë Sensorë I2C në Arduino tuaj vetëm për të kuptuar se sensorët kanë një adresë I2C fikse ose të njëjtë. Për më tepër, nuk mund të keni dy pajisje me të njëjtën adresë në të njëjtën SDA/