Differences

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

Link to this comparison view

pm:prj2023:avaduva:electronic_piano_keyboard [2023/05/29 22:47]
iulia_nicole.mihai [Software Design]
pm:prj2023:avaduva:electronic_piano_keyboard [2023/05/29 23:39] (current)
iulia_nicole.mihai [Bibliografie/Resurse]
Line 59: Line 59:
 ===== Software Design ===== ===== Software Design =====
  
-Software-ul meu implementează un pian manual controlat de butoane, cu afișaj LCD și un buzzer. Codul utilizează biblioteca //​LiquidCrystal//​ pentru controlul afișajului LCD și definește obiecte și pini pentru butoane, LCD și buzzer. Există două funcții principale în cod: **manualPiano()** și **presets()**.\\ Funcția **manualPiano()** verifică starea butoanelor și în funcție de butonul apăsat, generează un ton corespunzător folosind buzzer-ul și afișează notele muzicale corespunzătoare pe afișajul LCD.\\ ​+Software-ul meu implementează un pian manual controlat de butoane, cu afișaj LCD și un buzzer. Codul utilizează biblioteca //​LiquidCrystal//​ pentru controlul afișajului LCD și definește obiecte și pini pentru butoane, LCD și buzzer. Există două funcții principale în cod: **manualPiano()** și **presets()**.\\ ​ 
 + 
 +Funcția **manualPiano()** verifică starea butoanelor și în funcție de butonul apăsat, generează un ton corespunzător folosind buzzer-ul și afișează notele muzicale corespunzătoare pe afișajul LCD.\\ ​
  
 Funcția **presets()** verifică starea butoanelor și selectează un preset specific pentru a reda o melodie predefinită. Afișajul LCD afișează numele melodiei selectate, iar buzzer-ul redă melodia respectivă.\\ ​ Funcția **presets()** verifică starea butoanelor și selectează un preset specific pentru a reda o melodie predefinită. Afișajul LCD afișează numele melodiei selectate, iar buzzer-ul redă melodia respectivă.\\ ​
 +
 +În plus, LED-ul se aprinde atunci când pianul este în modul de "​presets"​ și redă melodiile predefinite. Aceasta oferă un feedback vizual utilizatorului că melodia este în curs de redare. Pe de altă parte, LED-ul se va stinge atunci când pianul se află în modul de "pian manual",​ unde utilizatorul poate cânta manual notele. Astfel, LED-ul servește ca o indicare vizuală a modului de funcționare curent al pianului.\\ ​
  
 În funcția **setup()**,​ sunt inițializați pini și obiecte necesare, cum ar fi pinii butoanelor, pinul buzzer-ului și obiectul pentru controlul LCD-ului.\\ ​ În funcția **setup()**,​ sunt inițializați pini și obiecte necesare, cum ar fi pinii butoanelor, pinul buzzer-ului și obiectul pentru controlul LCD-ului.\\ ​
Line 72: Line 76:
  
 Fișierul header **"​notes.h"​** conține definițiile și constantele pentru notele muzicale utilizate. Aceste note sunt utilizate în funcții pentru a genera frecvențele corespunzătoare pentru buzzer.\\ ​ Fișierul header **"​notes.h"​** conține definițiile și constantele pentru notele muzicale utilizate. Aceste note sunt utilizate în funcții pentru a genera frecvențele corespunzătoare pentru buzzer.\\ ​
-===== Rezultate Obţinute ===== 
  
-<note tip> +{{:​pm:​prj2023:​avaduva:​schema_software-design.png|400}} 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</note>+Demo: https://​youtu.be/_fADIbFztgs
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download ===== 
- 
-<note warning> 
-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>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +**Idee proiect** 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse ​Hardware**. +  *https://​www.instructables.com/​Manual-Piano-W-Presets-Songs-Using-Arduino/​ 
-</note>+**Resurse ​software** 
 +  *https://​docs.arduino.cc/​learn/​electronics/​lcd-displays 
 +  ​*Github song repository: https://​github.com/​robsoncouto/​arduino-songs 
  
 <​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/prj2023/avaduva/electronic_piano_keyboard.1685389632.txt.gz · Last modified: 2023/05/29 22:47 by iulia_nicole.mihai
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