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();
}