Pet Water Fountain

Introducere

Descriere proiect:

  • Mini fântână cu apă pentru animale - atunci când senzorul detectează mișcare în apropierea fânânii, pompa va porni apa, iar pe LCD va apărea un mesaj.
  • Scopul - protejarea sănătății animalelor de companie prin asigurarea consumului de apă de calitate.
  • Ideea acestui proiect a pornit de la pasiunea motanului meu de a bea apa care curge de la robinet.
  • Proiectul este util pentru toți părinții animăluțelor care refuză să bea apă din bolul lor.

Descriere generală

Pet water fountain va fi un dispozitiv ce se va ocupa cu distribuirea apei unui animal de companie astfel:

La apasarea unui buton se va declanșa o întrerupere, iar pompa se va porni și va elibera apă prin furtun. De asemenea, voi adăuga un senzor de mișcare pentru animalul de companie astfel încât dispozitivul să pornească apa când animalul este în apropiere.

Voi atașa un LCD pe care va afișa textul “Oski is drinking”.

Hardware Design

Schema bloc

Componente

Voi folosi următoarele componente de bază, cu posibilitatea de a mai adăuga și altele pentru a realiza funcționalități noi:

  • Arduino Uno
  • Fire
  • Boton
  • Pompă apă
  • Buton
  • Senzor ultrasonic
  • LCD
  • Modul l298n
  • Baterie 9V
Schema Arduino

Software Design

Biblioteci utilizate
  • #include <Wire.h>
  • #include <LiquidCrystal_I2C.h>
Implementare in Arduino
  • Funcția setup() realizează inițializarea și configurarea inițială a sistemului. Aceasta include inițializarea LCD-ului, setarea pinilor ca ieșiri sau intrări, configurarea registrelor pentru modul PWM și setarea întreruperilor.
  • Funcția loop() rulează într-o buclă continuă și se ocupă de logica principală a programului. Aceasta măsoară distanța folosind un senzor ultrasonic și decide dacă pompa trebuie să fie pornită sau oprită în funcție de distanța măsurată și starea butonului. De asemenea, afișează mesaje corespunzătoare pe LCD.
  • Funcția ISR(PCINT2_vect) este o rutină de tratare a întreruperilor și se activează când se produce o întrerupere pe pinul asociat butonului. Aceasta verifică starea butonului și comută starea pompei în consecință.
  • Funcția pump_is_on() setează valoarea corespunzătoare în registrul OCR0B pentru a porni pompa.
  • Funcția pump_is_off() setează valoarea corespunzătoare în registrul OCR0B pentru a opri pompa.
  • Funcția measureDistance() realizează măsurarea distanței folosind un senzor ultrasonic. Aceasta declanșează senzorul, măsoară durata pulsului de revenire și calculează distanța corespunzătoare în centimetri.
  • Funcția print_on_lcd() setează cursorul LCD la poziția corespunzătoare și afișează mesajul “Oski is drinking” pe LCD.
  • Funcția setup_interrupts() dezactivează întreruperile, configurează pinul asociat butonului ca intrare, activează rezistența de pull-up pentru buton, activează întreruperile PCINT2 și configurează întreruperile pentru buton. Apoi, re-activează întreruperile.

Rezultate Obţinute

Circuit real

pwf_fg.jpg

Motanul fericit

oski_drinking_water.jpeg

Sistemul in forma finala

sistemfinal_fg.jpeg

Concluzii

Ideea de proiect a venit practic instant. Știam că vreau o astfel de fântână automată pentru motanul meu, dar îmi făceam griji că proiectul va fi prea dificil. Din fericire, nu a fost imposibil :-D

Pe lângă aspectele tehnice, am dezvoltat și abilități practice precum montarea și conectarea componentelor hardware și depanarea problemelor întâmpinate pe parcursul dezvoltării.

Proiectul la PM a fost o experiență valoroasă, în care am dobândit cunoștințe tehnice și abilități practice. Am reușit să integrez atât componentele hardware, cât și software-ul pentru a crea un sistem funcțional și util.

Totuși, nu știu cât este de safe să las motanul cu această fântână în absența mea, din motiv că nu am reușit să izolez eficient circuitul în așa mod încât să nu pătrundă apă. Cu toate acestea, a fost mult mai fun să fac proiectul pentru că produsul final este ceva ce ar avea aplicabilitate în viața mea.

Download

Arhiva ce conține codul sursa, README, video cu funcționalitatea sistemului:

pm/prj2023/alexau/pet-water-fountain.txt · Last modified: 2023/05/28 23:38 by felicia.gorincioi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0