Каталог 5

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:

// 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öö protsess:
Programm kuvab ekraanil emotikone ja muudab kuvatavat emotikone olenevalt potentsiomeetri asendist.

Komponendid:
1 lcd
17 juhet
2 takisti
1 potentsiomeeter
Arduino
Plaat

Skeem:

kood:

#include <LiquidCrystal.h> //liin ühendab raamatukogu
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //tähistab kontakte, millega signaalid on ühendatud
 
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);
//funktsioon loop() käivitatakse tsüklina pärast seda, kui funktsioon setup() on lõppenud. See loeb väärtust potentsiomeetrilt
 
  if (smileyIndex != currentSmileyIndex) {
    currentSmileyIndex = smileyIndex;
 
    lcd.clear();
    lcd.setCursor(0, 0);
 
    for (int i = 0; i <= currentSmileyIndex; i++) {
      lcd.write(i + 1); //kuvab ekraanil naeratuse sümboli.
      lcd.print(" "); //väljastab tühiku. //kuvab emotikoni kirjeldava teksti.
      lcd.print(smileyTexts[i]);
      delay(2000); // 2 sekundit viivitust
      lcd.setCursor(0, 0); //seab kursori tsükli järgmise iteratsiooni algusasendisse (0, 0).
      lcd.print("                "); // Liini puhastamine
      lcd.setCursor(0, 0); // очищает строку на дисплее. 
    }
  }
}

Reaalse elu rakendused:

Vedelkristallkuvarid on laialdaselt kasutusel graafilise või tekstilise teabe kuvamiseks mitmesugustes seadmetes nagu arvutimonitorid (sealhulgas sülearvutid), telerid, telefonid, digikaamerad, e-raamatud, navigaatorid, tahvelarvutid, elektroonilised tõlked, kalkulaatorid ja kellad.

Uued funktsioonid:

  1. lcd.begin(): LCD-ekraani algseadistusfunktsioon, mis määrab ekraani suuruse.
  2. lcd.createChar(): Funktsioon, mis loob kohandatud tähemärgid (emotikonid) LCD-ekraanile.
  3. lcd.clear(): Funktsioon, mis puhastab LCD-ekraani sisu.
  4. lcd.setCursor(): Funktsioon, mis seab kursori LCD-ekraanil konkreetsele positsioonile.
  5. lcd.write(): Funktsioon, mis kirjutab määratud tähemärgi (emotikoni) LCD-ekraanile.
  6. lcd.print(): Funktsioon, mis kuvab teksti LCD-ekraanile.