5. Katse LCD ekraani kasutamine

Komponeendid:

  • Arduino Uno
  • Arendusplaat
  • Juhtmed
  • Takisti
  • LCD ekraan
  • Potentiomeeter

Scheme

Code:

// lisame LiquidCrystal library
#include <LiquidCrystal.h>
// määrame, milliste digitaalpesadega ekraan ühendatud on
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// loome erisümbolid
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() {
// algväärtustatakse LDC ekraani read ja veerud
lcd.begin(16, 2);
// defineerime erisümbolid
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() {
// koht kuhu hakkame joonistama - 3. veerg, esimene rida
lcd.setCursor(2, 0);
// joonistame kassi
lcd.write(5);
// ja tüdruku
lcd.write(6);
//muudame kursori asukohta: 2. rida 14. veerg
lcd.setCursor(13, 1);
// joonistame poisi
lcd.write(3);
delay(400);
//muudame kursori asukohta: 1. rida 5. veerg
lcd.setCursor(4, 0);
//joonistame for tsükli abil väikese pausiga 10 smaili
for (int koht = 0; koht < 10; koht++) {
lcd.write(1);
delay(400);
}
lcd.setCursor(13, 1);
lcd.write(4);
//loobime südameid
for (int koht = 13; koht >= 4; koht--) {
lcd.setCursor(koht, 0);
lcd.write(7);
delay(400);
  }
delay(400);
}

Ülesanne Interaktiivne infoekraan

Komponeendid:

  • Arduino Uno
  • Arendusplaat
  • Juhtmed
  • Potentiomeeter
  • LCD ekraan
  • Takisti

Scheme

Video:

Töö kirjeldus:

LCD-ekraan lülitub sisse ja iga 1 sekundi järel kuvatakse 3 märki üksteise järel, iga 900 millisekundi järel kuvatakse 6 smiljet, nii et programmi alguses salvestatud 3-st juhuslikust smiljest 1 kuvatakse 400 millisekundi jooksul ja ekraan kustub 500 millisekundiks, mille järel korratakse seda veel kord, potentsiomeeter mõjutab ainult ekraani heledust.

Code:

// lisame LiquidCrystal raamatukogu
#include <LiquidCrystal.h>
// määrame, milliste digitaalpesadega ekraan ühendatud on
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// loome kasutaja märgid
byte smiley1[8] = {0b00000, 0b00000, 0b01010, 0b00000, 0b00000, 0b10001, 0b01110, 0b00000};
byte smiley2[8] = {0b00000, 0b00000, 0b01110, 0b01110, 0b01110, 0b11111, 0b00000, 0b00000};
byte smiley3[8] = {0b00000, 0b01010, 0b01010, 0b01010, 0b10001, 0b10001, 0b01110, 0b00000};
void setup() {
  // algväärtustame LCD ekraani
  lcd.begin(16, 2);
  // määrame kasutaja märgid
  lcd.createChar(1, smiley1);
  lcd.createChar(2, smiley2);
  lcd.createChar(3, smiley3);
}
void loop() {
  // tühjendame ekraani ja pärast iga funktsiooni
  lcd.clear();
  // kuvame esimese sõna
  lcd.setCursor(0, 0);
  lcd.print("TTHK is the Best!");
  delay(1000); // ootame 1 sekund iga kord
  lcd.clear();
  // kuvame teise sõna
  lcd.setCursor(0, 0);
  lcd.print("LCD ekraan siin");
  delay(1000);
  lcd.clear();
  // kuvame kolmanda sõna
  lcd.setCursor(0, 0);
  lcd.print("Slava ukraine");
  delay(1000);
  lcd.clear();
  // kuvame esimese emotikoni kolm korda
  for (int i = 0; i < 6; i++) {
    int randomRow = random(0, 2); // juhuslik rida (0 või 1)
    int randomCol = random(0, 16); // juhuslik veerg (0 kuni 15)
	int randomSmiley = random(1, 4); // juhuslik emotikon (1, 2 või 3)
    
    lcd.setCursor(randomCol, randomRow);
    lcd.write(randomSmiley);
    delay(400);
    lcd.clear();
    delay(500);
  }
}

LCD-ekraani kasutamisest igapäevaelus:

  • Nutitelefonid
  • Sülearvutid
  • Televisioonid
  • Digitaalsed fotokaamerad
  • Autonavigatsioonisüsteemid