Satura rādītājs:

1602 LCD tastatūras vairoga modulis ar I2C mugursomu: 6 soļi
1602 LCD tastatūras vairoga modulis ar I2C mugursomu: 6 soļi

Video: 1602 LCD tastatūras vairoga modulis ar I2C mugursomu: 6 soļi

Video: 1602 LCD tastatūras vairoga modulis ar I2C mugursomu: 6 soļi
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Jūlijs
Anonim
1602 LCD tastatūras vairoga modulis ar I2C mugursomu
1602 LCD tastatūras vairoga modulis ar I2C mugursomu

Lielāka projekta ietvaros es vēlējos, lai būtu LCD displejs un tastatūra dažu vienkāršu izvēlņu navigācijai. Es izmantošu daudzus Arduino I/O portus citiem darbiem, tāpēc es gribēju LCD I2C saskarni. Tāpēc es nopirku aparatūru, kas sastāv no 1602 LCD tastatūras vairoga moduļa no DFRobot un anonīma I2C sērijas moduļa LCD. Es vēlos tos izmantot ar Arduino Nano. Tad es atklāju, ka ir dažas problēmas, lai šīs sastāvdaļas darbotos kopā - bet tas ir iespējams. Tāpēc es vēlos dalīties savā pieredzē un varbūt palīdzēt citiem.

Šis fotoattēls ir no darba maizes dēļa, kas var parādīt ziņojumus LCD un identificēt taustiņu nospiešanu. LCD tiek kontrolēts, izmantojot I2C saskarni, ieskaitot LCD fona apgaismojumu. Taustiņu nospiešanu Arduino saņem uz tapas A0 (tā var būt jebkura no analogām tapām, izņemot A4 un A5, kas ir piesaistītas I2C saskarnei).

1. darbība. Daļu apraksts - LCD tastatūras vairoga modulis

Daļu apraksts - LCD tastatūras vairoga modulis
Daļu apraksts - LCD tastatūras vairoga modulis

LCD tastatūras vairoga modulis sastāv no parasti lietotā 1602 LCD, kas uzstādīts uz shēmas plates, kurā atrodas atslēgas, augšpusē, un kas paņem LCD savienojumu apakškopu un padara tos pieejamus galvenes tapām shēmas plates apakšpusē. Es saprotu, ka šo dēli ir paredzēts uzstādīt uz Arduino Uno vai līdzīga materiāla, un tas nodrošina pareizo tapu izkārtojumu, lai tas darbotos šajā vidē. Es nopirku šo moduli ebay no pārdevēja Ķīnā. Galvenes tapas tāfeles apakšējā (tastatūras) pusē lielākoties ir marķētas, bet tapas augšējā pusē, kas ir LCD saskarne, nav marķētas. Tomēr LCD tapas ir marķētas.

2. darbība. Daļu apraksts - I2C sērijas modulis

Daļu apraksts - I2C sērijas modulis
Daļu apraksts - I2C sērijas modulis

Sērijas modulim ir parastā I2C 4 kontaktu galvene, un nemarķētu galvenes tapu komplekts, ko es saprotu, ir paredzēts pieslēgt tieši LCD moduļa apakšai. Pētot etiķetes uz LCD, man izdevās noteikt seriālā moduļa tapu funkcijas.

Šī moduļa pamatā ir IC PCF8574T, kas pārtrauc I2C protokolu, tam ir 3 tapas adrešu kontrolei (no 20 līdz 27) un 8 digitālās ieejas/izejas tapas no P0 līdz P7. Saskaņā ar PCF8574T datu lapu, katrai I/O tapai ir FET, lai to novilktu zemē zemam stāvoklim, un tā var nogrimt vismaz 20 mA. Augstā stāvoklī tam ir pārejoša aktīva pievilkšanās un pēc tam nepārtraukta pievilkšanas strāva aptuveni 0,1 mA.

Šajā modulī visas digitālās I/O tapas, izņemot P3, tiek vienkārši iznestas uz galvenes tapām (fotoattēla labajā pusē). P3 gadījumā tas ir savienots ar tranzistora pamatni (redzams fotoattēlā augšējā labajā stūrī tieši zem etiķetes "LED"). Šī tranzistora emitētājs ir pievienots Vss (zemei), un kolektors ir pievienots galvenes tapai 16, kur to var izmantot, lai kontrolētu LCD apgaismojumu. Tranzistora dēļ loģiskais stāvoklis ir apgriezts salīdzinājumā ar programmatūras bibliotēkā pieņemto. Tas ir, LCD fona apgaismojums ir ieslēgts, kad P3 tapa ir zema, un IZSLĒGTS, kad P3 tapa ir augsta.

