Differences

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

Link to this comparison view

pm:prj2024:mdinica:iulia.chesches [2024/05/24 23:49]
iulia.chesches
pm:prj2024:mdinica:iulia.chesches [2024/05/27 13:51] (current)
iulia.chesches [Rezultate Obţinute]
Line 113: Line 113:
  
 ==== Algoritmi și structuri implementate ==== ==== Algoritmi și structuri implementate ====
 +
 +  * Citirea și maparea intrărilor de la keypad pentru selectarea unui program.
 +  * Afișarea mesajelor pe ecranul LCD.
 +  * Autentificarea și citirea datelor de pe un card Mifare Classic.
 +  * Controlul unui motor servo pentru a simula mișcarea unui mecanism de spălare.
  
 ==== Flow firmware ==== ==== Flow firmware ====
  
-==== Optimizări ====+Initial, utilizatorul este rugat să apese tasta * pentru a începe interacțiunea cu aparatul.
  
-==== Elemente ​de noutate ====+Mai apoi, este așteptat să introducă numărul programului,​ urmat de tasta #. Momentan numărul introdus este numărul de secunde al programului și suma ce trebuie plătită, dar acest aspect poate fi customizat în viitor în funcție de fiecare spălătorie în parte.
  
-===== Elemente ​de laborator =====+Clientul este așteptat să apropie cardul, iar dacă plata este efectuată cu succes, periile rotative încep să se rotească iar LCD-ul afișează numărul ​de secunde rămase până la finalizarea programului. În același timp, creditul de pe cardul de fidelitate al acestuia scade.
  
-===== Demo video =====+După finalizarea programului,​ automatul revine la starea inițială de repaus.
  
 +Flow-ul programului poate fi vizualizat și în următoarea diagramă:
  
-<note tip> +{{:pm:​prj2024:​mdinica:​carwashflowchartiuliachesches.png?200}}
-Descrierea codului aplicaţiei (firmware): +
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+==== Optimizări ​====
  
-<note tip> +Starea aplicației este gestionată utilizând variabile booleene: choose_program,​ pay, start_wash. La un moment dat de timp, maxim două dintre ele sunt active, ceea ce permite utilizatorului să treacă la următorul pas, dar și să rectifice anumite erori precum selectarea greșită a programului sau folosirea unui card cu fonduri insuficiente. De asemenea, evită busy waiting-ul, adică nu verifică dacă se detectează un card sau o apăsare de keypad decât când este momentul, și evită efectuarea unor acțiuni nedorite, precum selectarea unui alt program când unul este deja în execuție.
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+==== Elemente de noutate ​====
  
-===== Download =====+  * **Flexibilitatea și comoditatea utilizării**:​ Spălătoria automată integrată într-un lanț de benzinării oferă utilizatorilor flexibilitate și comoditate, permițându-le să își spele mașinile în orice moment, fără să fie restricționați de programul redus al spălătoriilor convenționale sau să depună efort la spălătoriile self-wash. 
 +  * **Sistem de plată inovator**: Utilizarea unui sistem de plată bazat pe puncte acumulate în urma alimentării autovehiculului,​ gestionate prin intermediul unui card de fidelitate. 
 +  * **Interacțiunea utilizatorului prin intermediul unui display**: Permite utilizatorilor să vadă instrucțiuni și opțiuni și să fie informați în timp real legat de starea programului de spălare. 
 +==== Elemente de laborator ​====
  
-<note warning>​ +Proiectul meu încorporează trei elemente principale din laboratorprotocolul **SPI** pentru modulul RFIDprotocolul **I2C** pentru display și **PWM** pentru servo motorDe asemeneaam folosit **UART** pentru comunicarea serială pentru debug șafișarea mesajelor în consola serială.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisursescheme, etcUn fişier READMEun ChangeLog, un script de compilare şcopiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-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**. +===== Rezultate Obţinute =====
-</​note>​+
  
-===== Jurnal ​=====+[[https://​youtu.be/​RFCjguDeOe4|Demo proiect]] 
 + 
 +{{:​pm:​prj2024:​mdinica:​finalpmautomaticcarwash.jpeg?​500}} 
 + 
 +===== Download ​=====
  
-<note tip> +[[https://​github.com/​cheschesiulia/automatic-car-wash|Github repo]]
-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 =====
  
-<​note>​ +  * https://​how2electronics.com/​interfacing-pn532-nfc-rfid-module-with-arduino/​ 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​lastminuteengineers.com/​arduino-keypad-tutorial/#​google_vignette 
-</note>+  ​https://​docs.arduino.cc/​learn/​electronics/​servo-motors/​ 
 +  * https://​www.instructables.com/​How-to-Connect-I2C-Lcd-Display-to-Arduino-Uno/
  
 <​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/prj2024/mdinica/iulia.chesches.1716583757.txt.gz · Last modified: 2024/05/24 23:49 by iulia.chesches
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