K. 5 LCD ekraani kasutamine

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
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()
{
lcd.begin(16, 2);
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()
{
lcd.setCursor(2, 0);
lcd.write(5);
lcd.write(6);
lcd.setCursor(13, 1);
lcd.write(3);
delay(400);
lcd.setCursor(4, 0);
for (int koht = 0; koht < 10; koht++)
{
lcd.write(1);
delay(400);
}
lcd.setCursor(13, 1);
lcd.write(4);
for (int koht = 13; koht >= 4; koht--)
{
lcd.setCursor(koht, 0);
lcd.write(7);
delay(400);
}
delay(400);
}
Ülesanne “Interaktiivne infoekraan”

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte creeper1[8] = {0b00000,0b00000,0b01100,0b01100,0b00011,0b00111,0b00111,0b00100};
byte creeper2[8] = {0b00000,0b00000,0b11000,0b11000,0b00000,0b10000,0b10000,0b10000};
byte charR[8] = {0b00000,0b01100,0b10010,0b10010,0b11100,0b10100,0b10010,0b00000};
byte charC[8] = {0b00000,0b01110,0b10000,0b10000,0b10000,0b10000,0b01110,0b00000 };
byte charE[8] = {0b00000,0b11110,0b10000,0b10000,0b11100,0b10000,0b11110,0b00000};
byte charP[8] = { 0b00000, 0b11100, 0b10010, 0b11100, 0b10000, 0b10000, 0b10000, 0b00000 };
byte none[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
byte charT[8] = { 0b00000, 0b01110, 0b00100, 0b00100, 0b00100, 0b00100, 0b00100, 0b00000 };
byte charH[8] = { 0b00000, 0b01010, 0b01010, 0b01110, 0b01010, 0b01010, 0b01010, 0b00000 };
byte charK[8] = { 0b00000, 0b10010, 0b10100, 0b11000, 0b10100, 0b10010, 0b10010, 0b00000 };
byte num2[8] = { 0b00000, 0b01100, 0b10010, 0b00010, 0b01100, 0b10000, 0b11110, 0b00000 };
byte num4[8] = { 0b00000, 0b00110, 0b01010, 0b10010, 0b11110, 0b00010, 0b00010, 0b00000 };
byte charA[8] = { 0b00000, 0b01100, 0b10010, 0b11110, 0b10010, 0b10010, 0b10010, 0b00000 };
byte charV[8] = { 0b00000, 0b10010, 0b10010, 0b10010, 0b10010, 0b10010, 0b01100, 0b00000 };
byte cat1[8] = { 0b00000, 0b01100, 0b10010, 0b00010, 0b00001, 0b00000, 0b00000, 0b00000 };
byte cat2[8] = { 0b00000, 0b00010, 0b00011, 0b00011, 0b11111, 0b11111, 0b10101, 0b10101 };
byte heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000 };
byte kormcat[8] = { 0b00001, 0b10100, 0b00001, 0b01000, 0b00010, 0b01000, 0b00001, 0b10100 };
byte cat3[8] = { 0b00000, 0b10000, 0b10000, 0b10000, 0b00000, 0b00000, 0b00000, 0b00000 };
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop()
{
int value = analogRead(0);
value = map(value,0,1023,0,3);
value = constrain(value,1,3);
Serial.println(value);
if (value==1)
{
lcd.createChar(1, creeper1);
lcd.createChar(2, creeper2);
lcd.createChar(3, charC);
lcd.createChar(4, charR);
lcd.createChar(5, charE);
lcd.createChar(6, charP);
lcd.createChar(7, none);
r1();
}
else if (value==2)
{
lcd.createChar(1, charT);
lcd.createChar(2, charH);
lcd.createChar(3, charK);
lcd.createChar(4, charA);
lcd.createChar(5, charR);
lcd.createChar(6, charP);
lcd.createChar(7, charV);
lcd.createChar(8, heart);
r2();
}
else if (value==3)
{
lcd.createChar(1, cat1);
lcd.createChar(2, cat2);
lcd.createChar(3, cat3);
lcd.createChar(4, none);
lcd.createChar(5, kormcat);
lcd.createChar(6, none);
lcd.createChar(7, heart);
r3();
}
}
void r1()
{
int ints[]={3,4,5,5,6,5,4};
lcd.setCursor(0, 0);
for (int i = 0; i<8; i++)
{
lcd.write(1);
lcd.write(2);
delay(300);
}
lcd.setCursor(0,1);
for (int i = 0; i < 7; i++)
{
lcd.write(ints[i]);
}
delay(500);
lcd.setCursor(0,1);
for (int i = 0; i<8; i++)
{
lcd.write(7);
}
delay(500);
lcd.setCursor(8,1);
for (int i = 0; i < 7; i++)
{
lcd.write(ints[i]);
}
delay(500);
lcd.setCursor(8,1);
for (int i = 0; i<8; i++)
{
lcd.write(7);
}
delay(500);
lcd.clear();
delay(500);
}
void r2()
{
lcd.setCursor(0,0);
int ints[]={1,1,2,3};
for (int i = 0; i<4; i++)
{
lcd.write(ints[i]);
}
delay(1000);
int ints2[] = {1,4,5,6,7};
lcd.setCursor(5,0);
for (int i = 0; i<5; i++)
{
lcd.write(ints2[i]);
}
delay(1000);
for (int i = 0; i<16; i++)
{
int rand = random(0,16);
lcd.setCursor(rand, 1);
lcd.write(8);
delay(200);
}
lcd.clear();
delay(1000);
}
void r3()
{
int o = 1;
lcd.setCursor(7,0);
lcd.write(5);
lcd.setCursor(0,0);
for (int i = 1; i<4; i++)
{
lcd.write(i);
}
for (int u = 0; u<5; u++)
{
delay(1000);
lcd.setCursor(o-1,0);
lcd.write(6);
lcd.setCursor(o,0);
for (int i = 1; i<4; i++)
{
lcd.write(i);
}
o+=1;
}
delay(300);
lcd.write(7);
delay(500);
lcd.clear();
delay(1000);
}
Töö kirjeldus:
See on interaktiivne ekraan, mida saab juhtida potentsiomeetriga. Sellel on 3 režiimi. Kui arvestati potentsiomeetri väärtusi, määratakse seisukorras arvud ise. 1 režiimis, 1 real on kõik täidetud ühe mängu Creeperi tegelastega, need koosnevad 2 osast ja neid kuvatakse ükshaaval 300 millisekundilise viitega. Kui 2. real on täidetud terve 1 rida, ilmub kiri Creeper kaks korda, kuid ekraani erinevatesse osadesse ja 500 millisekundilise viivitusega, st ilmub 1 kiri, möödub 500 millisekundit, see kaob ja ilmub 2 kirja ja pärast 500 millisekundit kaob pärast 500 millisekundi möödumist, kõik kustutatakse ja veel 500 millisekundi pärast käivitub programm uuesti. Kõik tähed on käsitsi joonistatud, nagu ka kõik detailid. Režiimis 2 näen esmalt 1. real TTHK ja 1 sekundi pärast ilmub tühik ja TARPV silt ning 1 sekundi pärast ilmub 2. reale juhuslikus järjekorras 1 kuni 16 südant ajaintervalliga 200 millisekundit. , pärast nende kõigi ilmumist kustutatakse kõik ja 1 sekundi pärast käivitub programm uuesti. Režiimis 3 ilmub 8. veerus kassitoit ja kohe ilmub kass ise, kes liigub toidu poole ja ta astub sammu 1 sekundilise viivitusega ning toidu juurde jõudes ilmub 300 millisekundi pärast järgmisena süda. kassile oma rõõmu avaldamas ja 500 millisekundi pärast kustutatakse kõik ekraanilt ning 1 sekundi pärast käivitub programm uuesti.
Komponendid:
- Arduino Uno
- Arendusplaat
- Takisti – 2(220 ohm)
- juhtmed – 17
- potentsiomeeter – 1
- 1602 LCD ekraan – 1
https://www.tinkercad.com/things/duuL4yxcLDw-surprising-fyyran/editel?sharecode=NK55dfrd-hYRZcEMyF7_EM-QFiVJNG6bGUryla6cPRY
LSD-ekraani eluaegne kasutamine:
- Psühhoteraapia: LSD-ekraani saab kasutada psühhoteraapia praktikas vahendina, mis aitab patsientidel uurida oma teadvust, minevikutraumasid või isiklikku kasvu.
- Uuringud: LSD-ekraane saab kasutada teadusuuringutes, et uurida LSD mõju ajule ja teadvusele, aga ka teiste psühhoaktiivsete ainete uurimiseks.
- Loovus: mõned kunstnikud ja muusikud kasutavad LSD-ekraane oma loomeprotsessi laiendamiseks ja ainulaadsete kunstiteoste loomiseks.
- Religioossed ja vaimsed tavad: Mõned religioossed ja vaimsed rühmad kasutavad LSD-ekraane vaimse valgustumise, teadvuse laiendamise ja rituaalsete tseremooniate eesmärgil.
- Meelelahutuslik kasutamine: mõned inimesed võivad kasutada LSD-ekraane psühhedeelsete kogemuste ja meelelahutuse jaoks.
- Suurenenud loovus ja intellektuaalne aktiivsus: Mõned uuringud näitavad, et LSD-ekraanid võivad suurendada loovust ja intellektuaalset tegevust, mis võib viia uute ideedeni ja probleemide lahendamiseni.
- Enesetundmine ja eneseareng: Mõned inimesed kasutavad LSD-ekraane eneseuurimiseks, enesetundmiseks ja isiklikuks arenguks.
- Sotsiaalne suhtlus: Mõned inimrühmad võivad kasutada LSD-ekraane sotsiaalsetes oludes, et luua sügavaid ja emotsionaalseid sidemeid ning parandada suhtlust.
- Võimalikud riskid: Oluline on märkida, et LSD-ekraanide kasutamisega võivad kaasneda teatud riskid, sealhulgas ebasoodsate psühholoogiliste reaktsioonide, kontrolli kaotuse ja pikaajaliste psühhiaatriliste tagajärgede võimalus.