This shows you the differences between two versions of the page.
pm:prj2021:alazar:aparat_sortare_bomboane [2021/05/31 13:00] bogdan.ionita1106 [Jurnal] |
pm:prj2021:alazar:aparat_sortare_bomboane [2021/05/31 15:24] (current) bogdan.ionita1106 [Hardware Design] |
||
---|---|---|---|
Line 9: | Line 9: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
* Senzorul de culoare verifica culoarea bomboanei | * Senzorul de culoare verifica culoarea bomboanei | ||
- | * In functie de culoare se va aprinde LED pentru culoarea specifica si primul servomotor pentru tunel il va muta spre grupul de bomboane de culoare specifica | + | * In functie de culoare se va aprinde LED pentru culoarea specifica si primul servomotor muta bomboana spre tunel |
- | * Al doilea servomotor va muta bomboana pe tunel si va ajunge in grupul specific | + | * Al doilea servomotor va muta tunelul spre grupul specific de bomboane pentru a cobora bomboana. |
- | {{ :pm:prj2021:alazar:schema_bloc_aparat_bomboane.png?400 |}} | + | {{ :pm:prj2021:alazar:schema_bloc_aparat_bomboane.jpg?400 |}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
== Componente: == | == Componente: == | ||
Line 22: | Line 22: | ||
== Schema electrica == | == Schema electrica == | ||
- | {{ :pm:prj2021:alazar:schema_electrica_aparat_bomboane.png?400 |}} | + | {{ :pm:prj2021:alazar:schema_electrica_aparat_bomboane.jpg?direct&400 |}} |
===== Software Design ===== | ===== Software Design ===== | ||
Line 38: | Line 38: | ||
Functii: \\ | Functii: \\ | ||
- | - void setColorRGB - primeste ca parametrii 3 intregi, red, green, blue si seteaza intensitatea fiecarei culori ale led-ului RGB; pinul 9 este culoarea rosie, pinul 10 este culoarea verde si pinul 11 este culoarea albastra; \\ | + | - void setColorRGB - primeste ca parametrii 3 intregi, red, green, blue si seteaza intensitatea fiecarei culori ale led-ului RGB; pinul 9 este |
+ | culoarea rosie, pinul 10 este culoarea verde si pinul 11 este culoarea albastra; \\ | ||
- void setup - in aceasta functie am setat culoarea led-ului la 0, pinii de la S0 la S3 i-am setat pe OUTPUT si sensorOut pe INPUT; S0 il setez pe HIGH si S1 pe LOW pentru avea scalarea de frecventa de 20%; topServo l-am legat la pinul 12 si botServo la pinul 3, apoi am activat Serial; | - void setup - in aceasta functie am setat culoarea led-ului la 0, pinii de la S0 la S3 i-am setat pe OUTPUT si sensorOut pe INPUT; S0 il setez pe HIGH si S1 pe LOW pentru avea scalarea de frecventa de 20%; topServo l-am legat la pinul 12 si botServo la pinul 3, apoi am activat Serial; | ||
+ | |||
+ | - int get_color - primeste ca parametrii 3 intregi, red, green, blue si verifica in ce interval se afla culorile primite si intoarce culoarea bomboanei | ||
+ | |||
+ | - void loop - se afla implementarea aparatului de sortat \\ | ||
+ | \\ | ||
+ | Initial setez topServo la 180 de grade, astept 500 de milisecunde, apoi voi rotii servomotorul la 120 de grade, sub senzorul de culoare. Apoi senzorul de culoare va citii frecventa pentru cele 3 culori. Pentru culoarea rosie setez S2 si S3 pe LOW, citesc frecventa cu functia pulseIn, si o salvez in variabila red. Pentru culoarea verde setez S2 si S3 pe HIGH, citesc frecventa cu functia pulseIn, si o salvez in variabila green. Pentru culoarea rosie setez S2 pe LOW si S3 pe HIGH, citesc frecventa cu functia pulseIn, si o salvez in variabila blue. \\ | ||
+ | \\ | ||
+ | Dupa ce iau frecventele filtrelor, iau culoare folosind get_color si apoi folosesc un switch pentru a muta botServo la grupul de bomboane la care trebuie pusa, si setez culoarea led-ului RGB. \\ | ||
+ | \\ | ||
+ | Dupa ce botServo a fost setat, topServo muta bomboana pentru a cadea la grupul de bomboane. La final topServo se muta la pozitia initiala de 180 de grade. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Setup aparat sortare \\ | ||
+ | {{ :pm:prj2021:alazar:setup_aparat_sortare1.jpg?direct&300 |}} \\ | ||
+ | {{ :pm:prj2021:alazar:setup_aparat_sortare2.jpg?400 |}} \\ | ||
+ | \\ | ||
+ | Bomboanele sunt puse in tub, primul servomotor ia bomboana si muta sub senzorul de culoare, al doilea servomotor va muta in directia specifica, dupa primul servomotor muta bomboana apoi aceasta va cadea. Un demo poate fi gasit la aceasta adresa [[https://www.youtube.com/watch?v=iyz9wYbPOq8 | Demo]]. | ||
- | ===== Concluzii ===== | ||
- | ===== Download ===== | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | Poriectul m-a ajutat mai mult sa inteleg cum se lucreaza in Arduino, mai ales ca la laborator in contextul actual am lucrat in Tinkercad. Programarea componentelor nu a fost dificila, in schimb a fost mai greu calibrarea senzorului, o mica schimbare a pozitiei sau a luminii conectate la senzor poate schimba mult datele citite. O alta parte dificila a fost montarea setup-ului, erau multe piese care trebuiau lipite pentru stabilitate dar spatiile erau cam stramte pentru a lucra usor. | ||
+ | ===== Download ===== | ||
+ | Arhiva contine codul sursa a implementarii si un readme {{:pm:prj2021:alazar:aparat_sortare_IonitaBogdan_331CB.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
* 25 aprilie - Alegere tema proiect | * 25 aprilie - Alegere tema proiect | ||
Line 61: | Line 80: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | [[https://ocw.cs.pub.ro/courses/pm/prj2021/alazar/aparat_sortare_bomboane?do=export_pdf|PDF]] | + | [[https://ocw.cs.pub.ro/courses/pm/prj2021/alazar/aparat_sortare_bomboane?do=export_pdf|PDF]] \\ |
+ | \\ | ||
+ | https://randomnerdtutorials.com/arduino-color-sensor-tcs230-tcs3200/ \\ | ||
+ | https://steemit.com/utopian-io/@sikul/arduino-using-tcs230-to-make-color-sensing \\ | ||
+ | https://howtomechatronics.com/tutorials/arduino/arduino-color-sensing-tutorial-tcs230-tcs3200-color-sensor/ \\ | ||
+ | http://www.w-r-e.de/robotik/data/opt/tcs230.pdf \\ | ||
+ | Schema bloc am realizat-o in [[https://app.diagrams.net | app.diagrams.net]]. \\ | ||
+ | Schema electrica am realizat-o in [[https://www.tinkercad.com/dashboard | TINKERCAD]]. \\ |