5. Katse LCD ekraani kasutamine
Lsd ekraanile kuvatakse pildid

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] ={0b00000,0b00000,0b01010,0b00000,0b00000,0b10001,0b01110,0b00000};
byte armsDown[8] ={0b00100,0b01010,0b00100,0b00100,0b01110,0b10101,0b00100,0b01010};
byte armsUp[8] ={0b00100,0b01010,0b00100,0b10101,0b01110,0b00100,0b00100,0b01010};
byte kass[8] ={0b00000,0b00000,0b00000,0b10000,0b10011,0b11111,0b01110,0b01010};
byte tydruk[8] ={0b00100,0b01010,0b00100,0b11111,0b00100,0b00100,0b01110,0b11111};
byte v2ikesyda[8] ={0b00000,0b00000,0b00000,0b11011,0b11111,0b11111,0b01110,0b00100};
void setup() {
lcd.begin(16, 2);
lcd.createChar(1, smiley);
lcd.createChar(3, armsDown);
lcd.createChar(4, armsUp);
lcd.createChar(5, kass);
lcd.createChar(6, tydruk);
lcd.createChar(7, v2ikesyda);
}
void loop() {
lcd.setCursor(2, 0);
lcd.write(5);
lcd.write(6);
lcd.setCursor(13, 1);
lcd.write(3);
delay(400);
lcd.setCursor(4, 0);
for (int koht = 0; koht < 10; koht++) {
lcd.write(1);
delay(400);
}
lcd.setCursor(13, 1);
lcd.write(4);
for (int koht = 13; koht >= 4; koht--) {
lcd.setCursor(koht, 0);
lcd.write(7);
delay(400);
}
delay(400);
}
5.2. DateTime (RTClib.h teeke kasutamine)
Ekraanile kuvatakse kuupäev ja kellaaeg

Ülesanne 5 Interaktiivne infoekraan ( termomeeter lsd ekraaniga (
Töö kirjeldus
LSD ekraanil näidatakse temperatuuri ja kirjutatakse näiteks: kuum, soe, külm. Lisa ka joonistus
Töö protsess
Temperatuuriandurilt loetakse temperatuur ja see näitab temperatuuri, kui kõrge või madal see on ja muster
Kasutatud komponeendid
- Arduino UNO plaat (1tk)
- Arendusplaat (1tk)
- Juhtmed (15tk)
- Termoandur(1tk)
- Buzzer(1tk)
- Takisti (1tk, 220Om)
- LCD ekraan (1tk)

Skeem

Kood
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int temperaturePin = A1;
const char* temperatureStatus[] = {
"temperatuur",
"normaalne",
"temperatuur",
"madal",
"temperatuur",
"vaga madal",
"temperatuur",
"korge",
"temperatuur",
"vaga korge"
};
byte cloud[8] = {
0b00000,
0b10101,
0b01110,
0b11011,
0b01110,
0b10101,
0b00000,
0b00000
};
byte sun[8] = {
0b00100,
0b00000,
0b10101,
0b01110,
0b10101,
0b00000,
0b00100,
0b00000
};
byte snowflake[8] = {
0b00100,
0b10101,
0b01110,
0b11011,
0b01110,
0b10101,
0b00100,
0b00100
};
byte hot[8] = {
0b00100,
0b10001,
0b01110,
0b01010,
0b01110,
0b10001,
0b00100,
0b00000
};
byte veryHot[8] = {
0b00100,
0b10001,
0b01110,
0b11111,
0b01110,
0b10001,
0b00100,
0b00100
};
void setup() {
lcd.begin(16, 2);
lcd.createChar(0, sun);
lcd.createChar(1, cloud);
lcd.createChar(2, snowflake);
lcd.createChar(3, hot);
lcd.createChar(4, veryHot);
Serial.begin(9600);
}
void loop() {
int temperature = analogRead(temperaturePin);
float celsius = map(temperature, 0, 1023, -40, 250);
lcd.setCursor(0, 0);
lcd.print(temperatureStatus[0]);
lcd.setCursor(0, 1);
if (celsius >= 25 && celsius <= 35) {
lcd.print(temperatureStatus[1]);
lcd.write((uint8_t)0);
} else if (celsius >= 10 && celsius < 25) {
lcd.print(temperatureStatus[3]);
lcd.write((uint8_t)1);
} else if (celsius < 10) {
lcd.print(temperatureStatus[5]);
lcd.write((uint8_t)2);
} else if (celsius > 35 && celsius <= 50) {
lcd.print(temperatureStatus[7]);
lcd.write((uint8_t)3);
} else if (celsius > 50) {
lcd.print(temperatureStatus[9]);
lcd.write((uint8_t)4);
}
lcd.print(" ");
lcd.print(celsius);
lcd.print((char)223); // символ градуса
delay(800);
lcd.clear();
}
Video
https://drive.google.com/drive/u/0/folders/1j6WpRfHEuwR4kQf80tgWWJB0ZbuAPIWR
Kus neid komponente kasutada?
LSD-ekraani kasutatakse graafilise või tekstilise teabe kuvamiseks arvutimonitorides (ka sülearvutites), telerites, telefonides, digitaalsetes fotoaparaatides, e-raamatutes, navigatsiooniseadmetes, tahvelarvutites, elektroonilistes tõlkijates, kalkulaatorites, kellades jne.
Uued funktsioonid
#include <LiquidCrystal.h> – Võimaldab suhelda tähtnumbriliste vedelkristallkuvaritega (LCD-d).
lcd.begin – Initsialiseerib LCD-ekraani liidese ja määrab ekraani mõõtmed (laius ja kõrgus)
lcd.createChar – LCD-l kasutamiseks kohandatud märgi (glyph) loomine
lcd.setCursor – Asetage LCD- kursor; see tähendab, et määrake asukoht, kus kuvatakse LCD- le kirjutatud tekst
lcd.print – Trükib teksti LCD-le