Differences

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

Link to this comparison view

pm:prj2023:fstancu:georgina [2023/05/29 13:14]
georgina.poting [Concluzii]
pm:prj2023:fstancu:georgina [2023/05/29 23:40] (current)
georgina.poting [Software Design]
Line 55: Line 55:
 {{ :​pm:​prj2023:​fstancu:​circuit_terminat_ca_mine.jpg?​700 |}} {{ :​pm:​prj2023:​fstancu:​circuit_terminat_ca_mine.jpg?​700 |}}
  
 +
 +===== Software Design =====
 +
 +Dezvoltarea codului am realizat-o in Arduino IDE (care ar putea fi mult mai imbunatatit)
 +
 +Pe partea de software am folosit bibliotecile:​
 +  - LiquidCrystal_I2c.h
 +  - Servo.h
 +  - Wire.h
 +
 +Pentru generarea categoriilor am creat un array bidimensional numit categories[][],​ in care primul element e marimea sirului de caractere.
 +
 +Pentru fiecare categorie am creat alte tabele, urmand exemplul celui de mai sus.
 +
 +Am setat ca pini de input butoanele, iar ca output Servomotorul si LCD-ul.
 +
 +Deoarece am avut nevoie de mai multe generari de numere random, am cautat o metoda de a crea aceste numere cu un seed de asemenea random: conectand la pinul analog A0 un fir lasat in aer -> iar valoarea aceasta sa fie folosita pentru randomSeed().
 +
 +Functia randomFunction() ia ca parametru un int de la 1 la 3 (pentru cele 3 cazuri de butoane) si in cadrul switchului returneaza valori pentru toate butoanele. De exemplu: daca vreau sa se invarta servomotorul pentru un timp random (de la 1 la 3 secunde), functia returneaza un numar de la 1 la 5. Daca apas butonul de generare de categorii -> se returneaza un numar de la 1 la 5.
 +
 +Aceste rezultate sunt ulterior tratate in loop pentru delay-ul servomotorului si indexul intrebarilor.
 +
 +Pentru afisarea intrebarilor a trebuit sa mai fac o functie, [b]chooseQuestion(int category, int questionIndex)[/​b],​ care leaga practic indexul categoriei cu categoria de intrebari in sine si printeaza la LCD intrebarea.
 +
 +In afara de fuctionarea principala, am adaugat niste tonuri (la fel, random) in loop. Sunetul porneste la un interval intre 1 si 3 minute: semnal pentru jucatori sa dea un shot :)
 +
 +Functiile folosite in cod:
 +===== Rezultate obtinute ======
 === Cutia interioara =) === === Cutia interioara =) ===
 {{ :​pm:​prj2023:​fstancu:​haosul_interior.jpg?​400 |}} {{ :​pm:​prj2023:​fstancu:​haosul_interior.jpg?​400 |}}
 === Cutia exterioara 8-o === === Cutia exterioara 8-o ===
 {{ :​pm:​prj2023:​fstancu:​haos_exterior1.jpg?​400 |}} {{ :​pm:​prj2023:​fstancu:​haos_exterior1.jpg?​400 |}}
-===== Software Design ===== 
  
- 
-<note tip> 
-TBD 
-</​note>​ 
  
 ===== Jurnalul proiectului:​ ===== ===== Jurnalul proiectului:​ =====
Line 84: Line 107:
  
 Am petrecut mult timp pe partea de debugging în cod și am căutat soluții pentru probleme de genul: Arduino nu lucreaza bine pe stringuri, are memorie foarte limitată RAM. Am petrecut mult timp pe partea de debugging în cod și am căutat soluții pentru probleme de genul: Arduino nu lucreaza bine pe stringuri, are memorie foarte limitată RAM.
-===== Download ===== 
  
-<​note ​warning+===== Download ===== 
-TBA+<​note>​ 
 +Codul cutiei magice: {{:​pm:​prj2023:​fstancu:​codginapmzip.zip|}} 
 +PDF: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 </​note>​ </​note>​
  
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​+ 
  
  
pm/prj2023/fstancu/georgina.1685355276.txt.gz · Last modified: 2023/05/29 13:14 by georgina.poting
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