This is an old revision of the document!


Calculator Portabil

Nume: Stan Andrei Razvan

Grupa: 333CA

Prezentare

Pentru acest proiect am decis sa merg pe o directie bazata mai mult pe software si sa realizez un calculator portabil.

Acesta va putea efectua urmatoarele operatii aritmetice:

  1. adunare
  2. scadere
  3. inmultire
  4. impartire

Acesta va mai dispune si de un istoric al ultimelor rezultate obtinute (folosind EEPROM-ul pe care il are placuta Arduino) si de posibilitatea de a afisa ora si data datorita modulului RTC.

Acesta va respecta si ordinea efectuarii operatiilor.

Schema Bloc

Hardware Design

Piese utilizate

Componenta in jurul careia se invarte proiectul este o placuta de dezvoltare Arduino Nano cu procesor ATmega328P.

Restul componentelor sunt urmatoarele:

  • 1x Modul ceas DS1302 RTC;
  • 1x Ecran LCD 1602 I2C;
  • 1x Matrice de butoane 4×4;
  • 3x Buton simplu;
  • 3x Rezistenta de 10kΩ;
  • 1x Switch On/Off;
  • 1x Soclu baterie;
  • 1x Baterie 9V.

Bill Of Materials

Componenta Link Datasheet
DS1302 RTCOptimus Digital Data Sheet
Ecran LCD 1602 I2C Optimus Digital Data Sheet
Matrice de butoane Optimus Digital N\A
Arduino UNO cu ATmega328P ArduShop Data Sheet
LED, Rezistente, baterie, etc. Kit Plusivo N/A

Detalierea componentelor principale

Modului de ceas DS1302 RTC este folosit pentru functionalitatea calculatorului de a arata ora. Folosind unul dintre cele doua butoane se va putea schimba intre modul de calcul si cel de ceas, care afiseaza informatiile de la RTC. Acest modul este conectat la Arduino folosind I2C.

Conectarea se realizeaza in felul urmator:
SDA → SDA de pe Arduino
SCL → SCL de pe Arduino.

Ecranul LCD este utilizat in proiect pentru a afisa datele. Este conectat in acelasi mod ca si RTC-ul deoarece si acesta foloseste I2C.

Din moment ce I2C este un bus pentru transmisie de date serială master-slave am putut sa conectez ambele componente la aceeasi pini de pe Arduino.

Adresele pe care le folosesc componentele acestea sunt:
0x27 → LCD
0x68 → RTC

Matricea de butoane este folosita pentru input.

Conectarea se realizeaza in felul urmator:

Pinii de pe matrice Pinii de pe arduino
C4 7
C3 6
C2 5
C1 4
R1 11
R2 10
R3 9
R4 8

Schematic pe breadboard

Initital am facut proiectul pe breadboard iar acesta este modul in care am legat componentele pe breadboard:

Schematic final

Pentru proiectul final am lipit componentele pe un PCB universal. Conexiunile s-au schimbat din moment ce am mai adaugat componente:

  • O baterie;
  • Un switch pentru a porni device-ul;
  • Un buton pentru functionalitatea de history pe care am uitat sa il adaug initial.


O alta schimbare este modul in care am conectat matricea de butoane. Am actualizat ulterior tabelul de mai sus cu conexiunile finale.


Video

Dovada ca cele trei componente principale functioneaza

In clipul de mai jos se pot observa toate functinalitatile proiectului si cum opereaza acestea.

Clip cu proiectul montat pe PCB universal

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.

Bibliografie/Resurse

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

Export to PDF

pm/prj2025/iivasciuc/andrei_razvan.stan.1747766153.txt.gz · Last modified: 2025/05/20 21:35 by andrei_razvan.stan
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