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/09 00:31]
florin.badilas
pm:prj2026:alexandru.jipa2803:florin.badilas [2026/05/16 19:15] (current)
florin.badilas [Download]
Line 5: Line 5:
 ===== Introducere ===== ===== Introducere =====
  
-MoodPet este un animal virtual ​embedded care reacționează la mediul înconjurător ​și la interacțiunea utilizatorului. Proiectul simulează comportamentul unui mic companion digital, ​asemănător unui Tamagotchi, folosind senzori, butoane, afișaj LCD, LED RGB și buzzer.+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.
  
-Scopul proiectului este realizarea unui sistem interactiv care își schimbă starea în funcție de lumină, temperatură și acțiunile utilizatorului.+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 LCDculori 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ă ===== ===== Descriere generală =====
  
-MoodPet ​poate avea mai multe stări: +MoodPet ​funcționează pe baza unei mașini de stări ​care controlează comportamentul companionului virtual. 
-  * Happy + 
-  * Hungry +Stările principale sunt: 
-  * Sleepy + 
-  * Sad Angry+  * 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 ====
  
-Utilizatorul poate interacționa cu pet-ul prin butoane: +  * DHT11 DATA → D2 
-  * Feed - hrănire +  * Buton Feed → D3 
-  * Play - joacă +  * Buton Play → D4 
-  * Sleep - somn+  * Buton Sleep → D5 
 +  * Buzzer → D6 
 +  * LED RGB → D9, D10, D11 
 +  * TEMT6000 OUT → A0 
 +  * LCD SDA → SDA 
 +  * LCD SCL → SCL
  
-Starea curentă este afișată pe LCD, iar LED-ul RGB și buzzerul oferă feedback vizual și sonor.+===== Software Design =====
  
-===== Funcționalități principale =====+==== Mediu de dezvoltare ​====
  
-  * Citirea temperaturii și umidității folosind senzor DHT11/DHT22 +  * PlatformIO 
-  * Detectarea nivelului de lumină folosind LDR +  * AVR-GCC 
-  * Afișarea stării pe LCD 16x2 cu I2C +  * Limbaj C/C++
-  * Interacțiune prin butoane +
-  * Feedback vizual prin LED RGB +
-  * Feedback sonor prin buzzer +
-  * Sistem de valori interne: foame, energie, fericire +
-  * Mod zi/noapte +
-  * Salvarea stării în EEPROM+
  
-===== Componente ​utilizate ​=====+==== Periferice ​utilizate ====
  
-  * Arduino Uno / Arduino Nano / ATmega328P +^ Periferic ^ Utilizare ^ 
-  * LCD 16x2 cu modul I2C +| ADC | Citire senzor TEMT6000 | 
-  * Senzor DHT11 sau DHT22 +| GPIO | Butoane și LED RGB | 
-  * Senzor de lumină LDR +| TWI / I2C | Comunicare LCD | 
-  * LED RGB +| EEPROM | Salvare progres și stare | 
-  * Buzzer +| Timer | Actualizare stări ​și evenimente |
-  * 3 butoane +
-  * Rezistențe 220Ω și 10kΩ +
-  * Breadboard +
-  * Fire jumper+
  
-===== Schema de legare =====+==== Structura software ​====
  
-==== LCD 16x2 I2C ====+  * 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
  
-^ LCD I2C ^ Microcontroller ^ +===== State Machine =====
-| VCC | 5V | +
-| GND | GND | +
-| SDA | A4 | +
-| SCL | A5 |+
  
-==== DHT11 / DHT22 ====+MoodPet utilizează o mașină de stări pentru gestionarea comportamentului companionului virtual.
  
-^ DHT ^ Microcontroller ^ +Flux principal:
-| VCC | 5V | +
-| GND | GND | +
-| DATA | D2 |+
  
-==== LDR ====+  * HAPPY → HUNGRY → ANGRY 
 +  * HAPPY → SLEEPY 
 +  * SLEEPY → HAPPY 
 +  * PLAYING → HAPPY
  
-LDR-ul este conectat ca divizor de tensiune: +===== Rezultate așteptate =====
-  * un picior LDR la 5V +
-  * celălalt picior LDR la A0 +
-  * rezistență de 10kΩ între A0 și GND+
  
-==== LED RGB ====+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.
  
-^ LED RGB ^ Microcontroller ^ +MoodPet va combina senzori, periferice și logică embedded pentru realizarea unui sistem interactiv și creativ bazat pe microcontroller.
-| R | D9 | +
-| G | D10 | +
-| B | D11 | +
-| Comun | GND |+
  
-==== Buzzer ​====+===== Concluzii =====
  
-^ Buzzer ^ Microcontroller ^ +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.
-| + | D6 | +
-| - | GND |+
  
-==== Butoane ​====+===== Download =====
  
-^ Buton ^ Microcontroller ^ +  * Cod sursă - va fi adăugat ulterior 
-| Feed | D3 | +  * Schema bloc - disponibilă în secțiunea Schema bloc 
-| Play | D4 | +  * Imagini prototip - disponibile în secțiunea Prototip 
-| Sleep | D5 |+===== Jurnal =====
  
-Celălalt picior al fiecărui buton se leagă la GNDÎn cod se va folosi INPUT_PULLUP.+  * 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
  
-===== Concluzie ​=====+===== Bibliografie / Resurse ​=====
  
-MoodPet este un proiect interactiv care combină senzori, logică de control și feedback vizual-sonor pentru a crea un animal virtual fizicProiectul evidențiază utilizarea microcontrollerului pentru citirea mediului, procesarea datelor și controlul perifericelor.+  * [[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.1778275860.txt.gz · Last modified: 2026/05/09 00:31 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