Új hozzászólás Aktív témák

  • Daszkalosz19

    aktív tag

    Sziasztok!

    egy relay állapotát hogyan tudom kiiratni lcd-re
    kezdőként itt küszködök vele :(
    ez lenne a kódom:

    köszönöm a segítséget!

    #include "DHT.h"
    #define DHTPIN 2
    #define DHTTYPE DHT22 // DHT 22 (AM2302)
    #define Relay 4
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x27, 20, 4);
    byte e1[8] = {B10,B100,B1110,B10001,B11111,B10000,B1110}; // Ez az é betű
    byte o1[8] = {B100,B100,B0,B1110,B10001,B10001,B1110}; // Ez a hosszú ó betű
    byte o2[8] = {B1010,B0,B1110,B10001,B10001,B10001,B1110}; // Ez a rövid ö betű
    byte o3[8] = {B1010,B1010,B0,B1110,B10001,B10001,B1110}; // Ez a hosszú ő betű
    byte a1[8] = {B10,B100,B1110,B1,B1111,B10001,B1111}; // Ez az á betű
    byte u1[8] = {B10,B100,B10001,B10001,B10001,B10011,B1101}; // Ez a hosszú ú betű
    byte u2[8] = {B1010,B0,B0,B10001,B10001,B10011,B1101}; // Ez a rövid ü betű
    byte u3[8] = {B1010,B1010,B0,B10001,B10001,B10011,B1101}; // Ez a hosszú ű betű
    byte i1[8] = {B10,B100,B0,B1110,B100,B100,B1110}; // Ez a hosszú í betű

    int maxHum = 95;
    int maxTemp = 29;

    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    pinMode(Relay, OUTPUT);
    Serial.begin(9600);
    Wire.begin();
    dht.begin();

    lcd.begin(20, 4);
    lcd.backlight();

    lcd.createChar(1, e1); // Ez az é betű
    lcd.createChar(2, a1); // Ez az á betű
    lcd.createChar(3, o1); // Ez a hosszú ó betű
    lcd.createChar(4, o3); // Ez a hosszú ő betű
    lcd.createChar(5, u1); // Ez a hosszú ú betű
    lcd.createChar(6, u2); // Ez a rövid ü betű
    lcd.createChar(7, u3); // Ez a hosszú ű betű
    lcd.createChar(0, i1); // Ez a hosszú í betű

    }


    void loop() {

    delay(2000);



    float h = dht.readHumidity();
    // Read temperature as Celsius
    float t = dht.readTemperature();

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t)) {
    lcd.println("Szenzor ERROR!");
    return;
    }

    if(h > maxHum || t > maxTemp) {
    digitalWrite(Relay, HIGH);

    } else {
    digitalWrite(Relay, LOW);

    }

    // Hőmérséklet.
    lcd.setCursor(0, 0);
    lcd.print("Homerseklet: ");
    lcd.setCursor(1, 0); //Kurzor 3. sor 2. karakternél
    lcd.write(4); //Átírjuk az o betüt ő-re
    lcd.setCursor(3, 0); //Kurzor 3. sor 4-es karakternél
    lcd.write(1); //Átírjuk az e betüt é-re
    lcd.setCursor(6, 0); //Kurzor 3. sor 7-es karakternél
    lcd.write(1); //Átírjuk az e betüt é-re
    lcd.setCursor(13, 0); //Kurzor 3. sor 14-es karakternél
    lcd.print(t); //Hőmérséklet érték kiírása
    lcd.print((char)223); //Fokjel előhívása memoriából
    lcd.print("C");

    // Páratartalom.
    lcd.setCursor(0, 1);
    lcd.print("Paratartalom: ");
    lcd.setCursor(1, 1);
    lcd.write(2); //Átírjuk az a betüt á-re
    lcd.setCursor(14, 1); // A páratartalom kijelzés a 14.sortól kezdődik
    lcd.print(h);
    lcd.print("%");
    delay(200);

    //Vízmelegítő.
    lcd.setCursor(0, 2);
    lcd.print("Vizmelegito:");
    lcd.setCursor(1 ,2);
    lcd.write(0);
    lcd.setCursor(8 ,2);
    lcd.write(0);
    lcd.setCursor(10 ,2);
    lcd.write(4);



    }

Új hozzászólás Aktív témák