Differences

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

Link to this comparison view

pm:prj2024:ddosaru:bogdan.manaila [2024/05/26 21:48]
bogdan.manaila [Software Design]
pm:prj2024:ddosaru:bogdan.manaila [2024/05/26 23:44] (current)
bogdan.manaila [Rezultate Obţinute]
Line 21: Line 21:
  
 </​note>​ </​note>​
 +
 +
    
 ===== Hardware Design ===== ===== Hardware Design =====
Line 53: Line 55:
    
    
 +**Implementare**
 +
 +Codul foloseste un singur firmware - Arduino Nano - ce realizeaza comunicarea dintre componente si calculeaza rezultatul dorit.
 +
 **Biblioteci** **Biblioteci**
   - LiquidCrystal_I2C   - LiquidCrystal_I2C
Line 67: Line 73:
 </​file>​ </​file>​
  
-**Implementare** +**Tastatura**
- +
-Codul foloseste un singur firmware - Arduino Nano - ce realizeaza comunicarea dintre componente si calculeaza rezultatul dorit. +
- +
-Tastatura+
  
 | 1 | 2 | 3 | D | | 1 | 2 | 3 | D |
Line 104: Line 106:
 </​file>​ </​file>​
  
-Ecran+**Ecran**
   * prima linie: ultimele 16 caractere din ecuatie   * prima linie: ultimele 16 caractere din ecuatie
   * a doua linie: rezultatul ecuatiei / mesajul de eroare   * a doua linie: rezultatul ecuatiei / mesajul de eroare
  
-Functii +<file cpp ecran.cpp>​ 
 +// set the LCD address to 0x27 for a 16 chars and 2 line display 
 +LiquidCrystal_I2C lcd(0x27, 16, 2); 
 +</​file>​ 
 +**Variabile globale** 
 + 
 +<file cpp global.cpp>​ 
 +char prev;  // previous character 
 +bool point = false; // check if there is a point in the number 
 +char op[50]; ​ // the operation 
 +char rez[50]; ​ // the result 
 +int mode = 0;  // mode of operation 
 +char x = '​+'; ​ // first operator 
 +char y = '​-'; ​ // second operator 
 +int ct = 0;  // character count  
 +int intrerupere = 0;  // active/​inactive interrupt 
 +</​file>​ 
 + 
 +**Structuri** 
 +<file cpp struct.cpp>​ 
 +typedef struct cor { 
 +  char x; 
 +  double y; 
 +} __attribute__((packed)) char_double;​ 
 +</​file>​ 
 + 
 +**Functii**   
 +  * bzero - reinitializeaza un vector char 
 +  * timerIsr - incrementeaza variabile de inactivitate
   * check - verifica validitatea caracterului dat (true - adauga caracterul; false - mesaj de eroare + semnal buzzer)   * check - verifica validitatea caracterului dat (true - adauga caracterul; false - mesaj de eroare + semnal buzzer)
   * solve - verifica daca ecuatia poate fi calculata si daca da, calculeaza rezultatul   * solve - verifica daca ecuatia poate fi calculata si daca da, calculeaza rezultatul
Line 118: Line 148:
      - daca primeste raspuns se continua calculul      - daca primeste raspuns se continua calculul
      - daca este in intervalul de timp se verifica daca a fost apasata o tasta, o identifica si realizeaza operatiile specifice ei      - daca este in intervalul de timp se verifica daca a fost apasata o tasta, o identifica si realizeaza operatiile specifice ei
- 
  
  
Line 131: Line 160:
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
    
-<note tip+<html
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+<iframe width="​700"​ height="​435"​ src="​https://​www.youtube.com/​embed/​mJzizz_5J8w?​si=MRZctpZW6GYD5Q8e"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​ 
-</note>+</html> 
    
 +
 ===== Concluzii ===== ===== Concluzii =====
    
 ===== Download ===== ===== Download =====
-  +{{:pm:prj2024:ddosaru:calculator_analog.zip|}}
-<note warning>​ +
-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:prj2022:cc:dumitru_alin*. +
-</​note>​ +
- +
 ===== Jurnal ===== ===== Jurnal =====
    
pm/prj2024/ddosaru/bogdan.manaila.1716749331.txt.gz · Last modified: 2024/05/26 21:48 by bogdan.manaila
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