This is an old revision of the document!


Ceas de birou

Introducere

Ceas-ul de birou este exact ceea ce spune că este. Un ceas de birou, mobil, care îți arată ora, temperatura și va avea funcții de setare de alarme și temporizator. Am vrut să dezvolt acest proiect deoarece voiam să am un astfel de ceas și proiectul la PM este ocazia de a-l crea și customiza așa cum doresc.

Descriere generală

În modul default, ceasul va afișa pe ecran ora și temperatura. Ulterior, prin interacțiunea cu butoanele (și vizualizarea acțiunilor pe LCD), vor putea fi setate fie un temporizator, fie se poate intra în modul de management al alarmelor (aici se pot vizualiza, edita, șterge sau adăuga alarme). Totodată user-ul va putea edita ora (incrementând / decrementând numărul orei, pentru a seta ora când “se dă ceasul”, timpul exact fiind reținut de un modul specializat).

Hardware Design

Se vor folosi următoarele piese:

  • Placă dezvoltare Arduino Nano
  • Modul LCD 16×2 cu modul de interfațare I2C
  • Modul DS1302
  • Buzzer
  • Senzor de temperatură și umiditate DHT11
  • Power bank pentru alimentare
  • 4 butoane

Schema Hardware:

Legături între componente:

  • LCD-ul este conectat la pinii de I2C ai Arduino Nano
  • Buzzer-ul se conencteaza la pinul D9
  • Senzorul de temperatură are linia de date conectată la pinul D10
  • Modulul RTC foloseste 3 legături: RST - D2, CLK -D4 și DAT - D3
  • Butoanele sunt legate la A[0..3] și folosesc un condensator pentru debouncing și rezistențe de pull-down

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

Se va folosi PlatformIO pentru dezvoltare. Nu sunt sigur încă ce librării voi folosi dar cu singuranță voi apela la librării pentru modulul RTC (spre exemplu aceasta) dar și pentru modulul LCD. În principiu voi avea nevoie de definirea unui state-machine pentru a putea multiplexa funcționalitățile butoanelor și ceea ce se afișează pe LCD.

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/prj2024/rpascale/valentin.bobaru.1715861930.txt.gz · Last modified: 2024/05/16 15:18 by valentin.bobaru
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