Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:alexandru.jipa2803:florin.badilas [2026/05/07 13:05]
florin.badilas removed
pm:prj2026:alexandru.jipa2803:florin.badilas [2026/05/16 19:15] (current)
florin.badilas [Download]
Line 1: Line 1:
-a+====== MoodPet - A Smart Digital Pet ====== 
 + 
 +Autor: Florin Bădilaș 
 + 
 +===== Introducere ===== 
 + 
 +MoodPet este un companion virtual embedded bazat pe microcontrollerul ATmega328P-XMINI,​ proiectat pentru ​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 ===== 
 + 
 +{{ :​pm:​prj2026:​alexandru.jipa2803:​moodpet_schema_bloc.png?​700 |Schema bloc MoodPet }} 
 + 
 +===== Prototip ===== 
 + 
 +{{ :​pm:​prj2026:​alexandru.jipa2803:​moodpet_prototip.png?​700 |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 16x2 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 ===== 
 + 
 +  * [[https://​www.microchip.com/​en-us/​product/​atmega328p|ATmega328P Datasheet]] 
 +  * [[https://​platformio.org/​|PlatformIO]] 
 +  * [[https://​github.com/​adafruit/​DHT-sensor-library|Adafruit DHT Sensor Library]] 
 +  * [[https://​github.com/​johnrickman/​LiquidCrystal_I2C|LiquidCrystal I2C Library]]
pm/prj2026/alexandru.jipa2803/florin.badilas.1778148339.txt.gz · Last modified: 2026/05/07 13:05 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