This is an old revision of the document!


MoodPet - A Smart Digital Pet

Autor: Florin Bădilaș

Introducere

MoodPet este un companion virtual embedded bazat pe microcontrollerul ATmega328P-XMINI, proiectat pentru a simula comportamentul unui animal virtual interactiv. Proiectul combină senzori de mediu, periferice de afișare și componente de feedback audio-vizual pentru a crea o experiență asemănătoare unui Tamagotchi modern.

Sistemul monitorizează temperatura și lumina ambientală și își modifică starea în funcție de condițiile detectate și de interacțiunea utilizatorului. MoodPet poate deveni fericit, trist, obosit sau flămând și reacționează prin mesaje afișate pe LCD, culori diferite ale LED-ului RGB și efecte sonore generate de buzzer.

Pe lângă funcționalitatea de bază, proiectul include un sistem de personalitate, nivel și experiență, precum și salvarea progresului în memoria EEPROM a microcontrollerului.

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ă
  • Scheme hardware
  • Imagini proiect
  • Documentație

Jurnal

  • 09.05.2026 - Alegerea temei proiectului
  • 09.05.2026 - Alegerea componentelor hardware
  • 09.05.2026 - Realizarea documentației inițiale

Bibliografie / Resurse

  • Datasheet ATmega328P
  • Datasheet DHT11
  • Datasheet TEMT6000
  • Documentație PlatformIO
  • Documentație LCD I2C
pm/prj2026/alexandru.jipa2803/florin.badilas.1778946726.txt.gz · Last modified: 2026/05/16 18:52 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