Katse 5.

Katse LCD ekraani kasutamine

// lisame LiquidCrystal library

#include

// 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 = 4; koht—) {

lcd.setCursor(koht, 0);

lcd.write(7);

delay(400);

}

delay(400);

}

DateTime (RTClib.h teeke kasutamine)

// lisame RTClib.h library

#include
#include
RTC_DS1307 rtc;
void setup ()
{
Serial.begin(9600);
Wire.begin();
rtc.begin();
if (! rtc.isrunning()) {
Serial.println(«RTC is NOT running!»);
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = rtc.now();

char dt[10];
char tm[10];

sprintf(dt, «%02d/%02d/%02d», now.year(),now.month(),now.day());
sprintf(tm, «%02d:%02d:%02d», now.hour(),now.minute(),now.second());

Serial.print(dt);
Serial.print(» «);
Serial.print(tm);
Serial.println();

delay(1000);
}

Ülesanne 5 Interaktiivne infoekraan «Ilmajaam»

Komponendid:

  1. Üks arduino uno plaat
  2. Üks potentsiomeeter
  3. Üks takisti
  4. 16 juhet

https://www.tinkercad.com/things/6b2dTA5C1tp-fabulous-robo/editel

// C++ code
//
#include
int sensorPin = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte leftSmile[8] = {
0b00000,
0b00000,
0b10000,
0b10000,
0b11000,
0b01111,
0b00000,
0b00000};
byte rightSmile[8] = {
0b00000,
0b00000,
0b00001,
0b00001,
0b00011,
0b11110,
0b00000,
0b00000};
byte eye[8] = {
0b00000,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b00000,
0b00000};
byte HappyEye[8] = {
0b00000,
0b00000,
0b00100,
0b01010,
0b10001,
0b00000,
0b00000,
0b00000};
byte hart[8] = {
0b00000,
0b00000,
0b00000,
0b01010,
0b11111,
0b01110,
0b00100,
0b00000};
byte big_hart1[8] = {
0b00000,
0b01110,
0b11111,
0b11111,
0b01111,
0b00111,
0b00011,
0b00001};
byte big_hart2[8] = {
0b00000,
0b11100,
0b11110,
0b11110,
0b11100,
0b11000,
0b10000,
0b00000};

void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
lcd.createChar(1, leftSmile);
lcd.createChar(2, rightSmile);
lcd.createChar(3, eye);
lcd.createChar(4, HappyEye);
lcd.createChar(5, hart);
lcd.createChar(6, big_hart1);
lcd.createChar(7, big_hart2);
}

void loop()
{
int val = analogRead(sensorPin);
val = map(val,0,1023,1,2);
val = constrain(val,1,2);
if (val==1)
{
lcd.clear();
lcd.setCursor(5, 0);
lcd.print(«Hello!»);
delay(2000);
lcd.clear();
lcd.setCursor(7, 0);
lcd.write(3);
lcd.setCursor(8, 0);
lcd.write(3);
lcd.setCursor(7, 1);
lcd.write(1);
lcd.setCursor(8, 1);
lcd.write(2);
delay(2000);
lcd.setCursor(7, 0);
lcd.write(4);
lcd.setCursor(8, 0);
lcd.write(4);
delay(2000);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print(«How are you?»);
delay(2000);
lcd.clear();
lcd.clear();
lcd.setCursor(7, 0);
lcd.write(3);
lcd.setCursor(8, 0);
lcd.write(3);
lcd.setCursor(7, 1);
lcd.write(1);
lcd.setCursor(8, 1);
lcd.write(2);
delay(2000);
lcd.setCursor(7, 0);
lcd.write(4);
lcd.setCursor(8, 0);
lcd.write(4);
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(«Have a good day»);
delay(2000);
lcd.clear();
lcd.setCursor(8, 0);
lcd.write(5);
lcd.setCursor(12, 1);
lcd.write(5);
lcd.setCursor(5, 1);
lcd.write(6);
lcd.setCursor(6, 1);
lcd.write(7);
lcd.setCursor(1, 0);
lcd.write(6);
lcd.setCursor(2, 0);
lcd.write(7);
lcd.setCursor(13, 0);
lcd.write(5);
delay(2000);
lcd.clear();
lcd.setCursor(7, 0);
lcd.print(«Bye»);
delay(2000);
}
if (val==2)
{
lcd.clear();
}

}

https://drive.google.com/file/d/1a_Ht5_UkR64tUWxlUoRP8A16YHsaO9QQ/view?usp=sharing

Tööpõhimõte:

Ahel töötab potentsiomeetri abil. Kui see on seatud väärtusele 1, esitatakse ekraanil pilte ja teksti. Kui 2, siis on ahel välja lülitatud

Uued funktsioonid:

LiquidCrystal lcd() — Funktsioon.

Võimaldab suhelda tähtnumbriliste vedelkristallkuvaritega (LCD).

byte() — Funktsioon.

Bait salvestab 8-bitise märgita numbri vahemikus 0 kuni 255.

lcd.begin() — Funktsioon.

Lähtestab LCD-ekraani liidese ja määrab ekraani mõõtmed (laius ja kõrgus). begin() tuleb välja kutsuda enne mis tahes muid LCD teegi käske.

lcd.createChar() — Funktsioon.

Looge LCD-ekraanil kasutamiseks kohandatud märk (glüüf). Toetatakse kuni kaheksat 5×8 pikslilist tähemärki (numereeritud 0 kuni 7). Iga kohandatud märgi välimus määratakse kaheksabaidise massiiviga, üks iga rea kohta. Iga baidi viis kõige vähem olulist bitti määravad selle rea pikslid. Kohandatud tähemärgi kuvamiseks ekraanil kirjutage() selle number.

lcd.setCursor() — Funktsioon.

Liquid Crystal Library võimaldab juhtida LCD-ekraane, mis ühilduvad Hitachi HD44780 draiveriga. Neid on seal palju ja tavaliselt saate neist aru 16-pin liidese järgi.

lcd.write() — Funktsioon.

Kirjutage LCD-ekraanile märk.

lcd.clear() — Funktsioon.

Tühjendab LCD-ekraani ja asetab kursori vasakusse ülanurka.

kasutamisvõimalused tavaelus.

Vedelkristallkuvarit kasutatakse graafilise või tekstilise teabe kuvamiseks arvutimonitoridel (ka sülearvutites), televiisorites, telefonides, digikaamerates, e-raamatutes, navigaatorites, tahvelarvutites, elektroonilistes tõlkides, kalkulaatorites, kellades