This shows you the differences between two versions of the page.
|
pm:prj2023:ncaroi:treasure-box [2023/05/25 17:29] mihnea.mitrache [Software Design] |
pm:prj2023:ncaroi:treasure-box [2023/05/29 19:01] (current) mihnea.mitrache [Resurse] |
||
|---|---|---|---|
| Line 63: | Line 63: | ||
| **Biblioteci implicate** | **Biblioteci implicate** | ||
| * Servo.h -> comandarea servomotoarelor | * Servo.h -> comandarea servomotoarelor | ||
| - | * SoftwareSerial.h comunicarea intre HC05 și uController | + | * SoftwareSerial.h -> comunicarea intre modulul HC05 și uController |
| - | <note tip>Ofera posibilitatea de a nu reconecta modulul Bluetooth la fiecare reprogramare</note> | + | <note tip>Oferă posibilitatea de a nu reconecta modulul Bluetooth la fiecare reprogramare</note> |
| | | ||
| Codul a fost modularizat într-un fișier header(.hpp) și un fișier sursă(.cpp). | Codul a fost modularizat într-un fișier header(.hpp) și un fișier sursă(.cpp). | ||
| - | <br> | + | ---- |
| **Header-ul** | **Header-ul** | ||
| Conține constantele implicate. Pe lângă definirea componentelor în raport cu pinii cu care interacționeză | Conține constantele implicate. Pe lângă definirea componentelor în raport cu pinii cu care interacționeză | ||
| - | cu plăcuța, aici se regăsesc constante ce calibrează modul de lucru. | + | cu plăcuța, aici se regăsesc constante ce calibrează modul de lucru ca de exemplu: |
| <note> | <note> | ||
| const int maximumKnocks = 20; | const int maximumKnocks = 20; | ||
| <note tip>Reda numarul maxim de bătai care ar putea forma o secvență validă</note> | <note tip>Reda numarul maxim de bătai care ar putea forma o secvență validă</note> | ||
| + | const int averageRejectValue = 15; | ||
| + | <note tip>Dacă o bătaie, luată ca valoare ADC de la buzzer, difera cu mai mult de atat, atunci e greșit</note> | ||
| + | const int lockTurnWait = 4000; | ||
| + | <note tip>După ce capacul a fost închis, după 4 secunde se reblochează</note> | ||
| + | const int threshold = 3; | ||
| + | <note tip>Nivel minim al unei bătăi valide</note> | ||
| + | </note> | ||
| + | **Fișierul sursă** | ||
| + | A fost modularizat in mai multe funcții astfel: | ||
| + | <note> | ||
| + | void getBluetoothMessage(); | ||
| + | <note tip>Interoghează interfața serială pentru a identifica potențiale comenzi</note> | ||
| + | void listenToSecretKnock() | ||
| + | <note tip>La detecția unei valori date de buzzer, se declanșează și ascultă până nu mai detectează niciun sunet. | ||
| + | La final compară cu secvența stocată și comandă deschiderea dacă e cazul.</note> | ||
| + | void motorSinging(uint8_t sliderValue) | ||
| + | <note tip>Comandă motorul care acționează angrenajul muzical în funcție de durata dată de aplicație.</note> | ||
| + | void triggerDoorUnlock() | ||
| + | void triggerDoorLock() | ||
| + | <note tip>Deschide/închide cutia prin comanda servomotoarelor</note> | ||
| </note> | </note> | ||
| Line 105: | Line 125: | ||
| {{:pm:prj2023:ncaroi:treasureboxfinal.jpeg?750|}} | {{:pm:prj2023:ncaroi:treasureboxfinal.jpeg?750|}} | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | În ciuda multor dificultăți întâmpinate, am reușit să realizez un proiect de care sunt pe deplin mulțumit. | ||
| - | ===== Download ===== | + | ===== Resurse ===== |
| - | <note warning> | + | Codul pentru programarea uController-ului se găsește in următorul repository: |
| - | 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ă ;-). | + | <note tip>https://github.com/PetrutMit/TreasureBox</note> |
| - | 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:prj2009:cc:dumitru_alin**. | ||
| - | </note> | ||
| - | |||
| - | ===== 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 ===== | ||
| - | |||
| - | <note> | ||
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
| - | </note> | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
| - | |||