Taula de continguts:
- Pas 1: Descripció de les peces: mòdul de pantalla del teclat LCD
- Pas 2: Descripció de les parts: mòdul sèrie I2C
- Pas 3: connexions
- Pas 4: fer que la clau RST sigui similar a les altres 5 tecles
- Pas 5: programari
- Pas 6: revisió i discussió
Vídeo: Mòdul d’escut del teclat LCD 1602 amb motxilla I2C: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Com a part d’un projecte més gran, volia tenir una pantalla LCD i un teclat per a la navegació d’alguns menús senzills. Utilitzaré molts ports d'E / S a l'Arduino per a altres tasques, així que volia una interfície I2C per a la pantalla LCD. Així que vaig comprar una mica de maquinari, que consistia en un mòdul de protecció del teclat LCD 1602 de DFRobot i un mòdul sèrie anònim I2C per a pantalles LCD. Vull utilitzar-les amb un Arduino Nano. Llavors vaig trobar que hi ha alguns reptes perquè aquests components funcionin junts, però és possible. Per tant, vull compartir la meva experiència i potser ajudar-ne d’altres.
Aquesta foto és de la taula de treball, que pot mostrar missatges a la pantalla LCD i identificar les tecles premudes. La pantalla LCD es controla a través de la interfície I2C, inclosa la llum de fons LCD. Les pressions de tecles les rep l'Arduino al pin A0 (pot ser qualsevol dels pins analògics, excepte A4 i A5 que estan lligats per a la interfície I2C).
Pas 1: Descripció de les peces: mòdul de pantalla del teclat LCD
El mòdul de protecció del teclat LCD consisteix en un LCD 1602 d’ús habitual muntat a la part superior d’una placa de circuit que conté les tecles i que agafa un subconjunt de les connexions LCD i les posa a disposició dels pins de capçalera de la part inferior de la placa de circuit. Tinc entès que aquest tauler està pensat per muntar-se a sobre d’un Arduino Uno o similar i proporciona el disseny adequat dels pins perquè funcioni en aquest entorn. Vaig comprar aquest mòdul a Ebay a un proveïdor de la Xina. Els pins de capçalera del costat inferior (teclat) del tauler estan majoritàriament etiquetats, però els pins de la part superior, que és la interfície LCD, no estan etiquetats. No obstant això, els pins de la pròpia pantalla LCD estan etiquetats.
Pas 2: Descripció de les parts: mòdul sèrie I2C
El mòdul sèrie té la capçalera habitual de 4 pins per a I2C i un conjunt de pins de capçalera sense etiquetar que entenc que estan destinats a connectar-se directament a la part inferior del mòdul LCD. En estudiar les etiquetes de la pantalla LCD, vaig poder identificar les funcions dels pins del mòdul sèrie.
Aquest mòdul es basa en l’IC PCF8574T que finalitza el protocol I2C, té 3 pins per al control d’adreces (20 a 27) i té 8 pins d’entrada / sortida digitals P0 a P7. Segons la fitxa tècnica del PCF8574T, cada pin d'E / S té un FET per arrossegar-lo a terra per l'estat BAIX i pot enfonsar-se com a mínim 20 ma. A l’estat alt, té un arrencament actiu transitori i, a continuació, un corrent d’arrencada continu d’aproximadament 0,1 mA.
En aquest mòdul, tots els pins d'E / S digitals, excepte el P3, simplement es porten als pins de capçalera (a la dreta de la foto). En el cas de P3, està connectat a la base d’un transistor (visible a la foto a la part superior dreta, just sota l’etiqueta "LED"). L'emissor d'aquest transistor està connectat a Vss (terra) i el col·lector es connecta al pin 16 de la capçalera, on es pot utilitzar per controlar la llum de fons LCD. A causa del transistor, l'estat lògic s'inverteix en relació amb el suposat a la biblioteca de programari. És a dir, la llum de fons LCD s’encén quan el pin P3 està baix i s’APAGA quan el pin P3 és alt.
L’etiqueta del transistor diu L6, que segons la meva investigació probablement el converteix en un MMBC1623L6 que té un guany de corrent mínim de 200. Amb 0,1 mA de corrent base, hauria de poder mantenir una condició BAIXA al col·lector (mòdul Pin 16). amb un corrent de col·lector de 20 mA com a mínim.
A més, aquest mòdul té un potenciòmetre de 10K connectat entre +5 i terra, el cable variable del qual es porta al pin 3 (tercer des de la part inferior de la foto). Quan es connecta directament a la pantalla LCD, aquest pot controlarà el contrast de la pantalla LCD. Tanmateix, aquesta funció la proporciona un pot similar separat a la pantalla LCD, de manera que aquest pot del mòdul sèrie no té cap funció.
No he pogut trobar cap connexió amb el pin INT del PCF8574T.
ACTUALITZACIÓ 22 d’agost de 2019
Com s'ha esmentat anteriorment, el PCF8574 té 3 pins de control d'adreces. Sembla que es porten als coixinets del tauler de la motxilla on s’etiqueten A0, A1 i A2. Es poden veure a la foto. No ho he provat, però sembla gairebé segur que en connectar un o més d'aquests pins als coixinets adjacents, l'adreça I2C es pot controlar en un interval d'entre 20 i 27. A més, hi ha un segon dispositiu gairebé idèntic, el PCF8574A que té una funcionalitat idèntica a la PCF8574 però que cobreix el rang d’adreces de 0x38 a 0x3F.
Es pot comprovar l'adreça que realment utilitza el dispositiu amb un I2CScanner. Hi ha diversos escàners simples I2C disponibles de diverses fonts. Aquest a https://github.com/farmerkeith/I2CScanner també identifica alguns dels dispositius trobats.
Pas 3: connexions
Gràcies a ChaitanyaM17 que va proporcionar el diagrama de Fritzing que representa les connexions, que es descriu a continuació.
Potència:
El mòdul LCD té un passador a la part inferior amb l'etiqueta "5.0V". A la dreta, adjacents a això, hi ha dos passadors sense etiquetar que estan tots dos terra.
Sostenint el mòdul sèrie amb la interfície I2C a l’extrem esquerre, hi ha 16 pins a la vora inferior. El primer d'ells està mòlt i el segon d'ells és de + 5v. Una altra opció és utilitzar els dos pins inferiors de la interfície I2C per alimentar-los, però em va semblar més convenient utilitzar els pins com es va descriure anteriorment.
Interfície I2C. Al mòdul sèrie, el pin superior és SCL (clock) i va a l’Arduino A5. El segon pin down és SDA (dades) i va a l’Arduino A4.
Interfície d'impressió LCD. Hi ha 6 connexions entre el mòdul sèrie i el blindatge del teclat LCD, totes entre pins sense etiquetes. Els identificaré al mòdul LCD comptant de dreta a esquerra, amb el primer pin com a 1. Hi ha 2 blocs de 8, de manera que van de l’1 al 16. Els identifico al mòdul sèrie I2C comptant d’esquerra a D’acord, també n’hi ha 16. A més, dono a cada fil una etiqueta, que és el pin equivalent a l'Arduino que normalment s'associa a aquesta funció, en el cas d'una connexió directa sense el mòdul sèrie.
Per tant, les 6 connexions de dades són:
Equivalent Arduino // Pin del mòdul sèrie // Pin del mòdul del teclat LCD
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
Control de llum de fons LCD: utilitza una connexió més:
Equivalent Arduino // Pin del mòdul sèrie // Pin del mòdul del teclat LCD
D10 // 16 // 11
Interfície del teclat: s'utilitza un cable únic del pin del mòdul LCD a la part inferior amb l'etiqueta "A0", per pinzar A0 a l'Arduino. Almenys va ser bastant fàcil!
Pas 4: fer que la clau RST sigui similar a les altres 5 tecles
El RST es pot connectar directament a l'entrada RESTART de l'Arduino Nano.
Tanmateix, si voleu que la tecla RST es pugui utilitzar al programari per altres coses, es pot fer connectant una resistència de 15 K entre el pin RST i el pin A0 a la part inferior del blindatge del teclat LCD.
Funciona de la següent manera: hi ha una resistència de 2K entre + 5V i la tecla dreta. A continuació, una cadena de resistències progressivament més grans per a cadascuna de les altres tecles (330R a la tecla AMUNT, 620R a la tecla ABAIX, 1K a la tecla ESQUERRA i 3K3 a la tecla SELECT. Totes les tecles (inclosa la tecla RST) es connecten a Quan es connecta a un convertidor A / D de 10 bits (com per Arduino Nano A0), proporcionen aproximadament els següents valors:
Dreta = 0; Pujar = 100; Baixada = 260; Esquerra = 410; Selecciona = 640.
Amb la resistència de 15 k a RST, proporciona uns 850.
El programari utilitzarà valors al voltant dels punts mitjans entre aquests valors per decidir quina tecla s'ha premut.
Pas 5: programari
El programari útil és, per descomptat, un exercici per al lector. No obstant això, per començar, podeu fer una ullada al meu programari de prova. He utilitzat la biblioteca NewLiquidCrystal, que conté suport per a la interfície I2C. Tot va funcionar, un cop tinc les biblioteques instal·lades correctament.
El punt principal era invertir la polaritat de les ordres de retroiluminació OFF i ON (a causa del transistor del mòdul I2C tal com s’explica a la secció Descripció de peces).
ACTUALITZACIÓ 22 d’agost de 2019
Si teniu problemes amb la pantalla LCD que no funciona, comproveu l'adreça I2C de la motxilla en sèrie mitjançant un escàner I2C. S'adjunta un escàner adequat. A continuació, si cal, ajusteu el primer paràmetre de la sentència
LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7);
Pas 6: revisió i discussió
Com podeu veure, he funcionat les funcions principals.
La meva propera intenció és posar-ho en una caixa de projectes com a part d’un altre projecte. No obstant això, després de començar aquest camí, vaig saber que hi ha una altra dificultat que no havia previst.
La dificultat és que aquest mòdul de teclat LCD no està configurat per instal·lar-lo en una caixa. Qualsevol tipus de caixa. Els botons de les 6 tecles estan molt per sota del nivell de la pantalla LCD, de manera que si el mòdul està muntat en una caixa (per exemple, a la tapa) amb la part superior de la placa de circuit LCD a la part inferior de la tapa, les tapes de les tecles són uns 7 mm per sota de la part superior de la tapa.
Les possibles solucions són:
a) Aguanteu-lo. Practicar els forats d'accés a la tapa i utilitzar una eina (per exemple, una agulla de tallar de diàmetre adequat) per prémer els botons.
b) Traieu la pantalla LCD de la placa de circuits del mòdul i realitzeu una cirurgia al teclat perquè els dos components es puguin fixar de manera independent a la tapa de la caixa del projecte (crec que encara pot haver-hi un problema amb els botons massa curts)
c) traieu els botons existents i substituïu-los per botons més alts. Els nous botons han de tenir uns 13 mm d’alçada perquè es puguin accionar a través de la tapa de la caixa del projecte). Els interruptors de botó de recanvi estan disponibles en diverses altures, inclosos els de 13 mm.
d) descarteu el mòdul de protecció del teclat LCD i utilitzeu unitats LCD i teclat separades (és a dir, torneu a començar). Hi ha una àmplia gamma d'unitats de teclat disponibles, però no n'he vist cap amb el mateix disseny de 6 tecles que en aquest mòdul (és a dir, Selecciona, Esquerra, Amunt, Avall, Dreta, Reinicia). Potser no és un gran problema, però un dels motius pels quals vaig començar amb aquest mòdul era que pensava que aquest disseny clau era el que volia.
Tinc previst anar amb la solució c) anterior i veure com vaig.
Un altre fragment d'informació que pot ser d'interès:
Amb la llum de fons activada, el consum actual d’aquest projecte és: Arduino Nano 21,5 ma; Mòdul sèrie 3,6 ma; Mòdul LCD 27,5 mA; Total 52 mA.
Amb la llum de fons apagada, el consum actual d’aquest projecte és: Arduino Nano 21,5 ma; Mòdul sèrie 4,6 ma; Mòdul LCD 9,8 mA; Total 36 mA.
Recomanat:
Vocal GOBO - Escut amortidor de so - Cabina vocal - Caixa vocal - Filtre de reflexió - Escut vocal: 11 passos
Vocal GOBO - Sound Dampener Shield - Vocal Booth - Vocal Box - Reflexion Filter - Vocalshield: Vaig començar a gravar més veus al meu estudi domèstic i volia obtenir un so millor i, després d’algunes investigacions, vaig saber què era un " GOBO " era. Havia vist aquestes coses que amortiguaven el so, però no em vaig adonar del que feien. Ara sí. Vaig trobar una y
Com fer un rellotge despertador de bricolatge amb escut del teclat LCD: 5 passos
Com fer un rellotge despertador de bricolatge amb l’escut del teclat LCD: Hola a tothom! En aquest instructiu, us mostraré com fer un despertador amb la placa Arduino. Per construir aquest rellotge he utilitzat Arduino UNO, pantalla LCD del teclat LCD, zumbador de 5 V i cables de pont. Podeu veure l'hora a la pantalla i podeu configurar l'hora
Escut del teclat Lcd Led Reactie Spel Met: 4 passos
Led Reactie Spel Met Lcd Keypad Shield. Klinkt leuk! Dan moet je eerst een idee hebben voor een spel. Ik dacht meteen aan spellen waar je snel op een knop moet drukken als hij licht geeft. Dus ik keek on internet on vond een project
Utilització de l’escut del teclat LCD 1602 amb Arduino [+ Projectes pràctics]: 7 passos
Utilització de l’escut del teclat LCD 1602 amb Arduino [+ Projectes pràctics]: podeu llegir aquest i altres tutorials increïbles al lloc web oficial d’ElectroPeak Vista general En aquest tutorial, aprendreu a fer servir el blindatge del teclat LCD Arduino amb 3 projectes pràctics. Com configurar l’escut i identificar les clausHo
Escut de teclat LCD de bricolatge per a Arduino Uno: 6 passos (amb imatges)
Escut de teclat LCD de bricolatge per a Arduino Uno: he buscat molt fer un escut de teclat LCD de bricolatge i no n’he trobat cap, així que en vaig fer un i vull compartir-lo amb vostès