Differences

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

Link to this comparison view

pm:prj2023:vstoica:bogdan.rizescu [2023/05/28 22:50]
bogdan.rizescu [Software Design]
pm:prj2023:vstoica:bogdan.rizescu [2023/05/28 23:42] (current)
bogdan.rizescu [Download]
Line 41: Line 41:
 ===== Software Design ===== ===== Software Design =====
  
 +Mediul de dezvoltare pe care l-am utilizat a fost **Arduino IDE**. De asemenea, am utilizat **https://​webwhiteboard.com/​** pentru a desena schema de stari si tranzitii.
  
-<note tip> 
-Descrierea codului aplicaţiei (firmware): 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi 
-  * (etapa 3) surse şi funcţii implementate 
-</​note>​ 
- 
-Mediul de dezvoltare pe care l-am utilizat a fost **Arduino IDE**. De asemenea, am utilizat **https://​webwhiteboard.com/​** pentru a desena schema de stari si tranzitii. 
  
 Am folosit, de asemenea, cunostinte din urmatoarele laboratoare de PM: Am folosit, de asemenea, cunostinte din urmatoarele laboratoare de PM:
Line 55: Line 49:
   * Laboratorul 4: **ADC** (pentru a citi valoarea senzorului analogic de temperatura si a o transforma din mV in °C)   * Laboratorul 4: **ADC** (pentru a citi valoarea senzorului analogic de temperatura si a o transforma din mV in °C)
  
-**Design si mod de functionare**:​ 
  
-Initializari: ​+**Design si mod de functionare** 
 + 
 +**Initializari**
     * am initializat 6 variabile pentru fiecare LED in parte, fiecareia corespunzandu-i cate un pin digital de pe placuta Arduino     * am initializat 6 variabile pentru fiecare LED in parte, fiecareia corespunzandu-i cate un pin digital de pe placuta Arduino
     * am initializat si o variabila pentru senzor cu numarul pinului analogic la care senzorul este conectat (A0)     * am initializat si o variabila pentru senzor cu numarul pinului analogic la care senzorul este conectat (A0)
Line 63: Line 58:
     * folosesc enum-ul LightState in care imi definesc starile semaforului (GREEN_RED, YELLOW_REDYELLOW,​ RED_GREEN, REDYELLOW_YELLOW)     * folosesc enum-ul LightState in care imi definesc starile semaforului (GREEN_RED, YELLOW_REDYELLOW,​ RED_GREEN, REDYELLOW_YELLOW)
  
-Descriere functii implementate:​+**Descriere functii implementate**:
   * **setup()** - setez LED-urile in starea lor initiala (verde la masini si rosu la pietoni), atasez intreruperea de butonul caruia ii activez rezistenta de PULLUP si apelez functia de configurare a timer-ului   * **setup()** - setez LED-urile in starea lor initiala (verde la masini si rosu la pietoni), atasez intreruperea de butonul caruia ii activez rezistenta de PULLUP si apelez functia de configurare a timer-ului
   * **loop()** - se citesc permanent valorile primite de la senzorul de temperatura si se modifica temporizarea intiala pentru pietoni in functie de ce transmite senzorul; de asemenea, cat timp buton este tratat ca fiind fost apasat, functia changeLights() este apelata, semaforul schimbandu-si starile corespunzator   * **loop()** - se citesc permanent valorile primite de la senzorul de temperatura si se modifica temporizarea intiala pentru pietoni in functie de ce transmite senzorul; de asemenea, cat timp buton este tratat ca fiind fost apasat, functia changeLights() este apelata, semaforul schimbandu-si starile corespunzator
Line 70: Line 65:
   * **ISR(TIMER1_COMPA_vect)** - adun 1000 la variabila seconds (reprezentand 1000ms), functia fiind apelata o data pe secunda   * **ISR(TIMER1_COMPA_vect)** - adun 1000 la variabila seconds (reprezentand 1000ms), functia fiind apelata o data pe secunda
   * **buttonInterrupt()** - functia este apelata in momentul in care butonul este apasat, setand variabila buttonPressed ca fiind true, urmand a fi setata la false in momentul in care semaforul ajunge din nou la starea initiala (verde la masini, rosu la pietoni)   * **buttonInterrupt()** - functia este apelata in momentul in care butonul este apasat, setand variabila buttonPressed ca fiind true, urmand a fi setata la false in momentul in care semaforul ajunge din nou la starea initiala (verde la masini, rosu la pietoni)
 +
  
  
 **Schema de stari si tranzitii**:​ **Schema de stari si tranzitii**:​
 +{{ :​pm:​prj2023:​vstoica:​traffic_software_states.jpg?​800 |}}
  
  
Line 92: Line 88:
 ===== Download ===== ===== Download =====
  
-{{:​pm:​prj2023:​vstoica:​arhiva_proiect.zip|}} +Arhiva proiect: ​{{:​pm:​prj2023:​vstoica:​traffic_light_controller_rizescu_bogdan-constantin.zip|}}
  
 ===== Jurnal ===== ===== Jurnal =====
pm/prj2023/vstoica/bogdan.rizescu.1685303425.txt.gz · Last modified: 2023/05/28 22:50 by bogdan.rizescu
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