Differences

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

Link to this comparison view

pm:prj2021:avaduva:singingcar [2021/06/09 01:42]
ioana.georgescu [Software Design]
pm:prj2021:avaduva:singingcar [2021/06/19 10:26] (current)
ioana.georgescu [Rezultate Obţinute]
Line 83: Line 83:
 | Bandă izolatoare | | |  | | Bandă izolatoare | | |  |
  
-{{  https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2021/​avaduva/​singing_car.jpg?​w=775 ​ }}+{{  https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2021/​avaduva/​singing_car_eagle.jpg?​w=775 ​ }}
  
 {{ :​pm:​prj2021:​avaduva:​l293d.jpg?​nolink&​200|}} {{ :​pm:​prj2021:​avaduva:​l293d.jpg?​nolink&​200|}}
Line 106: Line 106:
   * **Biblioteca SINGING**: fișierele Singing.h și Singing.cpp;​ funcțiile, variabilele și constantele necesare pentru redarea cântecelor   * **Biblioteca SINGING**: fișierele Singing.h și Singing.cpp;​ funcțiile, variabilele și constantele necesare pentru redarea cântecelor
  
-Pentru lucrul cu cardul SD am folosit biblioteca SD. Aceasta a impus niște limitări, și anume, ​fișierele trebuie să aibă nume de maxim 8 caractere (excuzând ​extensia) și extensii de 3 caractere, altfel nu vor fi văzute. M-am folosit de asta pentru a reține doar numărul cântecului în loc de întregul nume. Compun numele în cod prin concatenare de String-uri.+Pentru lucrul cu cardul SD am folosit biblioteca SD. Aceasta a impus limitarea că fișierele trebuie să aibă nume de maxim 8 caractere (excluzând ​extensia) și extensii de 3 caractere, altfel nu vor fi văzute. M-am folosit de asta pentru a reține doar numărul cântecului în loc de întregul nume. Compun numele în cod prin concatenare de String-uri.
  
 Formatul unui fișier de cântec este următorul: Formatul unui fișier de cântec este următorul:
Line 131: Line 131:
 Mașinuța acceptă cântece din folderul songs de pe cardul SD care sunt numite "​songX.txt",​ unde X este numărul cântecului. Poate funcționa și cu card și fără și poate cânta și dacă bateriile pentru motoare sunt deconectate. Mașinuța acceptă cântece din folderul songs de pe cardul SD care sunt numite "​songX.txt",​ unde X este numărul cântecului. Poate funcționa și cu card și fără și poate cânta și dacă bateriile pentru motoare sunt deconectate.
  
-{{  :​pm:​prj2021:​avaduva:​singingcarfin2.jpg?direct&​200 ​ ​}}{{ ​ :​pm:​prj2021:​avaduva:​singingcarfin1.jpg?direct&​200 ​ }}+{{  :​pm:​prj2021:​avaduva:​singingcartop.jpg??​w=600 ​ ​}}{{ ​ :​pm:​prj2021:​avaduva:​singingcarfront.jpg??​w=600 ​ }}
  
 {{:​pm:​prj2021:​avaduva:​singingcarbuzz.jpg?​linkonly|Conactarea buzzerului și a LED-urilor roșu și albastru}} {{:​pm:​prj2021:​avaduva:​singingcarbuzz.jpg?​linkonly|Conactarea buzzerului și a LED-urilor roșu și albastru}}
Line 141: Line 141:
 {{:​pm:​prj2021:​avaduva:​singingcarwires.jpg?​linkonly|Montajul electric}} {{:​pm:​prj2021:​avaduva:​singingcarwires.jpg?​linkonly|Montajul electric}}
  
