Hirdetés

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

  • weiss

    addikt

    LOGOUT blog

    válasz Saua #2144 üzenetére

    Így hirtelen, próba, cseresznye:

    #include <OneWire.h>
    #include <DallasTemperature.h>
    #define ONE_WIRE_BUS 7 // Hőmérő a pin7-en
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);

    int led1 = 6;
    int ledState = LOW; // kimeneti pin aktuális állapota
    int ledBLINK = 8;

    char engedely = HIGH;

    unsigned long lastTemp;
    float temperature;
    int was_low = 1;
    int was_high = 1;

    void setup()
    {
    pinMode(led1, OUTPUT);
    digitalWrite(led1, ledState);
    pinMode(ledBLINK, OUTPUT);

    Serial.begin(9600);
    sensors.begin();
    sensors.setResolution(11);
    }

    void loop()
    {
    if (millis() > lastTemp + 1000 ){
    sensors.requestTemperatures();
    temperature = sensors.getTempCByIndex(0);
    Serial.println(temperature);

    if (temperature < (24-0.5 )) {
    ledState = HIGH;
    was_low = 1;
    if(was_high){
    was_high = 0;
    blink5();
    }
    }

    else if (temperature > (24+0.5 )) {
    ledState = LOW;
    was_high = 1;
    if(was_low){
    was_low = 0;
    blink5();
    }
    }

    lastTemp = millis();
    }

    digitalWrite(led1, ledState);
    }

    void blink5(){
    for(int i=0;i<5;i++){
    digitalWrite(ledBLINK,HIGH);
    delay(500);
    digitalWrite(ledBLINK,LOW);
    delay(500);
    }
    }

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