Ülesanne 5 Interaktiivne infoekraan

5. Katse LCD ekraani kasutamine

komponeendid:

arduino uno

potesniametr

lcd 16×2

Temperatuuritundlik

resistor

#include <LiquidCrystal.h>

const int temperaturePin = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// loome erisümbolid
byte plus[8] = {
  0b00000,
  0b00000,
  0b00100,
  0b01110,
  0b00100,
  0b00000,
  0b00000,
  0b00000
};

byte minus[8] = {
  0b00000,
  0b00000,
  0b00000,
  0b01110,
  0b00000,
  0b00000,
  0b00000,
  0b00000
};

byte smile[8] = {
  0b00000,
  0b00000,
  0b01010,
  0b00000,
  0b10001,
  0b01110,
  0b00000,
  0b00000
};
const char* sStrings[]={"Teplo             "};
const char* kStrings[]={"Xolodno            "};
const char* nStrings[]={"Normalno            "};


void setup() {
  
lcd.begin(16, 2);
lcd.createChar(1, plus);
lcd.createChar(2, minus);
lcd.createChar(3, smile);  
Serial.begin(9600);

}

void loop(){
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.print(degreesC);
Serial.print(" deg F: ");
Serial.println(degreesF);
  if (degreesC > 26)
  {  
      lcd.setCursor(6, 0);
      lcd.println(sStrings[0]);
      lcd.setCursor(7, 1);
      lcd.write(1);
      delay(300); 
   }
   else if(degreesC < 24)
   {
      lcd.setCursor(6, 0);
      lcd.println(kStrings[0]);
      lcd.setCursor(7, 1);
      lcd.write(2);
      delay(300);  
    }
  else if(degreesC >24.5 and degreesC<25)
   {
      lcd.setCursor(6, 0);
      lcd.println(nStrings[0]);
      lcd.setCursor(7, 1);
      lcd.write(3);
      delay(300);  
    }   
}
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
} 

Kasutamine:lcd ekraane saab kasutada arvuti temperatuuri jälgimiseks jne

https://www.tinkercad.com/things/4soi9r40tzp