Hvordan legge til og teste LCD-skjermen for din Arduino Clock Prosjekt

June 10  by Eliza

Når du har programmert og testet det bankende hjertet av din Arduino klokke, trenger du en måte å vise tiden uten å bruke serie monitor. Det er der LCD-skjermen kommer i.

Dette er ganske billig og den bruker veldig vanlig Hitachi HD44780 driver. Disse LCD-moduler er lett gjenkjennelige fordi de har 16 pinner i en enkelt rad og bruke det som kalles et parallelt grensesnitt.

På grunn av dette, bruker Arduino flere digitale pinner for å gjøre skjermen arbeid. Denne prosessen er litt komplisert, men heldigvis er det en Arduino bibliotek for det allerede som gjør det svært enkelt å sende tekst til skjermen uten å tenke på lavt nivå kommandoer som ellers ville være nødvendig.

Du bruker 4-bits modus for å vise tekst, som trenger bare syv Arduino digitale pins å kontrollere visningen. Du må også makt for LCD selv, og for bakgrunnsbelysningen. Til slutt, styrer du kontrasten på displayet ved hjelp av potensiometeret.

Koble til følgende:

  1. Legg inn et LCD-display og potensiometer til din breadboard.
  2. Koble strøm og jord pinnene på din LCD, som er Pins 15 og 16, henholdsvis.
  3. Koble jord og makt for bakgrunnsbelysning LCD-tallet, som er Pins 1 og 2, henholdsvis.
  4. Koble kontrollnålene for din LCD til de digitale pins på din Arduino.

    16x2 LCD-skjerm Pin Arduino Digital Pin
    1 (til GND rail på breadboard)
    2 (til + 5V rail på breadboard)
    3 2
    4 3
    5 4
    6 5
    7 (ingen sammenheng)
    8 (ingen sammenheng)
    9 (ingen sammenheng)
    10 (ingen sammenheng)
    11 11
    12 (til GND rail på breadboard)
    13 12
    14 (til potensiometerskaftet midten pin)
    15 (+ 5V rail på breadboard)
    16 (til GND rail på breadboard)
  5. Nå koble potensiometeret, som kontrollerer skjermens kontrast.

    Senterpinnen av potensiometeret bør gå til Pin 14 på LCD-skjermen og de to andre nåler av potensiometeret er koblet til strøm og jord, i den rekkefølgen.

    Hvordan legge til og teste LCD-skjermen for din Arduino Clock Prosjekt

Nå som du har koblet din LCD, er det på tide å gjøre det gjøre noe interessant! Først må du laste opp noen kode for å forsikre deg om at LCD-skjermen fungerer som den skal. Denne koden er den første delen av vekkerklokken skisse. Du bygger på det å legge til alle de andre funksjonene for din klokke.

Du kan kopiere koden for klokken på en gang, men vurdere å legge den i seksjoner, slik det er beskrevet her. Det gjør det lett å feilsøke problemer og teste klokke i etapper, som du bygger den.

Skriv inn følgende kode i IDE, eller laste det ned fra følges hjemmeside og laste det opp til Arduino:

// Kapittel 7: Arduino vekkerklokke
// En vekkerklokke som bruker Adafruit Industries DS1307 RTC Breakout bord
// Og en 16x2 Parallel LCD-skjerm
# Include <Wire.h> // I2C Wire Bibliotek for kommunikasjon med DS1307 RTC
# Include "RTClib.h" // Dato og tidsfunksjoner for DS1307 RTC tilkoblet
# Include <LiquidCrystal.h> // Displayfunksjoner for LCD-skjermen
RTC_DS1307 RTC; // Lag en sanntidsklokke som heter RTC
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Opprett en LCD kalt lcd
void setup () {
Wire.begin (); // Aktiverer kommunikasjon for LCD
rtc.begin (); // Aktiverer RTC
lcd.begin (16, 2); // Aktiverer LCD
lcd.print ("Det er Alive!"); // Skriv ut en melding, sentrert, til LCD å bekrefte det fungerer
forsinkelse (500); // Vent et øyeblikk, slik at vi kan lese det
lcd.clear (); // Clear LCD
}
void loop () {
}

Når denne koden er lastet opp, bør du se meldingen "Det er Alive!" Vist for et halvt sekund på LCD. Hvis du ikke ser noe, eller hvis skjermen har uforståelige tegn, du har koblet noe feil. Gå tilbake til koblingstabellen.

De tre første linjene av denne koden omfatter bibliotekene som brukes for din klokke. Den første omfatter I2C biblioteket som muliggjør kommunikasjon med RTC modulen. I2C, uttales "eye-squared cee" eller "eye-to-cee," er en kommunikasjonslink for å snakke mellom integrerte kretser, i dette tilfellet din Arduino og Dallas DS1307 chip.

Det er også nyttig for å kommunisere med mange andre tilbehør, som for eksempel GPS-moduler. Den nyttige ting om I2C er at det krever bare to pinner, pluss strøm og jord. Dette biblioteket gjør kommunikasjon ganske enkelt med de fleste I2C enheter.

Neste bibliotek er RTCLib. Det er en versjon av et bibliotek er skrevet av JeeLab og modifisert av Adafruit Industries for kommunikasjon med RTC modulen. Det er brukt for å få tiden fra RTC-modul og bruker I2C biblioteket for å forhandle at kommunikasjon.

Den siste biblioteket er LCD-displayet biblioteket, som håndterer den parallelle kommunikasjon med skjermen. I motsetning til RTC biblioteket du lagt til manuelt, det er inkludert som en standard biblioteket i Arduino programvaredistribusjon.

Etter inkludert bibliotekene, koden oppretter to objekter: en klokke objekt kalt RTC og en LiquidCrystal objekt kalt lcd. Dette objektet har parametere som bestemmer hvilke digitale pins Arduino bruker til å kommunisere med LCD.

Etter å ha laget disse objektene, får setup () -funksjonen ting går. I2C, RTCLib, og lcd, alle må være aktivert, noe som gjøres ved å begynne () -funksjonen. Den lcd.begin () -funksjonen tar to parametre, antall kolonner og antall rader, som på skjermen er 16 og 2. Etter dette er satt, kan du skrive meldinger til skjermen bare ved hjelp av lcd.print () funksjon:

lcd.print ("Det er Alive!");

Det er to plasser i begynnelsen av denne teksten, som sentrerer 11-tegns melding innen 16 tegn plass på den øverste linjen. Du normalt styre plasseringen av teksten med setCursor () funksjon, men det er ikke nødvendig her - ett mindre instruks om å sette inn setup ().

Etter en kort forsinkelse, slik at du kan se at det har blitt skrevet til skjermen, den lcd.clear () -funksjonen wipes all teksten, klar til å gå for hoved loop ().