katse 5.1
Tulemuseks on liikuv pilt, kus poiss ja tüdruk üksteiseke südameid ja naerunägusid saadavad.
Komponendid:
1 x 1602 LCD ekraan
1 x potentsiomeeter
16 x tavalised üksikud isane-isane juhtmed
1 x 330 Ω takisti
Skeem:

Kood:
// 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);
}
katse 5.2
RTClib.h teeke installimine ja kasutamine
Kasutuskomponeendid:
Arduino Uno
Pildil on
Skeem:

Kood:
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup() {
Wire.begin();
Serial.begin(9600);
rtc.begin();
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Используем время компиляции для установки RTC
}
void loop() {
DateTime now = rtc.now();
Serial.println(now.timestamp()); // Выводим временную метку в монитор последовательного порта
delay(1000);
}
Foto:



katse 5.3
töö protses:
Programm kuvab ekraanil emotikone ja muudab kuvatavat emotikone olenevalt potentsiomeetri asendist.
Komponendid:
1 lcd
17 juhet
2 takisti
1 potentsiomeeter
Arduino
Plaat
skeem:

kood:
byte smileys[4][8] = {
{0b00000, 0b01010, 0b00000, 0b10001, 0b01110, 0b00000, 0b00000, 0b00000},
{0b00000,
0b01010,
0b01010,
0b00000,
0b01110,
0b10001,
0b00000,
0b00000},
{0b00000, 0b01110, 0b01010, 0b00000, 0b10001, 0b01110, 0b00000, 0b00000},
{0b00000, 0b00000, 0b01110, 0b01010, 0b00000, 0b10001, 0b01110, 0b00000}
}; //baidimassiivid
char smileyTexts[4][9] = {
"Happy",
"Cool",
"Cute",
"Funny"
}; //sisaldab iga emotikoni tekstikirjeldust. Massiivi iga rida sisaldab märgimassiivi pikkusega 9, mis salvestab tekstikirjelduse
int potPin = A0; // deklareerida muutujaid
int currentSmileyIndex = 0;
void setup() { //Funktsiooni sees määratakse ekraani suurus
lcd.begin(16, 2);
for (int i = 0; i < 4; i++) { //
lcd.createChar(i + 1, smileys[i]);
}
} //ikl loob LCD-ekraanil kohandatud tähemärke. See kordab i väärtusi vahemikus 0 kuni 3 ja kutsub funktsiooni välja
void loop() {
int potValue = analogRead(potPin);
int smileyIndex = map(potValue, 0, 1023, 0, 3);
if (smileyIndex != currentSmileyIndex) {
currentSmileyIndex = smileyIndex;
lcd.clear();
lcd.setCursor(0, 0);
for (int i = 0; i <= currentSmileyIndex; i++) {
lcd.write(i + 1);
lcd.print(" ");.
lcd.print(smileyTexts[i]);
delay(2000); // 2 sekundit viivitust
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0); // очищает строку на дисплее.
}
}
}
Reaalse elu rakendused:
Vedelkristallkuvarid kasutatakse graafilise või tekstilise teabe kuvamiseks arvutimonitoritel (ka sülearvutites), teleritel, telefonides, digikaameratel, e-raamatutel, navigaatoritel, tahvelarvutitel, elektroonilistel tõlkeseadmetel, kalkulaatoritel, kelladel.
Video:
Uued funktsioonid:
lcd.begin(): LCD-ekraani algseadistusfunktsioon, mis määrab ekraani suuruse. lcd.createChar(): Funktsioon, mis loob kohandatud tähemärgid (emotikonid) LCD-ekraanile.
lcd.clear(): Funktsioon, mis puhastab LCD-ekraani sisu. lcd.setCursor(): Funktsioon, mis seab kursori LCD-ekraanil konkreetsele positsioonile.
lcd.write(): Funktsioon, mis kirjutab määratud tähemärgi (emotikoni) LCD-ekraanile.
lcd.print(): Funktsioon, mis kuvab teksti LCD-ekraanile.