Experiment 5

Katse 5.1

Komponendid:

Arduino UNO 1 tk.

Arendusplaat 1 tk.

Takistid 1 tk.

Juhtmed 16 tk.

Potensiomeetr 1 tk.

1602 LCD ekraan 1tk.

code:

#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

Kui temperatuur on üle 22, süttib alumisel real esimene lause “Anna is toxic!!!”. ja ülemisel real on 2 erinevat emotikonit, kui temperatuur on alla 22, süttib alumisel real teine ​​lause “Matvei is not!!!”. ja veel 2 erinevat emotikonit on ülemisel real.

Katse 5.1

Komponendid:

Arduino UNO 1 tk.

Arendusplaat 1 tk.

Takistid 1 tk.

Juhtmed 19 tk.

Potensiomeetr 1 tk.

1602 LCD ekraan 1tk.

Termoandur 1 tk.

code:

#include <LiquidCrystal.h>
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int tempPin = A0;
 
byte fignja3[8] ={
    0b11111,
	0b10101,
	0b10101,
	0b11011,
	0b11011,
	0b10101,
	0b10101,
	0b11111
};
byte fignja[8] = {
    0b00100,
	0b01010,
	0b01010,
	0b10101,
	0b10101,
	0b01010,
	0b01010,
	0b00100
};
 
byte fignja2[8] = {
    0b11011,
	0b10101,
	0b10101,
	0b01010,
	0b01010,
	0b10101,
	0b10101,
	0b11011
};
 
byte fignja4[8] = {
    0b00000,
	0b01010,
	0b01010,
	0b00100,
	0b00100,
	0b01010,
	0b01010,
	0b00000
};

const char* first[] = 
{
  "Anna is toxic!!!"
};
 
const char* second[] = 
{
  "Matvei is not!!!"
};
 

 
void setup() {
  lcd.begin(16, 2);
  lcd.createChar(4, fignja3);
  lcd.createChar(1, fignja);
  lcd.createChar(2, fignja2);
  lcd.createChar(3, fignja4);
   
  Serial.begin(9600);
}
 
void loop() {
  int temperature = analogRead(tempPin);
  float tempetur = map(temperature, 0, 1023, -20, 200);    
  lcd.setCursor(0, 0);
 
  lcd.setCursor(0, 1);
  if (tempetur > 22) 
  {
    lcd.print(first[0]); 
    lcd.setCursor(4, 0);
    lcd.write(1);
    lcd.setCursor(7, 0);
    lcd.write(2);
  } 
  else 
  {
    lcd.print(second[0]);
    lcd.setCursor(6, 0);
    lcd.write(4);
    lcd.setCursor(9, 0);
    lcd.write(3);
  }
   
  Serial.print(tempetur);
  Serial.println(" ");  
 
  delay(1000); 
  lcd.clear();
     
}

en_US