Differences

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

Link to this comparison view

pm:prj2025:fstancu:ionut_sorin.boraciu [2025/05/25 19:40]
ionut_sorin.boraciu [Software Design]
pm:prj2025:fstancu:ionut_sorin.boraciu [2025/05/25 19:55] (current)
ionut_sorin.boraciu [Software Design]
Line 88: Line 88:
  
 Ca mediu de dezvoltare am folosit Arduino IDE Ca mediu de dezvoltare am folosit Arduino IDE
 +
 Librarii: ​ Librarii: ​
    * Arduino_SensorKit ( pentru senzorii din kit-ul arduino)    * Arduino_SensorKit ( pentru senzorii din kit-ul arduino)
Line 95: Line 96:
    * TimerFreeTone ( https://​github.com/​anothermist/​LIBRARIES/​tree/​master/​TimerFreeTone),​ am avut interferente cu buzzer-ul si alt senzor pe folosirea aceluiasi timer, asa ca am folosit o implementare a functiei tone(), care NU foloseste timere    * TimerFreeTone ( https://​github.com/​anothermist/​LIBRARIES/​tree/​master/​TimerFreeTone),​ am avut interferente cu buzzer-ul si alt senzor pe folosirea aceluiasi timer, asa ca am folosit o implementare a functiei tone(), care NU foloseste timere
  
-<note tip> +Implementare efectiva
-Descrierea codului aplicaţiei (firmware)+   ​Comunicarea SPI, este realizata prin intreruperi pentru slave: SPCR = (1 << SPE(1 << SPIE) ( pentru a activa interuperea generata de SPI
-  mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+   ​Apoi, pe Master, am folosit si intreruperi create prin functia attachInterrupt(digitalPinToInterrupt(BUTTON), IR_ISR, FALLING), pentru butonul care o data apasat seteaza un flag, pentru a afisa pe ecran si temperatura 
-  librării şi surse 3rd-party ​(e.g. Procyon AVRlib+   ​De mentionat, incercam sa folosesc in loc de buton, un senzor de infrarosu controlat de o telecomanda. Dar, imi doream sa procesez butonul ​pe care apas in ISR, ceea ce complica lucrurile, intrucat functia de procesare are intreruperi in spate. Chiar si dupa ce am activat sei(), avem toate flag-urile volatile, tot avea un comportament prea instabil. Asa ca l-am inlocuit cu un buton. 
-  algoritmi şi structuri ​pe care plănuiţi să le implementaţi +   ​Un mic bug, in functia detectSteal,​ cand decrementam un flag, folosit pentru a stii daca banii au fost luati din seif cand usa era inchisa: initial asa decrementam *check--, ceea ce nu scadea cu 1 valoarea variabilei, ci schimba pointer-ul. ​am modificat la (*check)--, si a mers)
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute ===== 
  
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
 ===== Concluzii ===== ===== Concluzii =====
 +Am realizat implementarea unui seif, cu cateva masuri de securitate:​ 
 +    * Scrierea parolei in ordine inversa va alerta politia, silentios 
 +    * Scrierea parolei de 2 ori gresita va alerta politia, si scoate aerul din incapere 
 +    * Monitorizarea statusului banilor din seif cu un senzor de lumina
 ===== Download ===== ===== Download =====
  
 Fișiere fusion360 ( schema electrică + PCB): {{pm:​prj2025:​fstancu:​boraciu_fusion360.zip}} Fișiere fusion360 ( schema electrică + PCB): {{pm:​prj2025:​fstancu:​boraciu_fusion360.zip}}
  
 +Cod sursa: {{pm::​prj2025:​fstancu:​cod_sursa_boraciu.zip}}
  
-===== Jurnal ===== 
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2025/fstancu/ionut_sorin.boraciu.1748191208.txt.gz · Last modified: 2025/05/25 19:40 by ionut_sorin.boraciu
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