Keresés

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

  • ReFleXx

    addikt

    válasz lanszelot #20003 üzenetére

    stotno

    [ Szerkesztve ]

    2020-as dakota közmondás: "Intel a csórók AMD-je"

  • lanszelot

    addikt

    válasz lanszelot #20003 üzenetére

    A programmal lesz gond, nem a kapcsolóval, ez tuti.

    Jelen állapotában, ha be van kötve a kapcsoló, akkor indulásnál, vagy amikor bedugom a kapcsolót, akkor kifagy

    #include <MQ135.h> /*gaz erzekelo, de nem kell neki igazabol*/
    #include <Adafruit_SSD1306.h> /*oled display*/
    #include <splash.h> /*oled display -nek kell*/
    #include <max6675.h> /*homero*/

    int thermoDO = 10; /*valtozo a homero DO pin -nek*/
    int thermoCS = 9; /*valtozo a homero CS pin -nek*/
    int thermoCLK = 8; /*valtozo a homero CLK pin -nek*/
    int gombNyomas = 1; /*valtozo a gomb nyomas szamlalasara*/
    int gombPin = 4; /*valtozo a gomb pin -nek*/
    int gombAllapot = 0; /*valtozo a gomb allapot olvasasahoz*/
    byte a = 0; /*valtozo a gaz erzekelo negyzet villogashoz*/




    MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);


    Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);


    void mindenRajtaVan() {
    int sensorValue = analogRead(A0); /*valtozo a gaz erzekelo alalog pin -nek*/
    int isgas = digitalRead(2); /*valtozo a gaz erzekelo digitalis pin -nek, ez arra kell, ha gas van akkor jelet ad, nem kell kulon erteket adni*/
    String gas; /*valtozo a gaz erzekelo gas vagy no gas kiirasahoz*/
    display.clearDisplay(); /*this line to clear previous logo*/
    display.setTextSize(1); /*text size 3*/
    display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("Thermometer by Gabor");
    display.setTextSize(2); /*text size 2*/
    display.setCursor(10,20); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("C = ");
    display.print(thermocouple.readCelsius());/*Celsius*/
    display.setTextSize(1); /*text size 2*/
    display.setCursor(10,40); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("F = ");
    display.print(thermocouple.readFahrenheit());/*Fahrenheit*/
    display.setTextSize(1); /*text size 2*/
    display.setCursor(0,50); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("CO2 = ");
    display.print(sensorValue);
    display.print(" PPM ");
    /*sensorValue < 90 ellenorzeshez, amugy igas valtozo kell ami a digitalis pin*/
    if (sensorValue < 90) {gas = "No Gas";}
    else {gas = " Gas";
    if(a) {display.drawRoundRect(80, 47, 40, 15, 2, WHITE);} /*negyzet a gas felirat kore feher*/
    else {display.drawRoundRect(80, 47, 40, 15, 2, BLACK);} /*negyzet a gas felirat kore fekete*/
    a^=1;
    }
    display.print(gas);
    display.display(); /*to shows or update your TEXT*/
    }

    void homeroVanRajta() {
    display.clearDisplay(); /*this line to clear previous logo*/
    display.setTextSize(1); /*text size 3*/
    display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("Thermometer by Gabor");
    display.setTextSize(2); /*text size 2*/
    display.setCursor(10,20); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("C = ");
    display.print(thermocouple.readCelsius());/*Celsius*/
    display.setTextSize(2); /*text size 2*/
    display.setCursor(10,40); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("F = ");
    display.print(thermocouple.readFahrenheit());/*Fahrenheit*/
    display.display(); /*to shows or update your TEXT*/
    }

    void gazVanRajta() {
    int sensorValue = analogRead(A0); /*valtozo a gaz erzekelo alalog pin -nek*/
    int isgas = digitalRead(2); /*valtozo a gaz erzekelo digitalis pin -nek, ez arra kell, ha gas van akkor jelet ad, nem kell kulon erteket adni*/
    String gas; /*valtozo a gaz erzekelo gas vagy no gas kiirasahoz*/
    display.clearDisplay(); /*this line to clear previous logo*/
    display.setTextSize(1); /*text size 3*/
    display.setCursor(3,0); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("Thermometer by Gabor");
    display.setTextSize(2); /*text size 2*/
    display.setCursor(0,20); /*ez tartja egy helyben a szöveget*/
    display.setTextColor(WHITE); /*without this no display*/
    display.print("CO2= ");
    display.print(sensorValue);
    display.setTextSize(1);
    display.print(" PPM");
    /*sensorValue < 90 ellenorzeshez, amugy igas valtozo kell ami a digitalis pin*/
    if (sensorValue < 90) {gas = "No Gas";}
    else {gas = " Gas";
    if(a) {display.drawRoundRect(30, 39, 60, 22, 2, WHITE);} /*negyzet a gas felirat kore feher*/
    else {display.drawRoundRect(30, 39, 60, 22, 2, BLACK);} /*negyzet a gas felirat kore fekete*/
    a^=1;
    }
    display.setTextSize(2);
    display.setCursor(20,42);
    display.print(gas);
    display.display(); /*to shows or update your TEXT*/
    }

    void megnyomva() {
    if (gombNyomas == 1) {
    mindenRajtaVan();
    gombNyomas++;
    } else if (gombNyomas == 2) {
    homeroVanRajta();
    gombNyomas++;
    } else if (gombNyomas == 3) {
    gazVanRajta();
    gombNyomas = 1;
    }
    }

    void setup() {
    Serial.begin(9600); /*elindítja a sorosportot, 9600 baud beállítással. Ez azért jó, mert a Serial Monitoron a program futását tudod monitorozni*/

    pinMode(gombPin, INPUT); /*inicializálja a gomb pin -jet inputnak*/

    Serial.println("MAX6675 test");
    /*wait for MAX chip to stabilize*/
    delay(500);
    /*SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally*/
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); /*Address 0x3C for 128x32*/

    display.display();
    delay(2000);


    }

    void loop() {

    /*For the MAX6675 to update, you must delay AT LEAST 250ms between reads!*/
    delay(500);

    /*read the state of the pushbutton value:*/
    gombAllapot = digitalRead(gombPin);

    /*check if the pushbutton is pressed. If it is, the buttonState is HIGH:*/
    if (gombAllapot == HIGH) {
    megnyomva();
    }

    Serial.println(gombNyomas);



    }

    Egyenlőre feladtam, kiszellőztetem a fejem.

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