Hoe toe te voegen en Test de LCD-display voor uw Arduino Klok Project

12/27/2011 by admin

Als je eenmaal hebt geprogrammeerd en getest het kloppende hart van uw Arduino klok, moet je een manier om de tijd weer te geven zonder gebruik te maken van de seriële-monitor nodig. Dit is waar het LCD-scherm komt.

Deze is vrij goedkoop en het maakt gebruik van de zeer vaak Hitachi HD44780 driver. Deze LCD-modules zijn gemakkelijk te herkennen omdat ze 16 pinnen in een enkele rij en gebruik maken van wat bekend staat als een parallelle interface.

Hierdoor de Arduino gebruikt verschillende digitale pennen om het scherm te laten werken. Dit proces is enigszins ingewikkeld, maar gelukkig is er een Arduino library voor het al, dat maakt het zeer eenvoudig om tekst om het scherm te sturen, zonder zich te bekommeren over de low-level commando's die anders nodig zou zijn.

U gebruik maken van 4-bits modus om tekst, die slechts zeven Arduino digitale pinnen nodig heeft om het display te controleren weer te geven. Je moet ook stroom voor de LCD zelf, en voor de achtergrondverlichting. Tot slot bepaalt u het contrast van het scherm met behulp van de potentiometer.

Sluit de volgende:

  1. Voeg uw LCD-scherm en de potentiometer aan uw breadboard.
  2. Sluit de voedings- en gemalen pinnen op uw LCD, die Pins 15 en 16, respectievelijk.
  3. Sluit de grond en macht voor de achtergrondverlichting van de LCD, die Pins 1 en 2 zijn respectievelijk.
  4. Sluit de controle pinnen voor uw LCD-scherm om de digitale pinnen op uw Arduino.
    16x2 LCD Display Pin Arduino Digital Pin
    1 (naar GND spoor op broodplank)
    2 (tot + 5V rail op broodplank)
    3 2
    4 3
    5 4
    6 5
    7 (geen verbinding)
    8 (geen verbinding)
    9 (geen verbinding)
    10 (geen verbinding)
    11 11
    12 (naar GND spoor op broodplank)
    13 12
    14 (tot middelste pin potentiometer)
    15 (tot + 5V rail op broodplank)
    16 (naar GND spoor op broodplank)
  5. Sluit nu de potentiometer, die het contrast van het scherm regelt.

    De middelste pen van de potentiometer moet gaan naar pin 14 van het LCD-scherm en de andere twee pennen van de potentiometer zijn verbonden aan de macht en de grond, in willekeurige volgorde.

    Hoe toe te voegen en Test de LCD-display voor uw Arduino Klok Project

Nu dat u uw LCD hebt aangesloten, is het tijd om het iets interessants te doen! Eerst moet je een code te uploaden om ervoor te zorgen dat de LCD goed werkt. Deze code is het eerste deel van je wekker schets. Je bouwt daarop aan alle andere functies toe te voegen voor uw klok.

U kunt de code voor de klok allemaal tegelijk te kopiëren, maar overwegen om het in secties, zoals hier beschreven. Dat maakt het gemakkelijk om problemen op te lossen en testen van de klok in fasen, zoals u het bouwen.

Voer de volgende code in de IDE, of download het van de metgezel website en upload deze naar uw Arduino:

// Hoofdstuk 7: Arduino Wekker
// Een wekker die de Adafruit Industries DS1307 RTC Breakout board gebruikt
// En een 16x2 Parallel LCD Display
#include <Wire.h> // I2C Wire Bibliotheek voor de communicatie met de DS1307 RTC
#include "RTClib.h" // Datum en tijd functies voor de DS1307 RTC verbonden
#include <LiquidCrystal.h> // Scherm functies voor het LCD-scherm
RTC_DS1307 rtc; // Maak een realtime klok genaamd rtc
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Maak een lcd genaamd lcd
leegte setup () {
Wire.begin (); // Hiermee wordt de communicatie voor het LCD-scherm
rtc.begin (); // Hiermee wordt de RTC
lcd.begin (16, 2); // Maakt het LCD-
lcd.print ("It's Alive!"); // Druk een bericht, gecentreerd, om het LCD om te bevestigen dat het werkt
delay (500); // Wacht even, zodat we het kunnen lezen
lcd.clear (); // Maak het LCD-scherm
}
leegte loop () {
}

Wanneer deze code is geüpload, moet u het bericht "It's Alive!" Weergegeven voor een halve seconde op de LCD. Als je niets ziet, of als het display tekens is onleesbaar, heb je iets verkeerd aangesloten. Ga terug naar de bedrading tafel.

De eerste drie regels van deze code zijn de bibliotheken die worden gebruikt voor uw klok. De eerste omvat de I2C-bibliotheek die communicatie mogelijk maakt met de RTC module. I2C, uitgesproken als 'eye-squared cee "of" eye-twee-cee, "is een communicatieverbinding te praten tussen de geïntegreerde schakelingen, in dit geval je Arduino en de Dallas DS1307 chip.

Het is ook nuttig voor het communiceren met veel andere accessoires, zoals GPS modules. De handige ding over I2C is dat het vereist slechts twee pinnen, plus macht en grond. Deze bibliotheek maakt de communicatie vrij gemakkelijk met de meeste I2C-apparaten.

De volgende bibliotheek is de RTCLib. Het is een versie van een bibliotheek geschreven JeeLab en gewijzigd door Adafruit Industries voor communicatie met de RTC module. Het wordt gebruikt voor het verkrijgen van de tijd van de RTC module gebruikt de I2C bibliotheek die communicatie onderhandelen.

De laatste bibliotheek is het LCD-display bibliotheek, die de parallelle communicatie met uw beeldscherm handvatten. In tegenstelling tot de RTC-bibliotheek die u handmatig hebt toegevoegd, wordt het opgenomen als een standaard bibliotheek in de Arduino software distributie.

Na waaronder de bibliotheken, de code maakt twee objecten: een klok object met de naam RTC en een LiquidCrystal object met de naam LCD. Dit object parameters die bepalen welke digitale pennen Arduino gebruikt voor communicatie met het LCD.

Na het maken van deze objecten, de setup () functie krijgt dingen gaande. De I2C, RTCLib, en het lcd, allemaal moeten worden ingeschakeld, die wordt gedaan door het begin () functie. De lcd.begin () functie heeft twee parameters, het aantal kolommen en het aantal rijen, die op uw scherm zijn 16 en 2. Na deze is ingesteld, kunt u berichten naar het scherm te schrijven gewoon met behulp van de lcd.print () functie:

lcd.print ("It's Alive!");

Er zijn twee spaties aan het begin van deze tekst, die de 11-karakter boodschap binnen de 16-karakter ruimte op de bovenste regel geeft voor. Je normaal de positie van tekst met de SetCursor () functie te beheersen, maar het is hier niet nodig - een minder instructie in de setup te zetten ().

Na een korte vertraging, zodat je kunt zien dat het is afgedrukt op het scherm, de lcd.clear () functie veegt alle tekst, klaar om te gaan voor de grote lus ().

Related Posts