This is an old revision of the document!


Desk Buddy "Leon"

Introducere

  • Proiectul consta in dezvoltarea unui asistent de birou multifunctional, bazat pe microcontrollerul ATmega328P. Acesta are 3 functii principale:
    1. Music Player: User-ul poate reda melodii dintr-un playlist stocat intr-un card SD.
    2. Ceas Digital: Cat timp buddy-ul se afla in stand-by, pe display se afiseaza data si ora curenta.
    3. Alarma Programabila: User-ul poate seta alerte la ore specifice, moment in care se declanseaza automat redarea unui sunet de alarma.
  • Pentru mine acest proiect reprezinta o experienta de invatare, o introducere in modul in care hardware-ul si software-ul se leaga si cum interactioneaza. Prin prisma acestui proiect, am oportunitatea sa creez ceva palpabil, imbinand atat scrisul de cod cu experienta hands-on asupra componentelor fizice.
  • Intial, idea a pornit ca un simplu Music Player, deoarece muzica reprezinta o mare parte din viata mea de zi cu zi. Am incercat totusi sa gandesc inafara cutiei si sa transform planul initial in ceva util 24/7. Astfel, am integrat functiile de ceas digital si alarma programabila pentru a extinde utilitatea proiectului dincolo de zona muzicala.
  • Acest proiect este util atat pentru mine cat si pentru altii deoarece ofera o solutie practica pentru doua nevoi fundamentale intr-un mediu de lucru:
    1. Relaxare: Functia de Music Player permite User-ului sa se relaxeze ascultand melodiile preferate.
    2. Organizarea Timpului: Functiile de Ceas Digital si Alarma Programabila ajuta utilizatorul sa nu piarda notiunea timpului (ex: o sesiune lunga de lucru la o tema), avand permanent ora vizibila si permitandu-i sa seteze alarme personalizate.

Descriere generală

  • Control (Input): Utilizatorul interactioneaza cu dispozitivul prin intermediul a 5 butoane tactile. Acestea permit navigarea intre modurile de lucru (Ceas, Muzica, Alarma), controlul redarii audio (Play/Pause, Next/Prev) si ajustarea volumului sau a setarea alarmei.
  • Procesare (Logica): Placa ATmega328P coordoneaza intregul sistem. Ea gestioneaza protocoalele de comunicare SPI (pentru citirea datelor de pe cardul SD) si I2C (pentru sincronizarea cu ceasul de timp real si afisaj), procesand in acelasi timp semnalul PWM pentru iesirea audio.
  • Afisare (Output): Informatiile esentiale, precum ora curenta, data, sau numele melodiei redate, sunt afisate clar pe un ecran LCD 16×2. Acesta ofera feedback vizual imediat pentru fiecare comanda primita de la input.
  • Sunet (Feedback): Sistemul audio, format dintr-un tranzistor de amplificare si un difuzor, reda fisierele de pe cardul SD. Acesta ofera atat functia de relaxare prin muzica, cat si avertizarea sonora pentru alarma programata.
  • Stocare (Data): Fisierele audio si setarile sistemului sunt gestionate folosind un card MicroSD si memoria interna EEPROM a microcontroller-ului, asigurand pastrarea alarmei chiar si dupa oprirea dispozitivului.

Laboratoare folosite:

  • Laborator 0 GPIO: Configurarea pinilor de intrare si iesire
  • Laborator 2 Intreruperi: Asigurarea unui raspuns instantaneu la apasarea butoanelor
  • Laborator 3 Timere. PWM: Generarea semnalului audio
  • Laborator 5 SPI: Comunicarea cu modulul MicroSD
  • Laborator 6 I2C: Conectarea ecranului LCD si a modulului RTC

Hardware Design

Componente folosite:

  • Module principale:
    • 1xMicrocontroller ATmega328P
    • 1xEcran LCD
    • 1xModul Cititor MicroSD
    • 1xModul RTC
  • Audio:
    • 1xDifuzor
    • 1xTranzistor NPN
  • Input:
    • 5xButoane
  • Componente pasive:
    • 1xRezistenta 1K
    • 1xCondensator electrolitic 100uF
  • Conectivitate:
    • 1xBreadboard
    • Fire de conexiune

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/theodor_ioan.buliga/andrei_ioan.simion.1777851310.txt.gz · Last modified: 2026/05/04 02:35 by andrei_ioan.simion
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