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