This is an old revision of the document!
Autor: Florin Bădilaș
MoodPet este un companion virtual embedded inspirat de jocurile de tip Tamagotchi. Proiectul este bazat pe microcontrollerul ATmega328P-XMINI și combină senzori de mediu, afișare pe LCD, interacțiune prin butoane, feedback vizual prin LED RGB și feedback sonor prin buzzer.
Scopul proiectului este realizarea unui animal virtual care reacționează la mediul înconjurător și la acțiunile utilizatorului. MoodPet are nume propriu, stări interne, nivel de foame, energie, fericire, XP și level.
La pornire, utilizatorul intră în meniul de alegere a numelui. Numele este introdus literă cu literă folosind cele patru butoane.
Funcționalitatea butoanelor în meniul de nume:
După confirmarea numelui, MoodPet intră în meniul principal de informații. Aici sunt afișate mai multe pagini cu informații despre pet și despre mediul înconjurător.
În meniul principal:
MoodPet își modifică starea în funcție de:
Stările principale sunt:
Prototipul inițial MoodPet: ATmega328P-XMINI, LCD I2C, senzor DHT11, senzor de lumină TEMT6000, LED RGB, buzzer și butoane.
| Componentă | Model | Rol |
|---|---|---|
| Microcontroller | ATmega328P-XMINI | Unitate centrală de control |
| Display LCD | LCD 16×2 I2C | Afișare meniu, status și informații |
| Senzor temperatură | DHT11 | Detectare temperatură și umiditate |
| Senzor lumină | TEMT6000 | Detectare lumină ambientală |
| LED RGB | CJMCU RGB LED Module | Feedback vizual pentru stări și joc |
| Buzzer | Active Buzzer 5V | Feedback sonor |
| Butoane | Push Button 6x6x6 | Control meniu și interacțiune |
| Breadboard | 830 puncte | Prototipare |
| Fire jumper | Dupont wires | Conexiuni |
| Periferic | Utilizare |
|---|---|
| ADC | Citire senzor TEMT6000 |
| GPIO | Butoane, LED RGB și buzzer |
| TWI / I2C | Comunicare LCD |
| Timer / millis | Actualizare stări, joc și evenimente |
| DHT library | Citire temperatură și umiditate |
La pornire, utilizatorul alege numele companionului virtual. Numele poate fi introdus literă cu literă folosind butoanele.
După alegerea numelui, MoodPet afișează informații despre companion și despre mediu.
Pagini afișate:
Meniul de hrănire permite alegerea unei porții de mâncare.
După hrănire, nivelul de foame scade, iar happiness și XP cresc. O porție mai mare oferă un bonus mai mare de happiness, dar scade puțin energia.
Mini-game-ul este pornit din meniul principal cu Butonul 2.
Funcționare:
Dacă utilizatorul apasă prea devreme sau prea târziu, happiness scade. Dacă reacționează rapid, happiness și XP cresc.
MoodPet utilizează o mașină de stări pentru meniuri și comportament.
Meniuri principale:
Stări de joc:
Mood-ul companionului este calculat pe baza unui scor intern influențat de foame, energie, fericire, temperatură, umiditate și lumină.
Până în acest stadiu, proiectul permite:
MoodPet este un sistem embedded interactiv care transformă datele citite de la senzori într-un comportament virtual. Proiectul nu se limitează la afișarea unor valori, ci implementează un companion digital cu meniuri, stări, reacții, sunete și interacțiune prin butoane.