Uz tranzistora etiķetes ir norādīts L6, kas, pēc maniem pētījumiem, iespējams, padara to par MMBC1623L6, kura minimālais strāvas pieaugums ir 200. Ar 0,1 mA bāzes strāvu tai jāspēj saglabāt zems stāvoklis savācējā (16. modulis) ar vismaz 20mA kolektora strāvu.

Turklāt šim modulim ir 10K potenciometrs, kas savienots starp +5 un zemi, kura mainīgais vads tiek parādīts līdz 3. tapai (trešā no apakšas fotoattēlā). Kad tas ir pievienots tieši LCD, šis katls kontrolēs LCD kontrastu. Tomēr šo funkciju nodrošina atsevišķs līdzīgs katls LCD ekrānā, tāpēc šim seriālā moduļa katlam nav funkciju.

Man neizdevās atrast nekādu savienojumu ar PCF8574T INT tapu.

ATJAUNINĀT 2019. gada 22. augustu

Kā minēts iepriekš, PCF8574 ir 3 adrešu vadības tapas. Šķiet, ka tie ir ievietoti mugursomas dēļa paliktņos, kur tie ir marķēti ar A0, A1 un A2. Tos var redzēt fotoattēlā. Es to neesmu pārbaudījis, taču šķiet gandrīz droši, ka, savienojot vienu vai vairākas no šīm tapām ar blakus esošajiem spilventiņiem, I2C adresi var kontrolēt diapazonā no 20 līdz 27. Turklāt ir otra gandrīz identiska ierīce, PCF8574A, kam ir identiska funkcionalitāte kā PCF8574, bet kas aptver adrešu diapazonu no 0x38 līdz 0x3F.

Jūsu ierīces faktiski izmantoto adresi var pārbaudīt, izmantojot I2CScanner. Ir pieejami vairāki vienkārši I2C skeneri no dažādiem avotiem. Šī vietne https://github.com/farmerkeith/I2CScanner arī identificē dažas atrastās ierīces.

3. darbība. Savienojumi

Savienojumi
Savienojumi

Paldies ChaitanyaM17, kurš sniedza Fritzing diagrammu, kas attēlo tālāk aprakstītos savienojumus.

Jauda:

LCD moduļa apakšējā pusē ir tapa ar uzrakstu "5.0V". Pa labi, blakus tam ir divas nemarķētas tapas, kuras abas ir noslīpētas.

Turot seriālo moduli ar I2C saskarni kreisajā galā, apakšējā malā ir 16 tapas. Pirmais no tiem ir slīpēts, bet otrais ir +5v. Vēl viena iespēja ir izmantot apakšējās divas tapas I2C saskarnē jaudai, taču man šķita, ka ērtāk ir izmantot tapas, kā aprakstīts iepriekš.

I2C interfeiss. Sērijas moduļa augšējā tapa ir SCL (pulkstenis), un tā iet uz Arduino A5. Otrā tapa ir SDA (dati), un tā nonāk Arduino A4.

LCD drukas interfeiss. Starp seriālo moduli un LCD tastatūras vairogu ir 6 savienojumi, visi tie ir starp tapām bez etiķetēm. Es tos identificēšu LCD modulī, skaitot no labās uz kreiso pusi, ar pirmo tapu kā 1. Ir 2 bloki no 8, tāpēc tie ir no 1 līdz 16. Es tos identificēju I2C sērijas modulī, skaitot no kreisās uz Pareizi, ir arī 16 no šiem. Turklāt es katram vadam piešķiru etiķeti, kas ir līdzvērtīga Arduino tapa, kas parasti ir saistīta ar šo funkciju, ja ir tiešs savienojums bez sērijas moduļa.

Tātad 6 datu savienojumi ir šādi:

Arduino ekvivalents // Sērijas moduļa tapa // LCD tastatūras moduļa tapa

D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10

LCD apgaismojuma vadība: tiek izmantots vēl viens savienojums:

Arduino ekvivalents // Sērijas moduļa tapa // LCD tastatūras moduļa tapa

D10 // 16 // 11

Tastatūras saskarne: tas izmanto vienu vadu no LCD moduļa tapas apakšējā pusē ar apzīmējumu "A0", lai piespiestu A0 uz Arduino. Vismaz tas bija diezgan viegli!

4. darbība. Padariet RST atslēgu lietojamu līdzīgu pārējām 5 atslēgām

RST var savienot tieši ar Arduino Nano RESTART ieeju.

Tomēr, ja vēlaties, lai RST atslēga programmatūrā būtu izmantojama citām lietām, to var izdarīt, savienojot 15K rezistoru starp RST tapu un A0 tapu LCD tastatūras ekrāna apakšējā pusē.

