Differences

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

Link to this comparison view

pm:prj2021:abasoc:pianelectric [2021/06/03 01:33]
diana.megelea
pm:prj2021:abasoc:pianelectric [2021/06/03 03:44] (current)
diana.megelea [Rezultate Obţinute]
Line 32: Line 32:
 ====== Software Design ====== ====== Software Design ======
  
-Proiectul a fost întâi simulat în Tinkercad pentru a mă asigura atât de faptul că au fost conectate bine piesele, cât și de funcționalitatea corectă a codului. Ulterior am folosit Arduino IDE ca mediu de dezvoltare.+Proiectul a fost întâi simulat ​și testat ​în Tinkercad pentru a mă asigura atât de faptul că au fost conectate bine piesele, cât și de funcționalitatea corectă a codului. Ulterior am folosit Arduino IDE ca mediu de dezvoltare.
  
 =====Detalii implementare===== =====Detalii implementare=====
  
-Pentru funcția de recording am folosit un buffer de dimensiune prestabilită în care salvez frecvența notelor corespunzătoare butoanelor apăsate, crescând un contor. După apăsarea butonului de redare, contorul se resetează la 0 pentru a putea înregistra ulterior o altă piesă.+Pentru funcția de recording am folosit un buffer de dimensiune ​maximă ​prestabilită în care salvez frecvența notelor corespunzătoare butoanelor apăsate, crescând un contor. După apăsarea butonului de redare, contorul se resetează la 0 pentru a putea înregistra ulterior o altă piesă.
  
-Întrucât am comandat din neatenție un modul buzzer activ, pentru a-l putea face să funcționeze precum unul pasiv (să redea doar sunetele corespunzătoare butoanelor apăsate ​și nu să scoată un sunet continuu) am setat pin-ul corespunzător buzzer-ului pe HIGH.+Întrucât am comandat din neatenție un modul buzzer activ, pentru a-l putea face să funcționeze precum unul pasiv (să redea doar sunetele corespunzătoare butoanelor apăsatenu să scoată un sunet încontinuu) am setat pin-ul corespunzător buzzer-ului pe HIGH.
  
 =====Cod sursă===== =====Cod sursă=====
Line 96: Line 96:
   }   }
  
-  ​ 
   if (b1) {   if (b1) {
      ​tone(buzzer,​frequencies[0],​100);​      ​tone(buzzer,​frequencies[0],​100);​
Line 175: Line 174:
  
 ====== Rezultate Obţinute ====== ====== Rezultate Obţinute ======
-TODO+{{:​pm:​prj2021:​abasoc:​dianamegelea0.jpeg?​750|}} 
 +{{:​pm:​prj2021:​abasoc:​dianamegelea1.jpeg?​750|}} 
 +{{:​pm:​prj2021:​abasoc:​dianamegelea2.jpeg?​750|}} 
 +{{:​pm:​prj2021:​abasoc:​dianamegelea3.jpeg?​750|}} 
 + 
 +În implementarea fizică, față de cea de pe Tinkercad prezentată la început, am folosit un mini breadboard adițional pentru a permite conectarea mai multor fire la același pin de pe plăcuța Arduino. De asemenea, butoanele de REC și PLAY nu mai au LED-uri asociate întrucât din comandă mi-a lipsit un LED și am decis în final să nu mai pun la niciunul dintre aceste 2 butoane (făcând vizibilă conexiunea buton-LED la partea de claviculă). 
 + 
 +Funcționalitățile proiectului pot fi vizualizate în următorul [[https://​drive.google.com/​file/​d/​1bghTs5dkOftXFZzF9jxcT6CT30qZDRFD/​view?​usp=sharing|demo]]. La început, redau fiecare notă din gama do major, aprinzându-se LED-ul corespunzător fiecărei note muzicale. Ulterior, pornesc funcția de recording și cânt primele 2 versuri din //Twinkle, twinkle//, iar apoi le redau oprind înregistrarea și apăsând butonul de play. 
 + 
 +De menționat ar fi faptul că filmarea s-a făcut din spatele "​pianului"​ (adică invers față de cum este prezentat pianul în schema Tinkercad) întrucât, din cauza numărului mare de fire, nu ar fi putut fi observate LED-urile și nici butoanele nu s-ar fi văzut bine (sorry for the confusion :-() 
 + 
  
 ====== Concluzii ====== ====== Concluzii ======
-TODO+Consider că acest proiect a reprezentat cea mai interesantă temă pe care am avut-o, întrucât a fost prima în care am îmbinat hardware-ul și software-ul. Deși nu este ceva complicat, a fost interesant să mă informez cum să folosesc o plăcuță Arduino și cum să poziționez butoane, LED-uri și un difuzor pe un breadboard și să le interconectez. Tinkercad-ul a fost foarte useful în cazul acestui proiect, făcând din acesta un lucru ușor aplicabil în practică odată ce reușești să îl simulezi. 
 + 
 +====== Resurse ====== 
 +   * [[https://​drive.google.com/​file/​d/​1bghTs5dkOftXFZzF9jxcT6CT30qZDRFD/​view?​usp=sharing|Demo proiect]] 
 + 
 +   * Codul sursă poate fi descărcat de aici: {{:​pm:​prj2021:​abasoc:​proiectpm.zip|}} 
 + 
 +   * Documentul în format PDF: {{:​pm:​prj2021:​abasoc:​pian_electric.pdf|}} 
 + 
 +====== Bibliografie ====== 
 +   * Laboratoare  
 + 
 +   * [[https://​www.arduino.cc/​reference/​en/​language/​functions/​advanced-io/​tone/​|Documentația oficială]] 
 + 
 +   * [[https://​youtu.be/​FoXk6OL8GfQ|Conectare butoane și buzzer]]
  
-====== Bibliografie/Resurse ====== +   * [[https://​www.instructables.com/​How-to-Interface-With-Active-Buzzer-Sensor-Module/​|Folosire buzzer activ]]
-TODO+
pm/prj2021/abasoc/pianelectric.1622673236.txt.gz · Last modified: 2021/06/03 01:33 by diana.megelea
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