19. Aansturen van een LCD display

19. Aansturen van een LCD display

Doel van deze Experience

Het gebruik van een LCD display uitleggen en begrijpen hoe je deze kunt inzetten om informatie aan een gebruiker te geven.

Wat heb je nodig;

  • Arduino bord
  • LCD display
  • LM35 temperatuur sensor
  • Weerstand van 220Ω

Theorie;

Bij de Experimenteer kist heb je ook een LCD display ontvangen. Deze ziet er als volgt uit. Dit is een 16×2 display, hiermee kunnen 2 regels van 16 karakters worden beschreven. We hebben hier bedrading aangemaakt zodat je hem kunt gebruiken op het experimenteer bord.

display
Het aansturen van deze LCD is redelijk complex. Binnen de software is al rekening gehouden met dit LCD display en is er een bibliotheek gemaakt (Library) die we kunnen gebruiken. Deze Libraries kun je vinden onder het menu Sketch / Include Library. Je ziet dat hier ook veel andere libraries staan. Je kunt ook allerlei extra devices kopen die worden aangestuurd door een Library. Staat deze Library er niet tussen dan dien je deze toe te voegen in de programmatuur. Op de harde schijflocatie waar je het Arduino programma hebt geïnstalleerd zie je een mapje staan met libraries. Als je de benodigde librarie hier naar toe kopieert en hierna het Arduino programma weer opent dan is deze toegevoegd. We hebben dit nu niet nodig. Tijdens het wegschrijven van het programma naar de Arduino wordt deze extra code door het Arduino programma toegevoegd. De librarie heeft altijd de extensie .h (header file). Met het “include” commando kunnen we de juiste librarie laden.

We plaatsen het display op het breadboard en maken de volgende aansluitingen;
aansluitingen LCD display2
Als we dit zo hebben aangesloten kunnen we met de potentiometer de helderheid van het scherm regelen. De backlight van het scherm zit via de weerstand op pin 15 en 16 aangesloten.

Als we dit hebben aangesloten laden we deze Sketch;

#include <LiquidCrystal.h>
// Create variable named lcd of data type LiquidCrystal
// and initialize it with the connected digital pins
LiquidCrystal lcd(12,11,5,4,3,2);

void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);//initialize the display with 16 characters/row and 2 rows
lcd.print(“I love KEC”); //write this text to the display
}

void loop() {
// put your main code here, to run repeatedly:

}

Als je alles goed hebt aangesloten zie je de tekst “I love KEC” op het scherm verschijnen. Je weet nu dat alles werkt en dat alles goed is aangesloten.

Vanaf nu gaan we je stimuleren om zelf informatie te vinden. De Basis cursus leert je de grondbeginselen, echter met de Arduino is zoveel meer mogelijk. Dit betekent dat je zelf zult moeten gaan zoeken hoe diverse aansturingen werken en welke commando’s. Op de Arduino.CC website van het processor bord staat uitgebreid beschreven welke instructies je kunt gebruiken om het scherm aan te sturen;

https://www.arduino.cc/en/Reference/LiquidCrystal

Ga naar deze pagina en bestudeer en test de voorbeelden.

Hier zie je onder andere hoe je tekst van links naar rechts kunt laten lopen, hoe je een bepaalde melding op een bepaalde positie kunt krijgen en veel meer.

#include <LiquidCrystal.h>
//Create variable named lcd of data type LiquidCrystal and initialize it with the connected digital pins
LiquidCrystal lcd(12,11,5,4,3,2);

void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);//initialie the display with 16 characters/row and 2 rows

}

void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,0); //set the cursor to character 0 on first row
lcd.print(“I love KEC”);
for(int positionCounter = 0;positionCounter < sizeof(“I love KEC”);positionCounter++){
lcd.scrollDisplayLeft();
delay(150);
}
}

Als je dit onder de knie hebt kun je straks ook grotere display aansturen, de basis is namelijk gelijk.

 

Bouw je eigen temperatuur meter

We gaan nog een Experience maken een voorbeeld hoe we een digitale temperatuur meter kunnen maken. Hiervoor heb je een component nodig de LM35. Deze lijkt op een transistor maar dit is het niet. Het is een component waar we spanning op zetten. Deze sensor zet de temperatuur om in een uitgangsspanning. Als we de uitgangsspanning dus meten dan kunnen we uitrekenen wat de temperatuur is.

LM35   lm35pic

De schakeling werkt als volgt;

We zien dat de voedingsspanning tussen de 4 en 20V moet zijn, wij gebruiken 5V dus dat is OK. De uitgang geeft een spanning van 10,0 mV per °C. Sluit deze sensor aan op het Experimenteer bord en maak de volgende verbindingen;

  • De linkse poot op de 5V;
  • De middelste poort aan de 0 of massa;
  • De rechtse poot sluiten we aan op de analoge ingang van de Arduino A0.

We gebruiken de volgende Sketch;

#include <LiquidCrystal.h>
//Create variable named lcd of data type LiquidCrystal and initialize it with the connected digital pins
LiquidCrystal lcd(12,11,5,4,3,2);
int const temperaturePin = 0;

float degreesCelsius = 0;
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);//initialie the display with 16 characters/row and 2 rows

}

void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,0); //set the cursor to character 0 on first row
int measuredValue = analogRead(temperaturePin);
lcd.print(“Temperature:”);
lcd.setCursor(0,1);//move cursor to the next line
degreesCelsius = (float(measuredValue * 5) / 1023)*100;
lcd.print(degreesCelsius);
lcd.print(” C”);
}

Als we met de multimeter meten dan zien we bij 28°C een spanning van ongeveer 290 mV. Zoals je weet hebben alle metingen een bepaalde onnauwkeurigheid dus dit is juist.
Je zult ook zien dat deze sensor snel reageert. Als je een koud blikje drinken tegen de sensor aanzet zul je temperatuur snel zien dalen.

 

 

Opdracht 1

Maak een Sketch die op de 1e regel de tekst “Dit is fun” en op de 2e regel “I did it” laat zien waarbij elke 100ms een nieuwe letter op het scherm komt. Je schrijft dus eerst de Hoofletter “I” na 100 ms schrijf je een “spatie” etc. etc.

Opdracht 2

Herschrijf de Sketch van de temperatuur meter en laat nu de temperatuur in Fahrenheit zien.

Wat hebben we geleerd;

  • Hoe we een bibliotheek in de Sketch kunnen laden.
  • Hoe we een display aan kunnen sturen.
  • Hoe we een eenvoudige temperatuur meter kunnen maken.
TestenStatus

Een reactie plaatsen