🧠 Inteligentny licznik czasu pracy przy biurku

🔧 Cel projektu

Stwórz prosty system, który zlicza czas spędzony przy biurku i przypomina o przerwach – idealne rozwiązanie dla osób pracujących zdalnie, studentów lub graczy. Projekt wykorzystuje czujnik obecności i moduł Arduino do zliczania czasu, gdy ktoś siedzi przy stanowisku pracy. Po określonym czasie urządzenie wydaje dźwięk, przypominając o przerwie.


🛠️ Komponenty potrzebne do budowy

  • 1× Arduino Uno (lub kompatybilna płytka)
  • 1× Czujnik PIR HC-SR501 (wykrywa ruch)
  • 1× Buzzer pasywny (do wydawania dźwięku)
  • 1× Dioda LED (opcjonalnie do sygnalizacji przerwy)
  • 1× Rezystor 220Ω (dla diody LED)
  • Przewody połączeniowe (Dupont męsko-męskie)
  • Płytka stykowa (breadboard)
  • Kabel USB do programowania Arduino

🧰 Schemat połączeń

PIR HC-SR501:
- VCC → 5V (Arduino)
- GND → GND (Arduino)
- OUT → Pin 2 (Arduino)

Buzzer:
- + → Pin 8 (Arduino)
- – → GND

LED (opcjonalnie):
- Anoda (dłuższa nóżka) → Rezystor 220Ω → Pin 9 (Arduino)
- Katoda (krótsza) → GND

💻 Kod programu (Arduino)

const int pirPin = 2;
const int buzzerPin = 8;
const int ledPin = 9;

unsigned long workStartTime = 0;
unsigned long lastMotionTime = 0;
bool isWorking = false;

void setup() {
pinMode(pirPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
int motion = digitalRead(pirPin);

if (motion == HIGH) {
lastMotionTime = millis();

if (!isWorking) {
workStartTime = millis();
isWorking = true;
Serial.println("🟢 Rozpoczęto pracę.");
}
}

// Sprawdź, czy brak ruchu przez 10 minut (600 000 ms)
if (isWorking && millis() - lastMotionTime > 600000) {
Serial.println("🔴 Brak aktywności. Reset czasu.");
isWorking = false;
workStartTime = 0;
}

// Przypomnienie o przerwie co 50 minut pracy (3 000 000 ms)
if (isWorking && millis() - workStartTime >= 3000000) {
digitalWrite(ledPin, HIGH);
tone(buzzerPin, 1000, 1000); // 1 kHz przez 1s
Serial.println("⏰ Czas na przerwę!");
delay(5000);
digitalWrite(ledPin, LOW);
isWorking = false;
}

delay(1000); // Odświeżanie co sekundę
}

🔍 Jak to działa?

  1. Czujnik PIR wykrywa ruch w obszarze biurka. Gdy wykryje obecność, zaczyna zliczać czas pracy.
  2. Jeśli przez 10 minut nie zostanie wykryty ruch – licznik się resetuje.
  3. Gdy przy biurku spędzisz 50 minut bez przerwy, system wyda dźwięk i zaświeci diodę jako przypomnienie.

🧠 Możliwe rozszerzenia z pomocą AI

  • Dodanie integracji z komputerem – np. przez port USB, aby dane o czasie pracy zapisywać do Excela.
  • Użycie czujnika ciśnienia na krześle zamiast PIR – większa precyzja.
  • Dodanie OLED-a, który pokazuje czas pracy i pozostały czas do przerwy.

🧪 Podsumowanie

To prosty i praktyczny projekt, który pomoże Ci zadbać o zdrowe nawyki przy pracy biurowej. Nie wymaga lutowania ani zaawansowanej wiedzy – świetny na start przygodę z elektroniką i Arduino.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry