This shows you the differences between two versions of the page.
pm:prj2021:amocanu:bandaasamblare [2021/05/28 22:23] andreea.nica1602 [Software Design] |
pm:prj2021:amocanu:bandaasamblare [2021/06/21 15:30] (current) andreea.nica1602 [Rezultate obținute] |
||
---|---|---|---|
Line 63: | Line 63: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ===Funcțiile implementate=== | + | ===Funcții implementate=== |
+ | * **//setUpTimer//** - inițializează TIMER2 în modul CTC, cu prescaler de 1024, activând totodată întreruperea TIMER2_COMPA. | ||
+ | * **//setUpSensor//** - setează pinii utilizați de senzorul de culoare TCS3200 corespunzător, setând în același timp scalarea frecvenței la 20% (valoarea recomandată pentru ARDUINO). | ||
+ | * **//setup//** - inițializează toate componentele ce vor fi utilizate de banda de ambalare. Funcția configurează buzzerul, configurează servomotoarele, inițializează banda LED adresabilă, inițializează senzorul de culoare TCS3200 si TIMER2. | ||
+ | * **//colorLedStrip//** - comandă banda LED să se coloreze într-o culoare dată. Banda LED va aprinde fiecare LED pe rând, dând impresia de curgere. | ||
+ | * **//colorLedStripWithRecognisedColor//** - colorează banda LED în funcție de culoarea recunoscută de senzorul de culoare. | ||
+ | * **//readRedFrequency//**, **//readGreenFrequency//**, **//readBlueFrequency//** - comandă senzorul să citească și intoarce valorile frecvenței celor trei componente de culoare (roșu, verde, albastru). | ||
+ | * **//readColor//** - realizeasa scanarea culorii cu ajutorul senzorului de culoare TCS3200 (apelând readRedFrequency, readGreenFrequency, readBlueFrequency) și recunoaște culoarea corespunzătoare. Pentru a determina corect culoarea, cele 3 valori ale frecvenței componentelor sunt comparate cu niște valori etalon. Pentru a determina valorile etalon corespunzătoare senzorului meu a trebuit să urmez un proces de configurare și ajustare, în care am realizat 50 de citiri pentru fiecare culoare în parte și le-am transmis pe Interfața serială USART către Serial Monitor prezent în Arduino IDE, salvându-le în fișiere de referință. Prin prelucrarea datelor din aceste fișiere, am determinat valorile etalon specifice senzorului meu. | ||
+ | * **//buzzer_beep//** - comandă buzzerul pentru a da semnalul de eroare sonor | ||
+ | * **//rotateFirstServoMotor//**, **//rotateSecondServoMotor//** - comandă mișcarea continuă și cursivă a servomotorului specific din poziția inițială, în poziția finală. | ||
+ | * **//loop//** - funcția principală a programului, în care, în funcție de starea în care ne aflăm, executăm acțiunile corespunzătoare. | ||
+ | |||
+ | \\ | ||
+ | OBS! Pentru controlul servomtoarelor am folosit biblioteca Servo.h, iar pentru a comanda banda LED adresabilă am folosit biblioteca FastLED.h Pentru dezvoltare, am folosit doar Arduino IDE. | ||
===== Rezultate obținute ===== | ===== Rezultate obținute ===== | ||
+ | <note tip>[[https://youtu.be/WJAcu2mTcsg|Link Demo Proiect]]</note> | ||
+ | <note tip>[[https://github.com/andreeanica16/Packing-Pipe|Cod sursă]]</note> | ||
+ | <note tip> [[https://docs.google.com/presentation/d/15Cf2v8LoVR063HnZNo0ru_F_s8-2Mkb1U1OUeX_5_VU/edit?usp=sharing|Prezentare PMFair]]</note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul la PM a adus cu sine, fără doar și poate, atât provocări, cât și o imensă satisfacție. A fost interesant să văd cum diferitele soluții mecanice pe care le găseam erau imposibil de realizat fizic, datorită limitărilor componentelor utilizate (de exemplu, rotirea servomotoarelor doar la 180 grade, neavând posibilitatea de a face o rotație completă). Astfel, am înțeles cu adevărat noțiunea de compromis, și am învățat să abordez cât mai creativ problemele care apar. Mai mult, datorită numărului mare si divers de componente utilizate, am înțeles mai în profunzime toate noțiunile parcurse la laboratorul de PM, fiind extrem de încântată de lucrul cu componente reale, față de simulările cu care lucrasem până atunci. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | {{:pm:prj2021:amocanu:banda_de_ambalare.pdf|Fisier PDF}} | + | * [[https://randomnerdtutorials.com/arduino-color-sensor-tcs230-tcs3200/]] |
+ | * [[https://www.instructables.com/ACTIVE-BUZZER-WITH-ARDUINO-UNO-R3/]] | ||
+ | * [[https://www.youtube.com/watch?v=5M24QUVE0iU&t=69s]] | ||
+ | \\ | ||
+ | {{:pm:prj2021:amocanu:banda_de_ambalare_nica_andreea.pdf|}} | ||