katse 5.1 LCD ekraani kasutamine
Töö kirjeldus:
Looda LCD ekraanil tegevus
Komponendid:
1602 LCD ekraan
potentsiomeeter
takisti 220 Om
Juhtmed 16 tk
Ühendus skeem:

Programm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | #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 ); } |
Foto:
LCD ekraanil muutub väärtused mis näitab liikumist ja muutmist
Ülesanne 5 Interaktiivne infoekraan
Töö kirjeldus:
Näita LCD ekraanil lause või seisukord väljas (temperatuur)
Komponendid:
Arduino Uno
Arendusplaat
Potentsioometr 1tk
LCD ekraan 1602
Temperatuuri andur TMP
Takisti 220 Om
Juhtmed 19 tk
Ühendus skeem:

Seletus:
LCD ekraanil näitakse temperatuur vastavalt temperatuuri anduri tulemusest, kui temperatuuri andur loeb soe temperatuuri siis näitab LCD ekraanil on soe , päike ja rõõmus näö. Kui temperatuuri andur loeb külma temperatuuri siis näitab LCD ekraanil on külm, kuu ja kurb näö.
Programm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #include <LiquidCrystal.h> LiquidCrystal lcd( 12 , 11 , 5 , 4 , 3 , 2 ); int temperaturePin = A0; const char * myStrings[] = { "temperatuur" , "on soe" }; const char * coldStrings[] = { "temperatuur" , "on kylm" }; byte smiley[ 8 ] = { 0b00000, 0b00000, 0b01010, 0b00000, 0b00000, 0b10001, 0b01110, 0b00000}; byte sadface[ 8 ] = { 0b00000, 0b01010, 0b00000, 0b00000, 0b00000, 0b00000, 0b01110, 0b10001 }; byte sunSymbol[ 8 ] = { 0b10101, 0b01110, 0b01110, 0b11111, 0b11111, 0b01110, 0b01110, 0b10101 }; byte moonSymbol[ 8 ] = { 0b00000, 0b00100, 0b01110, 0b01110, 0b01110, 0b00100, 0b00000, 0b00000 }; void setup () { lcd.begin( 16 , 2 ); lcd.createChar( 0 , smiley); lcd.createChar( 1 , sadface); lcd.createChar( 2 , sunSymbol); lcd.createChar( 3 , moonSymbol); Serial.begin ( 9600 ); } void loop () { int temperature = analogRead (temperaturePin); float celsius = map (temperature, 0 , 1023 , - 40 , 250 ); lcd.setCursor( 0 , 0 ); lcd.print(myStrings[ 0 ]); // "temperatuur" kuvamine esimesel real lcd.setCursor( 0 , 1 ); if (celsius > 22 ) { lcd.print(myStrings[ 1 ]); // Kuva "soe" teisel real, kui see on kuum lcd.write((uint8_t) 2 ); // Päikese sümboli kuvamine lcd.write((uint8_t) 0 ); // Naeratava näo kuvamine } else { lcd.print(coldStrings[ 1 ]); // Külma korral näidatakse "kylm" teisel real lcd.write((uint8_t) 3 ); // Kuu sümboli kuvamine lcd.write((uint8_t) 1 ); // Kurva näo kuvamine } // Prindime temperatuuri ja heleduse väärtused serial monitorile Serial.print ( "Temperature: " ); Serial.print (celsius); Serial.println ( "C" ); delay ( 1000 ); // Temperatuurikontrollide vaheline viivitus - 1 sekund lcd.clear(); } |
Video:
https://drive.google.com/drive/folders/1QIIOFeZJeWjZsU1fwYtt2furDs4VmduP?usp=share_link
Kus võib seda kasutada
Nutitelefon
Sülearvuti
Televisoorid
Videokassettmagnetofon
Mp3 pleer
Uued funktsioonid:
lcd.write((uint8_t)2); uint8_t universaalne vorm pöörama objektile, siis võtakse milline objekti number, mis oli määratud setup-s.