Differences

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

Link to this comparison view

pm:prj2024:sseverin:diana.cismaru [2024/05/26 16:05]
diana.cismaru [Software Design]
pm:prj2024:sseverin:diana.cismaru [2024/05/27 15:12] (current)
diana.cismaru [Software Design]
Line 28: Line 28:
   * modul senzor de mișcare PIR   * modul senzor de mișcare PIR
   * un led verde și unul roșu   * un led verde și unul roșu
-  * rezistențe+  * rezistențe ​(220 și 10k)
   * breadboard   * breadboard
   * fire mamă-tată și tată-tată   * fire mamă-tată și tată-tată
Line 34: Line 34:
  
 === Schema electrică === === Schema electrică ===
-{{ :​pm:​prj2024:​sseverin:​schematic-pm-dianacismaru.png?700 |}}+{{ :​pm:​prj2024:​sseverin:​schematic.jpg?700 |}}
  
 **Ecranul LCD cu interfață I2C** are rolul de a afișa mesaje interactive pe parcursul jocului, dar și valorile măsurate se senzorul de forță rezistiv. Pinul SDA e conectat la A5 de pe placa Arduino, pentru a transmite datele, iar pentru semnalul de ceas am conectat pinul SCL la A4. **Ecranul LCD cu interfață I2C** are rolul de a afișa mesaje interactive pe parcursul jocului, dar și valorile măsurate se senzorul de forță rezistiv. Pinul SDA e conectat la A5 de pe placa Arduino, pentru a transmite datele, iar pentru semnalul de ceas am conectat pinul SCL la A4.
Line 40: Line 40:
 **Senzorul de forță rezistiv (FSR402)** măsoară forța aplicată prin creșterea rezistenței în momentul apăsării pe acesta, trimițând rezultatele pe ecranul LCD. Este înseriat cu o rezistență de 10kΩ și apoi conectat la pinul A0 al plăcuței Arduino pentru citirea valorii analogice. **Senzorul de forță rezistiv (FSR402)** măsoară forța aplicată prin creșterea rezistenței în momentul apăsării pe acesta, trimițând rezultatele pe ecranul LCD. Este înseriat cu o rezistență de 10kΩ și apoi conectat la pinul A0 al plăcuței Arduino pentru citirea valorii analogice.
  
-**Senzorul PIR de mișcare** detectează mișcarea în fața aparatului și trimite un semnal către Arduino, pentru a putea aprinde LED-urile corespunzătoare. Pinul OUT e conectat la pinul D7, pentru a transmite semnalul ​de detecție a mișcării.+**Senzorul PIR de mișcare** detectează mișcarea în fața aparatului și trimite un semnal către Arduino, pentru a putea aprinde LED-urile corespunzătoare. Pinul OUT e conectat la pinul D2, pentru a se putea folosi ​de întreruperi.
  
 **Modulul de card SD** este conectat la plăcuță prin pinii interfeței SPI: CS (D10 - SS), MOSI (D11), MISO (D12) și SCK (D13), utilizând un card micro-SD de 16GB de la Kingston, pe care am stocat fișiere audio .wav cu următoarele specificații:​ 16kHz, 8-bit resolution (128kbps bit rate), canal MONO, U8 PCM, pentru a putea fi redate. **Modulul de card SD** este conectat la plăcuță prin pinii interfeței SPI: CS (D10 - SS), MOSI (D11), MISO (D12) și SCK (D13), utilizând un card micro-SD de 16GB de la Kingston, pe care am stocat fișiere audio .wav cu următoarele specificații:​ 16kHz, 8-bit resolution (128kbps bit rate), canal MONO, U8 PCM, pentru a putea fi redate.
Line 59: Line 59:
 == Funcționalități din laborator prezente în implementare == == Funcționalități din laborator prezente în implementare ==
   - **I2C (Inter-Integrated Circuit)**: Protocol utilizat pentru comunicarea cu afișajul LCD. Permite conectarea ușoară a dispozitivului,​ folosind un număr minim de pini   - **I2C (Inter-Integrated Circuit)**: Protocol utilizat pentru comunicarea cu afișajul LCD. Permite conectarea ușoară a dispozitivului,​ folosind un număr minim de pini
-  - **SPI (Serial Peripheral Interface)**:​ Necesar pentru comunicarea cu cardul SD, utilizând ​un o viteză mare de transfer de date+  - **SPI (Serial Peripheral Interface)**:​ Necesar pentru comunicarea cu cardul SD, utilizând o viteză mare de transfer de date
   - **Întreruperi**:​ Utilizate pentru a detecta mișcarea folosind senzorul PIR, permițând o reacție rapidă la evenimentele externe, fără a bloca execuția principală a programului   - **Întreruperi**:​ Utilizate pentru a detecta mișcarea folosind senzorul PIR, permițând o reacție rapidă la evenimentele externe, fără a bloca execuția principală a programului
  
Line 83: Line 83:
 <​html>​ <iframe width="​720"​ height="​480"​ src="​https://​www.youtube.com/​embed/​58uuSymlm8o"​ title="​Arcade Pushing Machine - Proiect PM 2024" frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​ </​html>​ <​html>​ <iframe width="​720"​ height="​480"​ src="​https://​www.youtube.com/​embed/​58uuSymlm8o"​ title="​Arcade Pushing Machine - Proiect PM 2024" frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​ </​html>​
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Acest proiect a fost o oportunitate foarte bună de a pune în practică cunoștințele acumulate la PM, dar și de la ED. Am folosit și Fusion încă o dată în viață, pentru realizarea schemei electrice. A fost o provocare inginerească,​ care m-a ajutat să înțeleg mai bine interacțiunea dintre hardware și software. Am experimentat utilizarea întreruperilor,​ a senzorilor, afișarea pe LCD, redarea fișierelor audio și, mai ales, am înțeles cu adevărat cum se folosește un Arduino. Proiectul a ieșit exact așa cum mi-am dorit, captivant, distractiv și fără bug-uri. :-D
  
 ===== Download ===== ===== Download =====
- +<​note>​ 
-<​note ​warning+Arhiva ​cu implementarea șschema electrică se poate descărca de {{:pm:prj2024:sseverin:arcadepushingmachine-pm2024-cismarudiana.zip|aici}}.
-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 ş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**.+
 </​note>​ </​note>​
- 
 ===== Jurnal ===== ===== Jurnal =====
   * 7 aprilie 2024 - Mi-am pus la punct ideea proiectului   * 7 aprilie 2024 - Mi-am pus la punct ideea proiectului
Line 111: Line 109:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​note>​ 
 == Resurse Hardware == == Resurse Hardware ==
   * [[https://​roboticsbackend.com/​arduino-uno-pins-a-complete-practical-guide/​|Arduino Uno Pins – A Complete Practical Guide]]   * [[https://​roboticsbackend.com/​arduino-uno-pins-a-complete-practical-guide/​|Arduino Uno Pins – A Complete Practical Guide]]
pm/prj2024/sseverin/diana.cismaru.1716728759.txt.gz · Last modified: 2024/05/26 16:05 by diana.cismaru
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