- Nødvendig materiale
- Kort introduksjon til 16 × 2 Punktmatrise LCD-skjerm
- ADC i TIVA Launchpad
- Kretsdiagram og tilkoblinger
- Programmering av TIVA TM4C Launchpad for LCD ved bruk av Energia IDE
- 16x2 LCD-skjerm med TIVA Launchpad
I forrige opplæring begynte vi med å lære om TIVA TM4C Launchpad og hvordan du styrer dens digitale inngangs- og utgangspinner ved hjelp av Energia IDE. Nå, i denne opplæringen, vil vi lære om grensesnittet mellom 16 × 2 Dot matrix LCD-skjerm og dette kortet for å vise nyttig informasjon og sensordata.
16x2 LCD-skjerm er de fleste av oss som hadde kommet over dette enten gjennom offentlige PCO-er eller brukt det i andre elektronikkprosjekter. 16x2 LCD er en billig skjermmodul som er veldig nyttig for elektronikkapplikasjoner for å vise data eller annen feilsøkingsinformasjon. Så her grensesnitt 16x2 LCD-skjerm med TIVA C-serien TM4C123G LaunchPad. Her vil vi vise ADC-verdiene og spenningsnivåene på LCD-skjermen. Et potensiometer er festet for å variere ADC-verdiene. Lær mer om 16x2 LCD-skjerm og dens pinner her.
Nødvendig materiale
- TIVA TM4C LaunchPad fra Texas Instruments
- 16 × 2 LCD-skjerm med punktmatrise
- Koble ledninger
Kort introduksjon til 16 × 2 Punktmatrise LCD-skjerm
Som tidligere fortalt gir Energia IDE et vakkert bibliotek som gjør grensesnittet til et stykke kake, og det er derfor ikke obligatorisk å vite noe om skjermmodulen. Men ville det ikke vært interessant å vise hva vi bruker !!
Navnet 16 × 2 innebærer at skjermen har 16 kolonner og 2 rader, som til sammen (16 * 2) danner 32 bokser. En enkelt boks vil se ut som dette på bildet nedenfor
En enkelt boks har 40 piksler (prikker) med en matriserekkefølge på 5 rader og 8 kolonner, disse 40 pikslene danner til sammen ett tegn. Tilsvarende kan 32 tegn vises ved hjelp av alle boksene. La oss ta en titt på pinouts.
LCD-skjermen har totalt 16 pins, som vist ovenfor, de kan kategoriseres i fire grupper som følger
Kildepinner (1, 2 og 3): Disse pinnene gir strøm og kontrastnivå for skjermen
Kontrollpinner (4, 5 og 6): Disse pinnene setter / kontrollerer registerene i LCD-grensesnitt-ICen (mer finner du i lenken nedenfor)
Data / kommandopinner (7 til 14): Disse pinnene gir data om hvilken informasjon som skal vises på LCD-skjermen.
LED-pinner (15 og 16): Disse pinnene brukes til å lyse bakgrunnsbelysningen på LCD-skjermen om nødvendig (valgfritt).
Av alle disse 16 pinnene, er det bare 10 pinner som skal brukes obligatorisk for korrekt bruk av LCD-skjermen hvis du vil vite mer om disse LCD-skjermene, hopp til denne LCD-artikkelen.
Sjekk også grensesnittet mellom 16x2 LCD-skjerm og mange andre mikrokontrollere
- Grensesnitt 16x2 LCD med Atmega16 AVR Microcontroller i 4-biters modus
- LCD-grensesnitt med PIC Microcontroller ved bruk av MPLABX og XC8
- Grensesnitt 16x2 LCD med STM32F103C8T6
- Grensesnitt LCD med MSP430G2 LaunchPad
- LCD-grensesnitt med 8051 mikrokontroller
- Grensesnitt 16x2 LCD med Arduino
- 16x2 LCD-grensesnitt med Raspberry Pi ved hjelp av Python
ADC i TIVA Launchpad
Potentiometer gir analog utgang, slik at den ikke kan kobles til de digitale pinnene på Launchpad. Så analoge eller ADC-pinner på MCU brukes til å grensesnitt for enhver sensor hvis utgang er analog. TIVA TM4C har 2 ADC-kanaler med 12-bits utgang, dette betyr at de analoge verdiene fra sensoren eller potensiometeret kan kartlegges mellom 0 og 2 ^ 12 (4096) for å konvertere dem til digitale verdier. For å lære mer om Analog til Digital konvertering i Microcontroller, følg lenken.
Det er 12 analoge inngangspinner (A0-A11) i TIVA Launchpad som vist på bildet nedenfor.
Kretsdiagram og tilkoblinger
Det komplette kretsskjemaet for å grensesnitt en 16 × 2 Punktmatrise LCD-skjerm med TIVA Launchpad TM4C er vist nedenfor.
En viktig begrensning når du kobler disse LCD-skjermene, er driftsspenningene. LCD-skjermen har en driftsspenning på + 5V mens TM4C bare fungerer med 3,6V. Heldig for oss har datapinnen på LCD-grensesnittet IC (HD44780U) en bred driftsspenning på 2,7V til 5,5V. Så vi trenger bare å bekymre oss for Vdd (pin 2) på LCD-skjermen mens datapinnene kan fungere selv med 3,6V.
TIVA-kortet har som standard ikke en + 5V-stift, så en ekstern strømforsyning bør brukes for å få LCD-skjermen til å fungere. Enten bruk strømforsyning fra Arduino-kort eller bruk 7805 spenningsregulator. Sørg for å koble strømforsyningsjordet til bakken på TIVA-kortet.
Nedenfor er tabellen som viser forbindelsene mellom LCD og TIVA Launchpad
LCD-pinnens navn | TIVA Launchpad |
Vss | Bakke |
Vdd | + 5V strømforsyning |
Rs | Pin PC_6 til TIVA |
R / W | Bakke |
Muliggjøre | Pin PB_7 av TIVA |
D4 | Pin PA_2 av TIVA |
D5 | Pin PA_3 av TIVA |
D6 | Pin PA_4 av TIVA |
D7 | Pin PB_6 av TIVA |
For å vise potensiometerverdiene på LCD-skjermen, kobler du Pot-utgangen til en hvilken som helst analog pin (PE2).
Programmering av TIVA TM4C Launchpad for LCD ved bruk av Energia IDE
Før du fortsetter med forklaringen, noterer du pinnene som brukes i dette prosjektet. Ta en titt på kretsskjemaet og TIVA pin-out-diagrammet gitt ovenfor. Komplett kode med en fungerende video er vedlagt på slutten av denne opplæringen.
Energia IDE kommer som standard med bibliotek for 16x2 LCD (LiquidCrystal). Hvis den ikke er til stede, kan du laste den ned fra denne github-lenken og lime den inn i biblioteksmappen til Energia IDE.
Start deretter programmet ved å inkludere biblioteket for LCD og definere pinnene for det
#inkludere
Det neste trinnet er å nevne pinnene som LCD-skjermen er koblet til, som vi allerede har kalt den med #define, kan vi nå bare nevne navnene på LCD-pinnene. Forsikre deg om at samme rekkefølge følges.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Det er så mange typer LCD-skjermer som varierer i størrelse og art, så i ugyldig oppsett () -funksjon, spesifiser først hvilken type LCD du bruker i prosjektet. Her har vi brukt 16x2 LCD-skjerm.
lcd.begin (16, 2);
For å skrive ut noe på LCD-skjermen, nevn to ting i programmet. Den ene er plasseringen av teksten som kan nevnes ved hjelp av linjen lcd.setCursor (), og den andre er innholdet som skal skrives ut som kan nevnes av lcd.print (). Her setter vi markøren til en st rad og en st kolonne.
lcd.setCursor (0,0);
Tilsvarende kan vi også gjøre
lcd.setCursor (0, 1); // for å sette markøren til 1. kolonne 2. rad
Akkurat som å slette en tavle etter å ha skrevet på den, bør en LCD også slettes når noe er skrevet på den. Dette kan gjøres ved å bruke linjen nedenfor
lcd.clear ();
I void loop () -funksjon, ta potten med analogRead () -funksjonen og lagre denne verdien i en annen variabel, og vis deretter denne verdien.
sensorValue = analogRead (sensorPin); lcd.setCursor (0, 0); lcd.print ("ADC-verdi:"); lcd.setCursor (10, 0); lcd.print (sensorValue);
Nå konvertere denne ADC verdien til spenningen bare ved å multiplisere med 3,3 fordi det er den høyeste spenning som kan aksepteres av TIVA boards nålene. Del deretter multiplisert verdi med 4096.
lcd.setCursor (0, 1); lcd.print ("Voltages:"); spenninger = (sensorValue * 3.3) / 4096; lcd.setCursor (10, 1); lcd.print (spenninger);
Komplett program finner du på slutten.
16x2 LCD-skjerm med TIVA Launchpad
Når maskinvaren og koden er klar, kobler du bare TIVA-kortet til datamaskinen og laster opp koden på kortet. Følg den forrige veiledningen for å lære hvordan du laster opp koden i TIVA Launchpad.
Når koden er lastet opp, bør du se skjermen som viser følgende.
Nå er det bare å rotere potensiometeret for å variere ADC-verdien, og du vil se at den tilsvarende spenningsverdien også vil variere, som vist på bildet nedenfor.
Den komplette koden og den detaljerte videoen finner du nedenfor. Prøv å endre teksten som vises på LCD-skjermen.