This is an old revision of the document!


MoodPet - A Smart Digital Pet

Autor: Florin Bădilaș

Introducere

MoodPet este un companion virtual embedded inspirat de jocurile de tip Tamagotchi și de consolele portabile retro. Proiectul este bazat pe microcontrollerul ATmega328P-XMINI și combină senzori de mediu, afișare grafică și interacțiune hardware pentru a crea un sistem interactiv cu personalitate proprie.

Scopul proiectului este realizarea unui animal virtual capabil să reacționeze la mediul înconjurător și la acțiunile utilizatorului prin animații, sunete, schimbări de stare și efecte vizuale.

MoodPet monitorizează temperatura, umiditatea și lumina ambientală și își modifică comportamentul în funcție de valorile detectate. Utilizatorul poate interacționa cu companionul virtual folosind butoane dedicate pentru navigare, hrănire, joacă și gestionarea stărilor pet-ului.

Proiectul include un sistem de emoții, energie, foame, experiență și nivel, precum și un sistem de salvare a progresului în memoria EEPROM. În versiunea finală, MoodPet va utiliza un display OLED pentru afișarea unui companion virtual animat și a meniurilor interactive.

Descriere generală

MoodPet funcționează pe baza unei mașini de stări care controlează comportamentul companionului virtual.

Stările principale sunt:

  • HAPPY
  • HUNGRY
  • SLEEPY
  • ANGRY
  • PLAYING

Utilizatorul poate interacționa cu MoodPet folosind trei butoane:

  • Feed
  • Play
  • Sleep

MoodPet își modifică starea în funcție de:

  • nivelul de lumină ambientală
  • temperatura detectată
  • timpul de inactivitate
  • interacțiunea utilizatorului

Sistemul include:

  • sistem de emoții și stări
  • sistem de energie și foame
  • mod zi/noapte
  • sistem de personalitate aleatorie
  • sistem de nivel și experiență
  • mini-game pentru creșterea nivelului de fericire
  • salvarea progresului în EEPROM

Schema bloc

Schema bloc MoodPet

Prototip

MoodPet - prototip initial

Prototipul inițial MoodPet: ATmega328P-XMINI, LCD I2C, senzor DHT11, senzor de lumină TEMT6000, LED RGB și buzzer.

Hardware Design

Lista de piese

Componentă Model Rol
Microcontroller ATmega328P-XMINI Unitate centrală de control
Display LCD LCD 16×2 I2C Afișare stare ș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
Buzzer Active Buzzer 5V Feedback sonor
Butoane Push Button 6x6x6 Interacțiune utilizator
Breadboard 830 puncte Prototipare
Fire jumper Dupont wires Conexiuni

Conexiuni principale

  • DHT11 DATA → D2
  • Buton Feed → D3
  • Buton Play → D4
  • Buton Sleep → D5
  • Buzzer → D6
  • LED RGB → D9, D10, D11
  • TEMT6000 OUT → A0
  • LCD SDA → SDA
  • LCD SCL → SCL

Software Design

Mediu de dezvoltare

  • PlatformIO
  • AVR-GCC
  • Limbaj C/C++

Periferice utilizate

Periferic Utilizare
ADC Citire senzor TEMT6000
GPIO Butoane și LED RGB
TWI / I2C Comunicare LCD
EEPROM Salvare progres și stare
Timer Actualizare stări și evenimente

Structura software

  • Citirea periodică a senzorilor
  • Actualizarea stării companionului virtual
  • Gestionarea sistemului de emoții
  • Controlul afișajului LCD
  • Controlul LED-ului RGB
  • Generarea efectelor sonore
  • Gestionarea mini-game-ului
  • Salvarea și încărcarea progresului din EEPROM

State Machine

MoodPet utilizează o mașină de stări pentru gestionarea comportamentului companionului virtual.

Flux principal:

  • HAPPY → HUNGRY → ANGRY
  • HAPPY → SLEEPY
  • SLEEPY → HAPPY
  • PLAYING → HAPPY

Rezultate așteptate

Rezultatul final va fi un companion digital interactiv capabil să reacționeze la mediu și la utilizator prin efecte vizuale, sonore și modificări de comportament.

MoodPet va combina senzori, periferice și logică embedded pentru realizarea unui sistem interactiv și creativ bazat pe microcontroller.

Concluzii

Proiectul urmărește dezvoltarea unui sistem embedded interactiv care combină senzori și periferice pentru simularea comportamentului unui companion virtual. MoodPet evidențiază utilizarea practică a microcontrollerului pentru citirea mediului, procesarea datelor și controlul dispozitivelor externe.

Download

  • Cod sursă - va fi adăugat ulterior
  • Schema bloc - disponibilă în secțiunea Schema bloc
  • Imagini prototip - disponibile în secțiunea Prototip

Jurnal

  • 09.05.2026 - Alegerea temei și stabilirea componentelor necesare
  • 10.05.2026 - Crearea paginii OCW și realizarea schemei bloc
  • 11.05.2026 - Configurarea proiectului în PlatformIO și testarea plăcii
  • 11.05.2026 - Testarea componentelor principale și realizarea prototipului inițial

Bibliografie / Resurse

pm/prj2026/alexandru.jipa2803/florin.badilas.1779220600.txt.gz · Last modified: 2026/05/19 22:56 by florin.badilas
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