ROB. LCD ekraan

Katse 1, LCD ekraan:

SKEEM:

Komponendid:

  • 16 juhtmed
  • Arduino plaat
  • Arendus plaat
  • LCD ekraan
  • Potentsiomeeter
  • 1 resistor

Näidis 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);

}

Näidis kuidas töötab:

Katse 2, DateTime:

SKEEM:

Komponendid:

  • Arduino plaat

Näidis kood:

#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
void setup ()
{
  Wire.begin();
  Serial.begin(9600);
  rtc.begin();
  rtc.adjust(DateTime(__DATE__,__TIME__));
}
  void loop () {
  	DateTime now_ = rtc.now();
  	Serial.println(__TIME__);
  	Serial.println(__DATE__);
  delay(1000);
}

Katse 3, Interaktiivne infoekraan:

SKEEM:

KOMPONENDID:

  • 23 juhtmed
  • 1 Arduino plaat
  • 1 Arendus plaat
  • 1 termomeeter
  • 1 LCD ekraan
  • 1 lüliti
  • 1 resistor

KOOD:

#include <LiquidCrystal.h>


int sensorPin = 0;
int sensorValue = 0;
int Value_new;
int pot = A0;
float result = 0.0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
float temp;
String name = "Tere!";

byte v2ikesyda[8] ={0b00000,0b00000,0b00000,0b11011,0b11111,0b11111,0b01110,0b00100};

void setup() {
  Serial.begin(9600);
  pinMode(pot, INPUT);
  lcd.begin(16, 2);
  lcd.print("Hello! Great day");
  lcd.createChar(8, v2ikesyda);
}



void loop() {
  
  Value_new = analogRead(sensorPin);
   Serial.print(Value_new);
   Value_new = map(Value_new, 0, 1023, 1, 6);
  if (Value_new == 1) {
   lcd.setCursor(15,1);
 lcd.write(8);
  temp=-40 + 0.488155 * (analogRead(pot) - 20);
   lcd.setCursor(0, 1);
   lcd.print("temp="); 
  lcd.print(temp);
  } else if (Value_new == 2) {
   lcd.setCursor(0,0);
     lcd.clear();
  lcd.print(name);
  for(int i =0; i<16-name.length(); i++)
  {
    
    lcd.scrollDisplayRight();
    delay(200);
  }
  lcd.clear();
  lcd.setCursor(15-name.length(),1);
  lcd.print(name);
  for(int j =1; j<16-name.length(); j++)
  {
   
    lcd.scrollDisplayLeft();
    delay(200);
}
  lcd.clear();
   
    
  }
   
}

Tava elust kasutamine:

Kui te ostate termometr, siis ekraanil kuvatakse tervitus, soov ja temperatuur. See termomeeter tõstab tuju oma sooviga. Osta, odav, Ainult üks hinnang 4 🙂

Uued funktsioonid:

  • serial.begin – kasutatakse järjestikuse side (serial communication) initsialiseerimiseks. See määrab andmeedastuskiiruse Arduino ja välise seadme (näiteks arvuti) vahel jadapordi kaudu.
  • rtc.begin – kasutatakse Arduinos koos reaalajas kella moodulitega (Real Time Clock, RTC), näiteks ds1307 või DS3231 mooduliga. See funktsioon lähtestab RTC mooduli, valmistades selle tööks ette.
  • rtc.adjust – kasutatakse kellaaja ja kuupäeva määramiseks Arduino reaalajas kella (RTC) moodulitele. Seda kutsutakse üks kord süsteemi seadistamisel või vajadusel aja värskendamisel.
  • DateTime – see on osa Arduino raamatukogust, mida kasutatakse kuupäeva ja kellaaja esitamiseks. Seda jagatakse tavaliselt reaalajas kella (RTC) moodulitega, näiteks DS1307 või DS3231.
  • serial.println – kasutatakse Arduinos andmete väljastamiseks jadaporti (kasutatakse sageli arvutiga ühendamiseks). See saadab teksti või muutujate väärtused porti, mida saab lugeda arvutis olevate programmide või muu Arduinoga ühendatud seadme abil.
  • include – programmeerimiskeeles kasutatakse c / c++ teise faili sisu lisamiseks praegusesse lähtefaili. Arduinos kasutatakse seda raamatukogude ühendamiseks, mis sisaldavad teie programmi toimimiseks vajalikke funktsioone ja määratlusi.
  • wire.begin – kasutatakse Arduinos traadi teegi initsialiseerimiseks, mis pakub I2C (Inter-Integrated Circuit) liidest I2C siiniga ühendatud seadmetega suhtlemiseks. Enne funktsioonide kasutamist, et töötada seadmetega mööda SIINI2C, peate helistama ‘Wire.begin ()’ selle siini initsialiseerimiseks.
  • byte – C/C++ programmeerimiskeeles kasutatakse võtmesõna byte muutuja määratlemiseks, mis salvestab 8 bitti teavet, mis on 1 bait. The Arduino ide on varjunimi unsigned char. Tavaliselt byte kasutatakse väikeste täisarvude salvestamiseks vahemikus 0 kuni 255.
  • lcd.setCursor – kasutatakse kursori asukoha määramiseks Arduino LCD (Liquid Crystal Display) ekraanil. See võimaldab teil määrata, kuhu soovite järgmise märgi või stringi printida.
  • lcd.write – kasutatakse Arduinos ühe sümboli väljastamiseks LCD-ekraanile. See võimaldab teil saata märke kursori praegusele positsioonile, mis on määratud lcd-funktsiooni ‘abil.setCursor()’.
  • lcd.setCursor – kasutatakse kursori asukoha määramiseks Arduino LCD (Liquid Crystal Display) ekraanil. See võimaldab teil määrata, millises veerus ja millisel real soovite teksti kuvama hakata.

Link:
https://youtube.com/shorts/zVc18g64I6Y?si=BnAIrBvBQfGoBuOU