// Samotne PIR cidlo na analogovem vstupu // ================================================================= // prirazeni vstupu a vystupu byte pin_led = 3; // LED byte pin_pir = A0; // PIR cidlo unsigned int suma; float aktualni_prumer; float minuly_prumer; const float citlivost = 0.005; // pri jake zmene hodnoty se to vyhodnoti jako pohyb void setup() { analogReference(INTERNAL); // vnitrni reference 1.1V pinMode(pin_led, OUTPUT); // LED pinMode(pin_pir, INPUT); // PIR cidlo minuly_prumer = 0; Serial.begin(9600); } void loop() { suma = 0; for (byte i = 0 ; i < 50 ; i++) { suma = suma + analogRead(pin_pir); } aktualni_prumer = suma / 50.0; Serial.println (aktualni_prumer); if ((aktualni_prumer < ((1 + citlivost) * minuly_prumer)) && (aktualni_prumer > ((1 - citlivost) * minuly_prumer))) { digitalWrite(pin_led, LOW); // mala zmena hodnoty - LED nesviti } else { digitalWrite(pin_led, HIGH); // velka zmena hodnoty - LED sviti } minuly_prumer = aktualni_prumer; delay(500); }