Table of Contents

Smart Pet Fountain

Introducere

  • Autor: Diana Novac
  • Grupa: 331CA

Proiectul implementează o fântână inteligentă pentru animale de companie pentru monitorizarea comportamentului de hidratare al acestora. Sistemul detectează prezența animalului prin senzor ultrasonic, îl identifică individual prin RFID, controlează debitul pompei în funcție de prezență și monitorizează calitatea și nivelul apei în timp real. Frecvența și durata vizitelor sunt stocate în EEPROM și afișate pe un display LCD cu meniu. Ideea a pornit de la nevoia din casele cu mai multe animale de companie de a monitoriza individual cât bea fiecare animal. Identificarea prin RFID e inspirată din sistemul de microcipare deja existent la animale de companie.

Descriere generală

Modulele proiectului

Modulul de detecție și identificare utilizează senzorul de ultrasonic pentru a monitoriza zona frontală a fântânii. La detectarea unui obiect la o distanță sub pragul configurat, se activează cititorul RFID pentru a scana prezența unui tag (în proiectul meu tag-urile vor avea scop demonstrativ, în realitate identificarea ar fi făcută pe baza microcipului animalului). ATMega328p procesează semnalele și generează un semnal PWM către etajul de putere pentru controlul pompei. Senzorul de nivel și cel de turbiditate a apei funcționează prin ADC și oferă date brute despre starea fântânii. Display-ul LCD funcționează atât ca meniu controlat prin butoane (de ex. pentru configurarea pragului de distanță), cât și ca interfață unde utilizatorul poate vedea statisticile pentru fiecare animal.

Schema bloc

Fluxul de funcționare

În starea de repaus, sistemul scanează distanța la intervale regulate, iar pompa rulează cu un debit foarte mic. Când senzorul de distanță confirmă prezența animalului, sistemul scanează tagul RFID și identifică animalul. Debitul pompei crește progresiv, iar în acest timp microcontrolerul măsoară intern durata vizitei și monitorizează calitatea apei. După ce animalul părăsește zona de detecție, pompa își micșorează debitul, iar datele colectate sunt stocate în EEPROM pentru a asigura persistența statisticilor. Dacă senzorul de nivel al apei detectează lipsa acesteia sau turbiditatea depășește un prag de siguranță, sistemul blochează pompa pentru a proteja hardware-ul și afișează un mesaj de eroare pe LCD.

Hardware Design

Lista de componente

Schema electrică

Pinii folosiți pentru fiecare componentă

Software Design

Mașina de stări

Sistemul este implementat ca o mașină de stări finită cu patru stări: Repaus, Activ, Eroare și Configurare. Starea curentă e reținută într-un enum. Tranzițiile între stări sunt declanșate de flag-uri booleene setate de funcțiile de citire ale senzorilor.

Profiluri animale

Datele fiecărui animal sunt reținute într-o structură PetProfile care conține UID-ul tag-ului RFID, numărul de vizite din ziua curentă, durata acestora și timestamp-ul ultimei vizite. Array-ul de aceste structuri e sincronizat cu EEPROM-ul la finalul fiecărei vizite.

Controlul pompei

Debitul e reglat prin modificarea valorii registrului OCR1A care controlează duty cycle-ul semnalului PWM. La detectarea animalului, valoarea e incrementată la fiecare iterație a loop-ului până la nivelul maxim configurat, iar la plecarea animalului procesul e inversat.

Filtrarea ADC

Citirile brute de la senzorul nivel și cel TDS sunt procesate și filtrate pentru a reduce zgomotul.

Funcționalități din laboratoare

Jurnal

Bibliografie/Resurse

Export to PDF