This shows you the differences between two versions of the page.
pm:prj2024:sseverin:diana.cismaru [2024/05/26 16:10] diana.cismaru [Concluzii] |
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 84: | Line 84: | ||
===== 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. 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 o plăcuță cu ATMega328P. Proiectul a ieșit exact așa cum mi-am dorit, captivant, distractiv și fără bug-uri. :-D | + | 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 și 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 şi 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 113: | 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]] |