This shows you the differences between two versions of the page.
pm:prj2025:fstancu:ionut_sorin.boraciu [2025/05/25 19:52] ionut_sorin.boraciu [Rezultate Obţinute] |
pm:prj2025:fstancu:ionut_sorin.boraciu [2025/05/25 19:55] (current) ionut_sorin.boraciu [Software Design] |
||
---|---|---|---|
Line 98: | Line 98: | ||
Implementare efectiva: | Implementare efectiva: | ||
* Comunicarea SPI, este realizata prin intreruperi pentru slave: SPCR = (1 << SPE) | (1 << SPIE) ( pentru a activa interuperea generata de SPI) | * Comunicarea SPI, este realizata prin intreruperi pentru slave: SPCR = (1 << SPE) | (1 << SPIE) ( pentru a activa interuperea generata de SPI) | ||
- | * Apoi, pe Master, am folosit si intreruperi create prin functia attachInterrupt(digitalPinToInterrupt(BUTTON), IR_ISR, FALLING), pentru butonul care o data apasat, va seta un flag, pentru a afisa pe ecran si temperatura | + | * 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 |
* 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. | * 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. | ||
* 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) | * 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) | ||
Line 105: | Line 105: | ||
===== 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 ===== | ||
Line 113: | Line 116: | ||
- | ===== 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 ===== |