-[[https://​youtu.be/​1WmDiLRYwT4|Videoclipul de prezentare]]+[[https://​youtu.be/​1WmDiLRYwT4|Teste filmate]] 
 + 
 +<​html>​ 
 +    <​br>​ 
 +    <​figcaption><​b>​Videoclipul de prezentare</​b></​figcaption>​ 
 +    <​br>​ 
 +    <iframe width="​600"​ height="​340"​ src="​https://​www.youtube.com/​embed/​UgpkCCoR_Kg"​ allowfullscreen></​iframe>​ 
 +</​html>​ 
 + 
 +{{:​pm:​prj2021:​avaduva:​singingcar.pptx|Prezentare PM Fair (pptx)}}
 ===== Concluzii ===== ===== Concluzii =====
 Un proiect foarte interesant, la care am avut de căutat și de adaptat diverse soluții pentru probleme clasice de Arduino. M-am distrat facăndu-l și obținerea rezultatului final mi-a oferit o satisfacție foarte mare. Un proiect foarte interesant, la care am avut de căutat și de adaptat diverse soluții pentru probleme clasice de Arduino. M-am distrat facăndu-l și obținerea rezultatului final mi-a oferit o satisfacție foarte mare.
Line 148: Line 157:
   * Kit-ul pentru mașinuță nu conținea toate piesele necesare atașării motoarelor și a trebuit eu sa improvizez un sistem de prindere, tăind bucăți dintr-o șipcă de plastic în unghi de 90° și inșurubându-le de motoare și șasiu   * Kit-ul pentru mașinuță nu conținea toate piesele necesare atașării motoarelor și a trebuit eu sa improvizez un sistem de prindere, tăind bucăți dintr-o șipcă de plastic în unghi de 90° și inșurubându-le de motoare și șasiu
   * Nu merge să dai găuri în plexiglass pentru că se sparge. Găurile cu care a venit sunt singurele pe care le poate avea   * Nu merge să dai găuri în plexiglass pentru că se sparge. Găurile cu care a venit sunt singurele pe care le poate avea
-  * Poate fi destul de greu să pui toate firele și să te asiguri că nu se fac scurtcircuite și că fac toate contact unde trebuie pe breadboard. Sau dacă s-a smuls sau a ieșit un fir să-ti dai seama de unde a ieșit. Mai ales dacă ai însurubat ​deja șasiul și ai presat firele ca să încapă în șasiu și trebuie să rearanjezi firele cu penseta printre plăcile de plastic. Am ars un LED+  * Poate fi destul de greu să pui toate firele și să te asiguri că nu se fac scurtcircuite și că fac toate contact unde trebuie pe breadboard. Sau dacă s-a smuls sau a ieșit un fir să-ti dai seama de unde a ieșit. Mai ales dacă ai înșurubat ​deja șasiul și ai presat firele ca să încapă în șasiu și trebuie să rearanjezi firele cu penseta printre plăcile de plastic. Am ars un LED
   * Circuitul final consumă mult mai mult decât ma așteptam. A fost nevoie de 2 baterii pentru motoare și de o sursă separată pentru Arduino. Pentru Arduino am folosit o baterie externă mai veche și cablul USB prin care se conecta plăcuța la calculator   * Circuitul final consumă mult mai mult decât ma așteptam. A fost nevoie de 2 baterii pentru motoare și de o sursă separată pentru Arduino. Pentru Arduino am folosit o baterie externă mai veche și cablul USB prin care se conecta plăcuța la calculator
   * Memoria este limitată. Trebuie găsit un echilibru între variabilele globale și cele locale. Dacă sistemul rămâne fără memorie în timpul rulării își pierde din funcținalitați și începe să se comporte bizar. În prezent. mașinuța merge bine cu 62% din memoria dinamică ocupată cu variabile globale și 771 de bytes liberi pentru cele locale   * Memoria este limitată. Trebuie găsit un echilibru între variabilele globale și cele locale. Dacă sistemul rămâne fără memorie în timpul rulării își pierde din funcținalitați și începe să se comporte bizar. În prezent. mașinuța merge bine cu 62% din memoria dinamică ocupată cu variabile globale și 771 de bytes liberi pentru cele locale
Line 215: Line 224:
   * Testare funcționalități cântat și condus simultan   * Testare funcționalități cântat și condus simultan
   * Alimentare Arduino și motoare de la aceeași baterie de 9V   * Alimentare Arduino și motoare de la aceeași baterie de 9V
-  * Sistemul se comportă bizar. Se aude un țiuit continuu și toate farurile stau aprinse. Roșile nu încep să se învărtă decât dacă le învârt eu cu mâna puțin+  * Sistemul se comportă bizar. Se aude un țiuit continuu și toate farurile stau aprinse. Roțile nu încep să se învărtă decât dacă le învârt eu cu mâna puțin
  
 ---- ----
Line 228: Line 237:
 **01.06.2020 - 02.06.2020** **01.06.2020 - 02.06.2020**
   * Testare funcționalități cântat și condus simultan   * Testare funcționalități cântat și condus simultan
-  * Optimizare cod: constante de tipul cel mai mic posibil (int care nu depășesc 255 => unsigned char), în loc dea a reține numele fișierelor într-un vector de String am reținut doar numărul și am compus numele prin concatenerea cu String-uri constante+  * Optimizare cod: constante de tipul cel mai mic posibil (int care nu depășesc 255 => unsigned char), în loc de a reține numele fișierelor într-un vector de String am reținut doar numărul și am compus numele prin concatenerea cu String-uri constante
   * Trecerea de la folosirea map() pentru intensitatea LED-urilor roșu si albastru la funcția numită în secțiunea Software Design   * Trecerea de la folosirea map() pentru intensitatea LED-urilor roșu si albastru la funcția numită în secțiunea Software Design
   * Alimentare Arduino de la acumulator și motoarele de la 2 baterii de 9V noi   * Alimentare Arduino de la acumulator și motoarele de la 2 baterii de 9V noi
pm/prj2021/avaduva/singingcar.1623192127.txt.gz · Last modified: 2021/06/09 01:42 by ioana.georgescu
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