Differences

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

Link to this comparison view

pm:prj2024:avaduva:ctudorache3101 [2024/05/27 00:19]
ctudorache3101 [Hardware Design]
pm:prj2024:avaduva:ctudorache3101 [2024/05/27 08:58] (current)
ctudorache3101 [Rezultate Obţinute]
Line 66: Line 66:
 Pini noi utilizati:​\\ Pini noi utilizati:​\\
 3. Driverele pentru motoare utilizeaza pinii 9-8 si 7-6.\\ 3. Driverele pentru motoare utilizeaza pinii 9-8 si 7-6.\\
-4. Pinii pentru cele doua butoane vor fi mutati pe pinii si 4.\\+4. Pinii pentru cele doua butoane vor fi mutati pe pinii si 3.\\ 
 +\\ 
 +{{ :​pm:​prj2024:​avaduva:​schema_pm_nema_schema.png?​800 |}}\\ 
 +{{ :​pm:​prj2024:​avaduva:​schema_pm_nema_bb.png?800 |}}\\
  
 ===== Software Design ===== ===== Software Design =====
  
-Design-ul software va fi realizat in Arduino IDE+https://​github.com/​FraughtCoin/​PM-3D-Scanner\\ 
- +Aici se gaseste codul pentru proiect.\\ 
-<note tip> +\\ 
-Descrierea codului aplicaţiei ​(firmware): +Am utilizat bibliotecile SPI.h, SD.h si GP2Y0A02YK0F.h. SPI.h si SD.h au fost utilizate pentru ca utilizez un adaptor de card SD care utilizeaza SPI. GP2Y0A02YK0F.h este o biblioteca pentru a facilita utilizarea senzorului de infrarosu cu acelasi nume.\\ 
-  * mediu de dezvoltare ​(if any) (e.g. AVR StudioCodeVisionAVR+\\ 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +Elementele de noutate reprezinta montajul fizic\\ 
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +{{ :​pm:​prj2024:​avaduva:​montaj.jpg?​500 |}}\\ 
-  ​* ​(etapa 3surse şi funcţii implementate +\\ 
-</​note>​+Desi nu am putut testa codul final deoarece proiectul nu este in stare functionala din cauza ansamblului care ar fi trebuit sa realizeze miscarea pe verticala. Totusi, am testat toate celelalte componente individual, acestea functionand conform planului ​(si motorul care are treaba cu ansamblul de miscare vertical functioneaza corect, doar ca nu funcitoneaza ansamblul).\\ 
 +\\ 
 +Explicatia codului:\\ 
 +-void setup(): in setup() initiez toate componentele si pinii pe care ii utilizeazinitiez cardul SD si caut un nume de fisier in care sa pot salva mai tarziu datele si resetez anumite valori la valoarea initiala, deoarece functia setup(va mai fi apelata si din alte parti din cod, pentru a putea reseta lucruri.\\ 
 +-void loop(): in loop() avem codul care ruleaza; avand doua butoane, mi-am creat doua variabile globale, scanning si reseting, cu ajutorul carora setez anumite conditii in functie de care stiu ce sa fac cand apas un anumit buton (daca programul nu scaneaza si nu este in bucla de resetare, prin apasarea butonului de start pot incepe scanarea, butonul de start nemaifacand nimic daca aceste conditii nu sunt indeplinite);​ in timpul scanarii, motorul roteste discul cu 1 pas, dupa care senzorul scaneaza si citeste distanta care este scrisa ​pe cardul SD, lucru care se intampla de 200 de ori, numarul de pasi pentru o rotatie completa a motorului; apoi, motorul vertical ar ridica ansamblul cu 1 cm, dupa care procesul eset reluat, pana se ajunge la limita de 10 cm.\\ 
 +-void rotateMotor(int pinNo, int steps, int vertical): aceasta funcie roteste motorul respectiv de un numar dat de pasi; daca vertical este 1, se vor tine minte numarul de rotiri pentru a putea da reset in cazul in care dorim sa nu mai scanam un obiect.\\ 
 +-void writeToSD(double distance): functia scrie o valoare pe cardul SD. 
 +-void resetPosition():​ functia aduce ansamblul vertical in pozitia originala.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
-===== Concluzii =====+<​html>​ 
 +<iframe width="​560"​ height="​315"​ src="​https://​www.youtube.com/​embed/​CjBKlgUZORk?​si=Soo4eqonb1_uNn3M"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​ 
 +</​html>​
  
 +
 +===== Concluzii =====
 +Nu este atat de usor sa creezi ceva de la 0, este nevoie de o analiza o pieselor si componentelor disponibile,​ ce ofera fiecare in parte, cum se utilizeaza, ce necesita fiecare. De-a lungul proiectului,​ din cauza neatentiei la aceste detalii, am ajuns sa intampin o multitudine de probleme, de la piese care nu pot fi utilizate pentru scopul meu, pana la probleme la alimentarea acestora. Alimentarea poate sa fie o problema atat din punct de vedere al tensiunii, cat si al curentului. Este nevoie de o sursa capabila sa le ofere pe ambele.
 ===== Download ===== ===== Download =====
  
pm/prj2024/avaduva/ctudorache3101.1716758362.txt.gz · Last modified: 2024/05/27 00:19 by ctudorache3101
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