This shows you the differences between two versions of the page.
pm:prj2023:ncaroi:treasure-box [2023/05/25 17:28] 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). | ||
+ | ---- | ||
**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 104: | 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> | ||
- |