Differences

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

Link to this comparison view

pm:prj2023:fstancu:georgina [2023/05/29 11:14]
georgina.poting [Jurnalul proiectului:]
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 79: Line 102:
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Deși proiectul nu pare să fie foarte complex nici din punct de vedere software și nici hardware, am pus accentul pe design și pe funcționalitate. Am vrut să creez un joc care să fie eventual folosit, îmbunătățit și care să rămână ca amintire :)
  
-<​note ​warning+Probleme am intampinat si la crearea schemei 3d si printarea acesteia (am masurat prea la fix, nu incape cum trebuie inauntru nici placa nici breadboardul,​ nici lcd-ul; iar de printat ar fi trebuit sa printez gaurile acesteia pe laturi, nu pe fata de sus a paralelipipedului,​ fiindca imprimanta nu mi-a facut o baza si practic printa in aer, iar acum inauntru e foarte urat). 
-TBA+ 
 +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>​ 
 +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.1685348098.txt.gz · Last modified: 2023/05/29 11: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