Differences

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

Link to this comparison view

pm:prj2024:ccontasel:ana_maria.diaconu02 [2024/05/27 07:55]
ana_maria.diaconu02 [Hardware Design]
pm:prj2024:ccontasel:ana_maria.diaconu02 [2024/05/27 09:19] (current)
ana_maria.diaconu02 [Rezultate obținute]
Line 107: Line 107:
 </​note>​ </​note>​
 === Descrierea functiilor === === Descrierea functiilor ===
 +<note tip>
 1. setup() 1. setup()
 Această funcție este apelată o singură dată la pornirea microcontrolerului. În aceasta: Această funcție este apelată o singură dată la pornirea microcontrolerului. În aceasta:
Line 142: Line 142:
 Afișează nota corespunzătoare pe LCD. Afișează nota corespunzătoare pe LCD.
 Dacă apăsarea a fost destul de lungă și pentru butonul specific, poate iniția redarea unei melodii de pe SD. Dacă apăsarea a fost destul de lungă și pentru butonul specific, poate iniția redarea unei melodii de pe SD.
 +</​note>​
 +
 +<note important>​ Mai jos se regăsesc conceptele software folosite</​note>​
 +<note tip>
 +
 +1. **SPI** (Serial Peripheral Interface): Aceasta este folosită implicit prin includerea bibliotecii <​SPI.h>​ și utilizarea modulului SD, care comunica prin protocolul SPI cu microcontrolerul.
 +
 +2. **I2C** (Inter-Integrated Circuit): Utilizarea unui display LCD cu control I2C (LiquidCrystal_I2C lcd(0x27, 16, 2);), care se bazează pe comunicația I2C pentru a trimite comenzi și date către display.
 +
 +3.** UART** (Universal Asynchronous Receiver/​Transmitter):​ Comunicarea serială prin Serial.begin(9600);​ este un exemplu de utilizare UART, unde microcontrolerul trimite datele la un terminal sau la un alt dispozitiv pentru debug sau afișare.
 +
 +4. **GPIO** (General Purpose Input/​Output):​ Se utilizează pentru citirea stării butoanelor și controlul buzzerului. Pinii sunt setați ca intrări pentru butoane cu rezistențe de pull-up și ca ieșire pentru buzzer.
 +
 +5. **Timere**: Utilizarea funcției millis() pentru a măsura intervalul de timp în care un buton este apăsat și pentru a determina când să actualizeze afișajul LCD este un exemplu de utilizare a timerelor interne ale microcontrolerului.
 +</​note>​
 ===== Rezultate obținute ===== ===== Rezultate obținute =====
 + <​note tip> Modul de functionare al proiectului se poate vedea in videoclipul de mai jos</​note>​
  
 +<​html>​ <iframe width="​640"​ height="​360"​ src="​https://​youtube.com/​embed/​shorts/​eAchCWtF-4E"​ title="​Proiect PM Pian Digital"​ 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 =====
  
pm/prj2024/ccontasel/ana_maria.diaconu02.1716785706.txt.gz · Last modified: 2024/05/27 07:55 by ana_maria.diaconu02
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