#include #include // zavoláme knižnice, ktoré budeme používat #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); // tieto príkazy volajú moduly z knižníc. Císlo 2 v #define ONE_WIRE_BUS oznacuje císlo pinu na Arduine, kam sme zapojili senzor. // definovanie premenných: int n = 1; // bude pocítat merania int x = 0; // bude kontrolovat zapnutie a vypnutie spolu s tlacidlom int buttonPin = 7; // oznacuje Arduino pin, kam sme pripojili tlacidlo int B_read; // do tejto premennej budeme ukladat hodnotu z tlacidla HIGH alebo LOW float c,cas,T; // c a cas budú na zaznamenanie casu, v ktorom sme namerali údaj, a T bude nameraná hodnota teploty. void setup(void){ // zapneme Serial monitor, ktorý nám bude zobrazovat hodnoty Serial.begin(9600); // zapnutie senzorov, príkaz z knižnice sensors.begin(); pinMode(buttonPin, INPUT); // premennná buttonPin, ktorá má císlo 7 (pin na Arduine, kam sme zapojili tlacidlo) sa nastaví na INPUT – prijímanie signálu z tlacidla. } void loop(void){ B_read = digitalRead(buttonPin); // do premennej B_read uložíme hodnotu precítanú z tlacidla. HIGH znamená stlacené tlacidlo, LOW nestlacené. if (B_read == HIGH) { if (x == 1) {x = 0; Serial.println("Koniec merania");} // prepneme hodnotu kontrolnej premennej else { x = 1; Serial.println("zaciatok merania+"); T = millis()/1000.0; // T je hodnota funkcie millis() na zaciatku merania, používame ju ako referencnú, a prepocítavame rovno do sekúnd n = 1; // n zobrazuje pocet meraní } delay(300); // delay zabezpecí, že 300 milisekúnd tlacidlo nebude reagovat, aby sme meranie okamžite nezrušili. } if (x == 1) { // podmienka je splnená ak bolo tlacidlo stlacené na zapnutie merania cas = millis()/1000.0; // v premennej cas je hodnota v sekundách c = (cas-T); // od cas odopcítame referencnú hodnotu zo zaciatku merania sensors.requestTemperatures(); // Serial.print(String(n) + " "); // po odkomentovani tohto riadku bude program vypisovat aj cislo merania Serial.print(String(c) + " "); // vypíšeme do riadku hodnoty císla merania a casu Serial.println(sensors.getTempCByIndex(0)); // do serial monitoru vypíšeme hodnotu zo senzora delay(100); n++; // zväcšíme n, môže príst dalšie meranie } }