Tas darbojas šādi: starp +5V un labo taustiņu ir 2K rezistors. Tad pakāpeniski lielāku rezistoru ķēde katrai pārējai atslēgai (330R uz UP taustiņu, 620R uz DOWN taustiņu, 1K uz kreiso taustiņu un 3K3 uz SELECT taustiņu. Visi taustiņi (ieskaitot RST taustiņu) savienojas ar ja tie ir pievienoti 10 bitu A/D pārveidotājam (tāpat kā Arduino Nano A0), tie nodrošina aptuveni šādas vērtības:

Pa labi = 0; Uz augšu = 100; Uz leju = 260; Pa kreisi = 410; Atlasiet = 640.

Ar 15 k rezistoru RST tas nodrošina aptuveni 850.

Programmatūra izmantos vērtības ap šo punktu viduspunktiem, lai izlemtu, kurš taustiņš ir nospiests.

5. solis: programmatūra

Noderīga programmatūra lasītājam, protams, ir uzdevums. Tomēr, lai sāktu darbu, varat apskatīt manu testa programmatūru. Es izmantoju NewLiquidCrystal bibliotēku, kurā ir atbalsts I2C saskarnei. Viss tikko strādāja, kad bibliotēkas ir pareizi instalētas.

Galvenais bija mainīt pretgaismas OFF un ON komandu polaritāti (I2C moduļa tranzistora dēļ, kā paskaidrots sadaļā Daļu apraksts).

ATJAUNINĀT 2019. gada 22. augustu

Ja rodas problēmas ar LCD displeja nedarbošanos, lūdzu, pārbaudiet sērijveida mugursomas I2C adresi, izmantojot I2C skeneri. Ir pievienots piemērots skeneris. Pēc tam, ja nepieciešams, noregulējiet paziņojuma pirmo parametru

LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7);

6. darbība: pārskatīšana un apspriešana

Kā redzat, galvenās funkcijas darbojas.

Mans nākamais nodoms ir to ievietot projekta kastē kā daļu no cita projekta. Tomēr, uzsākot šo ceļu, es uzzināju, ka ir vēl viena grūtība, kuru es nebiju paredzējis.

Grūtības ir tādas, ka šis LCD tastatūras modulis nav iestatīts tā, lai to varētu uzstādīt kastē. Jebkura kastīte. 6 taustiņu pogas atrodas krietni zem LCD ekrāna līmeņa, tādēļ, ja modulis ir uzstādīts kastē (piemēram, vāciņā) un LCD shēmas plates augšdaļa ir vienā līmenī ar vāka apakšējo daļu, atslēgas atrodas apmēram 7 mm zem vāka augšdaļas.

Iespējamie risinājumi ir:

a) paciest to. Izurbiet vāciņā piekļuves atveres un nospiediet pogas ar instrumentu (piemēram, sagrieztu adāmadatu ar piemērotu diametru).

b) Noņemiet LCD no moduļa shēmas plates un veiciet operāciju ar tastatūru, lai abas sastāvdaļas varētu neatkarīgi piestiprināt pie projekta kastes vāka (es domāju, ka joprojām var rasties problēma, ja pogas ir pārāk īsas)

c) noņemiet esošās pogas un nomainiet tās ar augstākām pogām. Jaunajām pogām jābūt aptuveni 13 mm augstām, lai tās varētu darbināt caur projekta kastes vāku). Nomaiņas pogu slēdži ir viegli pieejami dažādos augstumos, ieskaitot 13 mm.

d) izmetiet LCD tastatūras vairoga moduli un izmantojiet atsevišķas LCD un tastatūras vienības (ti, sākt no jauna). Ir pieejams plašs tastatūras vienību klāsts, tomēr es neesmu redzējis tādu ar 6 taustiņu izkārtojumu kā šajā modulī (ti, Atlasīt, Pa kreisi, Uz augšu, Uz leju, Pa labi, Restartēt). Iespējams, tā nav liela problēma, taču viens no iemesliem, kāpēc es sāku ar šo moduli, bija tas, ka es domāju, ka šis atslēgu izkārtojums ir tas, ko es vēlējos.

Es plānoju izmantot iepriekš minēto c) risinājumu un redzēt, kā man iet.

Vēl viens informācijas fragments, kas varētu interesēt:

Ieslēdzot fona apgaismojumu, šī projekta pašreizējais patēriņš ir: Arduino Nano 21,5 ma; Sērijas modulis 3,6 ma; LCD modulis 27,5 mA; Kopā 52 mA.

Ja fona apgaismojums ir izslēgts, šī projekta pašreizējais patēriņš ir: Arduino Nano 21,5 ma; Sērijas modulis 4,6 ma; LCD modulis 9,8 mA; Kopā 36 mA.

Ieteicams: