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

  • Aryes

    nagyúr

    válasz lanszelot #19848 üzenetére

    A kolléga már szépen elmagyarázta ( :R neki ), én csak a beszúrás részéhez szólnék hozzá:
    A hozzászólás írásakor a szövegmező fölött van egy "Váltás a régi szerkesztőre" link. Ez azt csinálja, amit ígér. :D
    Ezzel hibátlanul lehet kódot beszúrni:

    #include <Adafruit_SSD1306.h>
    #include <splash.h>

    uint32_t lastms = 0;
    bool blink = true;

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

    void setup() {
    Serial.begin(9600);

    // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32

    display.display();
    delay(2000);

    }

    void loop() {
    int sensorValue = analogRead(A0);
    int isgas = digitalRead(2);
    String gas;

    //delay(1000);

    display.clearDisplay(); //this line to clear previous logo
    display.setTextSize(2); /*text size 3*/
    display.setCursor(3, 0); // ez tartja egy helyben a szöveget
    display.setTextColor(WHITE); //without this no display
    display.print("Gasmeter");

    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 ");
    if (sensorValue < 90) {
    gas = "No Gas";
    }else {
    gas = " Gas";
    if (millis() - lastms > 4000) {
    lastms = millis();
    blink = !blink;
    }
    if (blink)
    display.drawRoundRect(80, 47, 40, 15, 2, WHITE);
    else
    display.drawRoundRect(80, 47, 40, 15, 2, BLACK);

    }

    display.print(gas);
    display.display(); //to shows or update your TEXT

    }

    Ez javított kód, minden loop ciklusban kirajzolja a keretet, csak a színét változtatja 4000ms-onként (ez szerintem sok, én 500-at állítanék be).

    Ez a két sor a rendszeres törlés miatt valószínűleg nem is kell:

    else
    display.drawRoundRect(80, 47, 40, 15, 2, BLACK);

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