Differences

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

Link to this comparison view

pm:prj2026:victor.stoica0203:stefan.gherghel [2026/05/19 21:20]
stefan.gherghel [Schema electrică]
pm:prj2026:victor.stoica0203:stefan.gherghel [2026/05/19 21:42] (current)
stefan.gherghel [Bill of Materials]
Line 99: Line 99:
 | Fire Dupont 10cm Tata-Tata ​            ​|TBD ​   | [[https://​sigmanortec.ro/​40-fire-Dupont-10cm-Tata-Tata-p210856288 | Link]]|0.15| | Fire Dupont 10cm Tata-Tata ​            ​|TBD ​   | [[https://​sigmanortec.ro/​40-fire-Dupont-10cm-Tata-Tata-p210856288 | Link]]|0.15|
 | Fire Dupont 20cm Tata-Mama ​            ​|TBD ​   | [[https://​sigmanortec.ro/​40-Fire-Dupont-20cm-Tata-Mama-p210854317 | Link]]|0.25| | Fire Dupont 20cm Tata-Mama ​            ​|TBD ​   | [[https://​sigmanortec.ro/​40-Fire-Dupont-20cm-Tata-Mama-p210854317 | Link]]|0.25|
-| Rezistență 470                          |  | [[https://​sigmanortec.ro/​Rezistor-p126025265| Link]]|0.15 ​        |+| Rezistență 470                          |  | [[https://​sigmanortec.ro/​Rezistor-p126025265| Link]]|0.15 ​        |
 | Diodă 1N4007 ​                           | 1  | [[https://​www.optimusdigital.ro/​ro/​componente-electronice-diode/​7457-dioda-1n4007.html?​search_query=dioda+1n4007&​results=3| Link]]|0.49 ​       | | Diodă 1N4007 ​                           | 1  | [[https://​www.optimusdigital.ro/​ro/​componente-electronice-diode/​7457-dioda-1n4007.html?​search_query=dioda+1n4007&​results=3| Link]]|0.49 ​       |
 | Rezistență 10k                          | 2  | [[https://​sigmanortec.ro/​Rezistor-p126025265| Link]]|0.15 ​        | | Rezistență 10k                          | 2  | [[https://​sigmanortec.ro/​Rezistor-p126025265| Link]]|0.15 ​        |
Line 137: Line 137:
 ^ Pin componentă ^ Pin arduino ​ ^Pin microcontroller ​     ^ Mențiuni ​        ^ ^ Pin componentă ^ Pin arduino ​ ^Pin microcontroller ​     ^ Mențiuni ​        ^
 |  Anod            |  5V       ​| ​                        ​| ​         | |  Anod            |  5V       ​| ​                        ​| ​         |
-|  Red             |  11       ​| ​ PB3                       ​| ​ PWM        | +|  Red             ​| ​ 10       ​| ​ PB2                       ​| ​ PWM        |
-|  Green             |  10       ​| ​ PB2                       ​| ​ PWM        |+
 |  Blue             ​| ​ 9       ​| ​ PB1                       ​| ​ PWM        | |  Blue             ​| ​ 9       ​| ​ PB1                       ​| ​ PWM        |
  
Line 223: Line 222:
     * Prin intermediul funcției ''​updateEEPROM()'',​ stările curente ale variabilelor - ''​mode'',​ ''​humidityIndex''​ și ''​timedIndex''​ - sunt salvate automat în memorie (''​EEPROM_MODE_ADDR'',​ ''​EEPROM_HUMIDITY_ADDR'',​ ''​EEPROM_TIMED_ADDR''​). Această scriere se efectuează doar în momentul în care utilizatorul părăsește ecranul de ''​MENIU''​ sau când sistemul intră automat în starea de ''​Standby'',​ utilizând metoda ''​EEPROM.update()''​ pentru a scrie datele doar dacă acestea s-au modificat.     * Prin intermediul funcției ''​updateEEPROM()'',​ stările curente ale variabilelor - ''​mode'',​ ''​humidityIndex''​ și ''​timedIndex''​ - sunt salvate automat în memorie (''​EEPROM_MODE_ADDR'',​ ''​EEPROM_HUMIDITY_ADDR'',​ ''​EEPROM_TIMED_ADDR''​). Această scriere se efectuează doar în momentul în care utilizatorul părăsește ecranul de ''​MENIU''​ sau când sistemul intră automat în starea de ''​Standby'',​ utilizând metoda ''​EEPROM.update()''​ pentru a scrie datele doar dacă acestea s-au modificat.
   * **Temporizare:​**   * **Temporizare:​**
-    * Pentru gestionarea intervalelor de timp în bucla principală ​este apelat ​''​millis()''​, rezultatul fiind salvat ​în variabila ''​currentMillis'' ​care este folosită de restul funcțiilor (și de ISR-uri).+    * Pentru gestionarea intervalelor de timp este folosit un timer software implementat cu ajutorul ​''​Timer2'' ​configurat ​în modul ''​CTC'',​ întreruperea ''​TIMER2_COMPA_vect''​ incrementând ​variabila ''​currentMillis'' ​la 1ms.
   * **PWM:**   * **PWM:**
-    * Pentru PWM pe LED-ul RGB este folosită funcția din biblioteca Arduino ​''​analogWrite()''​.+    * Pentru PWM pe LED-ul RGB este folosit ​PWM hardware configurat prin ''​Timer1''​ (Fast PWM pe canalele ''​OC1A''​ și ''​OC1B''​.
  
 **Calibrare senzori:** **Calibrare senzori:**
Line 237: Line 236:
   * **PWM:** obținerea efectului de luminozitate variabilă pe LED-ul RGB.   * **PWM:** obținerea efectului de luminozitate variabilă pe LED-ul RGB.
   * **Întreruperi:​** evitarea polling-ului pe butoane.   * **Întreruperi:​** evitarea polling-ului pe butoane.
-  * **Timere:** funcția ''​millis()'' ​folosește intern ''​Timer0''​ iar aceasta este folosită pentru temporizare.+  * **Timere:​** ​se utilizează ''​Timer2''​ pentru obținerea unei funcționalități echivalente cu ''​millis()''​.
  
 ** Element de noutate **: Combinarea celor trei moduri de funcționare diferite. ** Element de noutate **: Combinarea celor trei moduri de funcționare diferite.
Line 297: Line 296:
   * 11.05.2026 - Toate conexiunile sunt realizate dar am stricat pompa (funcționează doar uneori).   * 11.05.2026 - Toate conexiunile sunt realizate dar am stricat pompa (funcționează doar uneori).
   * 17.05.2026 - Finalizare software. Videoclipuri realizate. Rupt picior senzor LM35.   * 17.05.2026 - Finalizare software. Videoclipuri realizate. Rupt picior senzor LM35.
 +  * 19.05.2026 - Realizat PWM și millis() cu regiștrii.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2026/victor.stoica0203/stefan.gherghel.1779214820.txt.gz · Last modified: 2026/05/19 21:20 by stefan.gherghel
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