Differences

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

Link to this comparison view

pm:prj2025:iotelea:emilian.horduna [2025/05/26 20:33]
emilian.horduna [Implementarea logicii]
pm:prj2025:iotelea:emilian.horduna [2025/05/27 19:22] (current)
emilian.horduna [Bibliografie/Resurse]
Line 35: Line 35:
 - blocarea automată a ușii. - blocarea automată a ușii.
  
-{{:​pm:​prj2025:​iotelea:​emi-schema-bloc_1_.png?700}}+{{:​pm:​prj2025:​iotelea:​emi-schema-bloc2.drawio.png?700|}}
  
 Actor → Keypad 4x4 → Arduino UNO R3: Actor → Keypad 4x4 → Arduino UNO R3:
Line 89: Line 89:
  
 {{:​pm:​prj2025:​iotelea:​unfinished-safe-rear.jpg?​700|}} {{:​pm:​prj2025:​iotelea:​unfinished-safe-rear.jpg?​700|}}
 +
 +{{:​pm:​prj2025:​iotelea:​whatsapp_image_2025-05-27_at_16.26.55_4555e98c.jpg?​700|}}
  
 ===== Software Design ===== ===== Software Design =====
Line 188: Line 190:
 - `scanKeypad()`  ​ - `scanKeypad()`  ​
  
-  Scanează rândurile tastaturii 4x4, setează LOW câte un rând pe rând și citește coloanele. Debouncing software este realizat cu `millis()`.  ​+  Scanează rândurile tastaturii 4x4, setează LOW câte un rând pe rând și citește coloanele. Debouncing software este realizat cu millis().  ​
  
  
Line 202: Line 204:
  
 - `lcd_init()`  ​ - `lcd_init()`  ​
 +
  
   Inițializează LCD-ul în mod 4-bit, 2 rânduri, folosind comenzi standard trimise prin I2C cu funcții low-level (`twi_write()`).  ​   Inițializează LCD-ul în mod 4-bit, 2 rânduri, folosind comenzi standard trimise prin I2C cu funcții low-level (`twi_write()`).  ​
Line 229: Line 232:
 ` `
  
-===== Rezultate Obţinute =====+^ Componentă ​          ^ Metodă de calibrare ​                                                      ^ Rezultat / Valoare finală ​                ^ 
 +| Servomotor ​          | Testare empirică a impulsurilor PWM manuale ​                             | 600 µs deblocat (0°), 1500 µs blocat (90°) | 
 +| Tastatură 4×4        | Debounce software ajustat folosind `millis()` ​                           | Timp de debounce: 50 ms                     | 
 +| LCD 1602 I2C         | Ajustare timpi între comenzi și date, conform datasheet ​                 | Funcționare stabilă, fără caractere corupte | 
 +| Buzzer piezoelectric | Reglare durată și frecvență pentru sunete clare și diferențiate ​         | Ton pozitiv: 262–330 Hz, eroare: 262–175 Hz |
  
-<note tip> + 
-Care au fost rezultatele ​obţinute în urma realizării proiectului vostru+===== Rezultate ​obținute ===== 
-</​note>​+ 
 +• Sistemul funcționează stabil și complet automatizat. ​  
 + 
 +• Codul PIN este verificat corect, cu feedback audio-vizual. ​  
 + 
 +• Servomotorul acționează zăvorul precis, fără librării externe  
 + 
 +• LCD-ul comunică prin I2C low-level (fără Wire.h). ​  
 + 
 +• Blocarea automată funcționează corect cu temporizare non-blocantă. ​  
 + 
 +• Secvența de autodistrugere este declanșată după 3 greșeli. ​  
 + 
 +• Toate componentele au fost testate fizic, cu rezultate conforme.  ​
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Proiectul a reușit să integreze cu succes conceptele studiate în laborator, precum GPIO, PWM și I2C, într-un sistem embedded funcțional și bine organizat. Abordarea low-level, fără librării externe, a permis un control complet asupra hardware-ului și o înțelegere aprofundată a comunicației între componente.  ​
  
-<note warning>​ +Sunt fericit că am reușit să implementez de la zero un seif inteligent folosind Arduino, parcurgând toate etapele esențialeplanificarea logiciicăutarea și achiziția componentelordocumentarea din surse online și vizionarea de tutoriale video pe YouTube  
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurseschemeetcUn fişier READMEun ChangeLogun script de compilare şcopiere automată pe uC crează întotdeauna o impresie bună ;-).+ 
 +Experiența a fost una practicăeducativă și motivantășm-a ajutat să înțeleg mai bine cum se dezvoltă un proiect embedded cap-coadă 
  
-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 ===== ===== Jurnal =====
  
-<note tip> +- 26 Aprilie – Alegerea temei proiectului ​ 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul ​proiectului+
-</​note>​+
  
 +- 1, 2 Mai – Brainstorming pentru alegerea componentelor  ​
 +
 +- 3 Mai – Comandarea componentelor hardware  ​
 +
 +- 6 Mai – Construirea circuitului electronic în Tinkercad (simulare)  ​
 +
 +- 8 Mai – Recepționarea componentelor fizice  ​
 +
 +- 10 Mai – Completarea Milestone 1  ​
 +
 +- 12 Mai – Asamblarea circuitului real  ​
 +
 +- 12 Mai – Implementarea unui cod funcțional high-level (cu librării)  ​
 +
 +- 17 Mai – Prezentarea Milestone 2  ​
 +
 +- 24 Mai – Convertirea codului high-level în cod low-level (fără librării)  ​
 +
 +- 25 Mai – Finalizarea și prezentarea Milestone 3  ​
 +
 +- 28 Mai – Participarea la PM Fair 
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
Line 256: Line 294:
 [[https://​github.com/​Emilian953/​Smart-Safe-Box| Pagina de GitHub]] [[https://​github.com/​Emilian953/​Smart-Safe-Box| Pagina de GitHub]]
  
-[[https://​drive.google.com/​file/​d/​12_EX6L4X6f8X2gsXAWvi_QgrKrP5VBlj/​view?​usp=drive_link|Demo-Video]]+[[https://​drive.google.com/​file/​d/​12_EX6L4X6f8X2gsXAWvi_QgrKrP5VBlj/​view?​usp=drive_link|Demo-Video ​in development]] 
 + 
 +[[https://​drive.google.com/​file/​d/​1xmLwBL_BmBSYDKec8ba2yeDeOBSv0kOU/​view?​usp=sharing|Demo-Video fully built]]
 </​note>​ </​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>​
  
pm/prj2025/iotelea/emilian.horduna.1748280790.txt.gz · Last modified: 2025/05/26 20:33 by emilian.horduna
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