Lägga och Testa LCD Display till din Arduino Clock Project

June 12

När du har programmerat och testat hjärtat i din Arduino klocka, behöver du ett sätt att visa tiden utan att använda seriebildskärmen. Det är där LCD-displayen kommer in.

Den här är ganska billigt och den använder mycket vanligt Hitachi HD44780 drivrutin. Dessa LCD-moduler är lätta att känna igen eftersom de har 16 stift i en enda rad och använda vad som kallas ett parallellt gränssnitt.

På grund av detta, använder Arduino flera digitala stift för att göra displayen arbetet. Denna process är något komplicerad, men lyckligtvis finns det en Arduino bibliotek för den redan som gör det mycket enkelt att skicka text till skärmen utan att oroa sig lågnivåkommandon som annars skulle behövas.

Du använder 4-bitarsläge för att visa text, som behöver bara sju Arduino digitala stift för att styra displayen. Du behöver också makt för LCD själv, och för bakgrundsbelysningen. Slutligen kan du styra kontrasten på displayen med hjälp av potentiometer.

Anslut följande:

  1. Lägg din LCD display och potentiometer till din bakbord.
  2. Anslut ström- och jordstiften på din LCD, som är Pins 15 och 16, respektive.
  3. Anslut jord och kraft för din LCD bakgrundsbelysning, vilket är stift 1 och 2, respektive.
  4. Anslut styrstift för din LCD till de digitala stiften på din Arduino.
    16x2 LCD Display Pin Arduino Digital Pin
    1 (till GND skena på bakbord)
    2 (till + 5V järnväg på bakbord)
    3 2
    4 3
    5 4
    6 5
    7 (ingen anslutning)
    8 (ingen anslutning)
    9 (ingen anslutning)
    10 (ingen anslutning)
    11 11
    12 (till GND skena på bakbord)
    13 12
    14 (till potentiometer mittstift)
    15 (till + 5V järnväg på bakbord)
    16 (till GND skena på bakbord)
  5. Anslut nu potentiometer, som styr displayens kontrast.

    Den mittstift potentiometern bör gå till stift 14 på LCD-displayen och de andra två stiften i potentiometer är ansluten till elnätet och jord, i valfri ordning.

    Lägga och Testa LCD Display till din Arduino Clock Project

Nu när du har anslutit din LCD, är det dags att göra det göra något intressant! Först måste du ladda upp lite kod för att se till att LCD fungerar korrekt. Denna kod är den första delen av din väckarklocka skiss. Du bygger på den för att lägga till alla andra funktioner för din klocka.

Du kan kopiera koden för klockan på en gång, men överväga att lägga den i sektioner, som beskrivs här. Det gör det enkelt att felsöka problem och testa klockan i etapper, eftersom du bygger det.

Skriv följande kod i IDE, eller ladda ner den från följeslagare hemsida och ladda upp den till din Arduino:

// Kapitel 7: Arduino väckarklocka
// En väckarklocka som använder Adafruit Industries DS1307 RTC Breakout board
// Och en 16x2 Parallell LCD-display
#include <Wire.h> // I2C Wire Bibliotek för att kommunicera med DS1307 RTC
#include "RTClib.h" // Datum och tid funktioner för DS1307 RTC ansluten
#include <LiquidCrystal.h> // Display funktioner för LCD-skärmen
RTC_DS1307 rtc; // Skapa en realtidsklocka som kallas RTC
Flytandekristalltergivningsanordning lcd (12, 11, 5, 4, 3, 2); // Skapa en LCD kallas lcd
void setup () {
Wire.begin (); // Aktiverar kommunikationen för LCD
rtc.begin (); // Aktiverar RTC
lcd.begin (16, 2); // Aktiverar LCD
lcd.print ("Det är vid liv!"); // Skriv ut ett meddelande, centrerad, till LCD att bekräfta det fungerar
fördröjning (500); // Vänta en stund så att vi kan läsa det
lcd.clear (); // Clear LCD
}
void loop () {
}

När denna kod laddas upp, bör du se meddelandet "Det är vid liv!" Visas för en halv sekund på LCD. Om du inte ser någonting, eller om displayen har förvrängd tecken, har du anslutit något felaktigt. Gå tillbaka till kopplingsschema.

De tre första raderna i denna kod omfattar bibliotek som ska användas för din klocka. Den första omfattar I2C bibliotek som möjliggör kommunikation med RTC-modulen. I2C, uttalas "eye-kvadrat cee" eller "eye-två-cee," är en kommunikationslänk för att prata mellan integrerade kretsar, i det här fallet din Arduino och Dallas DS1307 chip.

Det är också användbart för att kommunicera med massor av andra tillbehör, såsom GPS-moduler. Nyttjande sak om I2C är att det bara krävs två stift, plus makt och jord. Detta bibliotek gör kommunikation ganska lätt med de flesta I2C-enheter.

Nästa Biblioteket är RTCLib. Det är en version av ett bibliotek skriven av JeeLab och ändras av Adafruit Industries för att kommunicera med RTC-modulen. Det används för att få den tid från RTC-modulen och använder I2C biblioteket för att förhandla om denna kommunikation.

Den sista biblioteket är LCD-displayen biblioteket, som hanterar den parallella kommunikationen med din bildskärm. Till skillnad från RTC-biblioteket som du till manuellt, det ingår som ett standardbibliotek i Arduino programvarudistribution.

Efter bland annat biblioteken, skapar koden två objekt: en klocka objekt kallas RTC och en flytandekristalltergivningsanordning objekt heter lcd. Detta objekt har parametrar som avgör vilka digitala stift Arduino använder för att kommunicera med LCD.

När du har skapat dessa objekt, blir installationen () funktionen saker går. I2C, RTCLib och lcd, alla måste vara aktiverad, vilket görs genom att börja () funktionen. Den lcd.begin funktion () tar två parametrar, antalet kolumner och antalet rader, som på skärmen är 16 och 2. Efter detta har ställts in, kan du skriva meddelanden till skärmen genom att helt enkelt använda lcd.print () funktion:

lcd.print ("Det är vid liv!");

Det finns två blanksteg i början av denna text, som centrerar 11 tecken meddelande inom 16 tecken utrymme på den översta raden. Du styr normalt position texten med setCursor () funktion, men det behövs inte här - en mindre instruktion att sätta i setup ().

Efter en kort fördröjning så att du kan se att det har skrivits ut till skärmen, den lcd.clear () funktionen våtservetter all text, redo att gå för huvudslingan ().