- Компоненте потребне
- Како направити шасију за роботску руку за сортирање у боји
- ТЦС3200 сензор у боји
- Шема круга сортирања боја Ардуино
- Програмирање Ардуино Уно за сортирање шарених куглица
Као што и само име говори, сортирање боја је једноставно сортирање ствари према боји. То се лако може учинити ако се види, али када има превише ствари за сортирање и то је понављајући задатак, машине за аутоматско сортирање боја су врло корисне. Ове машине имају сензор у боји да препознају боју било којих предмета и након откривања серво мотора у боји зграбите ствар и ставите је у одговарајућу кутију. Могу се користити у различитим областима примене, где су важне идентификација боја, разликовање боја и сортирање боја. Неке од области примене укључују пољопривредну индустрију (сортирање зрна на основу боје), прехрамбену индустрију, индустрију дијаманата и рударства, рециклирање итд. Примене нису ограничене на ово и могу се даље применити на различите индустрије.
Најпопуларнији сензор за откривање боја је ТЦС3200 сензор у боји. Раније смо користили ТЦС3200 сензор са Ардуином да бисмо добили РГБ компоненту (црвену, зелену, плаву) било које боје, а такође смо је повезали са Распберри Пи за откривање боје било ког објекта.
Овде ћемо у овом упутству направити машину за сортирање боја помоћу сензора у боји ТЦС3200, неких серво мотора и Ардуино плоче. Овај водич ће укључивати сортирање обојених куглица и чување у одговарајућем пољу са бојама. Кутија ће бити у фиксном положају, а серво мотор ће се користити за померање руке сортирања како би лопта била у одговарајућој кутији.
Компоненте потребне
- Ардуино УНО
- ТЦС3200 сензор у боји
- Серво Моторс
- Скакачи
- Бреадбоард
Како направити шасију за роботску руку за сортирање у боји
За комплетно подешавање, укључујући шасију, руку, ваљак, подлогу, користили смо белу сунчаницу дебљине 2 мм. Лако је доступан у стационарним продавницама. Резачем папира смо користили за сечење Сунбоард Схеет-а и ФлекКвик или ФевиКвик за спајање различитих делова.
Испод је неколико корака за изградњу руке за сортирање боја:
1) Узмите Сунбоард Схеет.
2) Исеците лист сунчане плоче на комаде након мерења свих страна скалом и маркером као што је приказано на слици.
3) Сада држите два комада сунчане плоче заједно и налијте кап ФевиКвик-а на њу да залепите комаде. Наставите да спајате делове пратећи слику.
4) Након спајања свих делова, ова машина за сортирање боја ће изгледати отприлике овако:
ТЦС3200 сензор у боји
ТЦС3200 је сензор у боји који може да препозна било који број боја уз правилно програмирање. ТЦС3200 садржи РГБ (црвено зелено плаве) низове. Као што је приказано на слици на микроскопском нивоу, на сензору се могу видети квадратне кутије унутар ока. Ови квадратни оквири су низови РГБ матрице. Свака од ових кутија садржи по три сензора, један за осетљивост ЦРВЕНОГ интензитета светлости, један за осетљивост ЗЕЛЕНОГ интензитета светлости и последњи за осетљивост ПЛАВЕ светлости.
Сваки од сензорских низова у ова три низа бира се засебно, у зависности од захтева. Отуда је познат и као програмабилни сензор. Модул се може представити тако да осети одређену боју и остави остале. Садржи филтере за ту селекцију. Постоји четврти режим који се назива „режим без филтера“ у којем сензор детектује бело светло.
Шема круга сортирања боја Ардуино
Шема кола за овај Ардуино разврставач у боји је прилично једноставна за израду и не захтева пуно веза. Шема је дата у наставку.
Ово је склоп иза постављања машине за сортирање боја:
Програмирање Ардуино Уно за сортирање шарених куглица
Програмирање Ардуино УНО прилично је једноставно и захтева једноставну логику да би се поједноставили кораци у сортирању боја. Комплетан програм са демонстрацијским видео записом дат је на крају.
Будући да се користи серво мотор, тако је и серво библиотека важан део програма. Овде користимо два серво мотора. Први серво управљач ће се померити и обојене лоптице од почетног положаја до ТЦС3200 детектора положај, а онда прећи на позицију за сортирање где ће бити испустио лопту. Након преласка у положај за сортирање, други серво бациће лопту користећи руку у канту жељене боје. Погледајте комплетан рад у видеу датом на крају.
Први корак биће укључивање свих библиотека и дефинисање серво променљивих.
#инцлуде
ТЦС3200 сензор у боји може радити без библиотеке, јер је само потребна фреквенција очитавања са пин-а сензора да би се одредила боја. Дакле, само дефинишите бројеве пинова ТЦС3200.
#дефине С0 4 #дефине С1 5 #дефине С2 7 #дефине С3 6 #дефине сенсорОут 8 инт фреквенција = 0; инт боја = 0;
Направите изаберите игле као излаз јер ће то учинити високи боја фотодиод или ниска и узети Изашао ПИН ТЦС3200 као улаз. ОУТ пин ће пружити фреквенцију. У почетку одаберите скалирање фреквенције као 20%.
пинМоде (С0, ИЗЛАЗ); пинМоде (С1, ИЗЛАЗ); пинМоде (С2, ИЗЛАЗ); пинМоде (С3, ИЗЛАЗ); пинМоде (сенсорОут, ИНПУТ); дигиталВрите (С0, ЛОВ); дигиталВрите (С1, ХИГХ);
Серво мотори су повезани на Пин 9 и 10 Ардуина. Пицкуп серво који ће пицкуп лоптице у боји повезана у Пин 9 и пад серво која ће пасти кугле боја према боји је прикључен на ПИН10.
пицкСерво.аттацх (9); дропСерво.аттацх (10);
У почетку је серво мотор прекидача постављен у почетни положај који је у овом случају 115 степени. Може се разликовати и може се прилагодити у складу с тим. Мотор се након одређеног кашњења помера у подручје детектора и чека на откривање.
пицкСерво.врите (115); кашњење (600); за (инт и = 115; и> 65; и--) { пицкСерво.врите (и); кашњење (2); } кашњење (500);
ТЦС 3200 чита боју и даје фреквенцију од Оут Пин.
цолор = детецтЦолор (); кашњење (1000);
У зависности од детектоване боје, серво мотор за пад се помера са одређеним углом и спушта куглу у боји у своју кутију.
прекидач (боја) { случај 1: дропСерво.врите (50); пауза; случај 2: дропСерво.врите (80); пауза; случај 3: дропСерво.врите (110); пауза; случај 4: дропСерво.врите (140); пауза; случај 5: дропСерво.врите (170); пауза; случај 0: прекид; } кашњење (500);
Серво мотор се враћа у почетни положај за следећу куглу за одабир.
за (инт и = 65; и> 29; и--) { пицкСерво.врите (и); кашњење (2); } кашњење (300); за (инт и = 29; и <115; и ++) { пицкСерво.врите (и); кашњење (2); }
Функција детецтЦолор () користи се за мерење фреквенције и упоређује фреквенцију боје да би се закључио боја. Резултат се штампа на серијском монитору. Затим враћа вредност боје за кућишта за померање угла серво мотора.
инт детецтионЦолор () {
Записивање на С2 и С3 (ЛОВ, ЛОВ) активира црвене фотодиоде да узимају очитавања за густину црвене боје.
дигиталВрите (С2, ЛОВ); дигиталВрите (С3, ЛОВ); фреквенција = пулсеИн (сенсорОут, ЛОВ); инт Р = фреквенција; Сериал.принт ("Црвена ="); Сериал.принт (фреквенција); // штампање ЦРВЕНЕ фреквенције боја Сериал.принт (""); кашњење (50);
Писање на С2 и С3 (ЛОВ, ХИГХ) активира плаве фотодиоде како би очитало густину плаве боје.
дигиталВрите (С2, ЛОВ); дигиталВрите (С3, ХИГХ); фреквенција = пулсеИн (сенсорОут, ЛОВ); инт Б = фреквенција; Сериал.принт ("Блуе ="); Сериал.принт (фреквенција); Сериал.принтлн ("");
Записивање на С2 и С3 (ХИГХ, ХИГХ) активира зелене фотодиоде да узимају очитавања за густину зелене боје.
дигиталВрите (С2, ХИГХ); дигиталВрите (С3, ХИГХ); // Очитавање фреквенције излазне фреквенције = пулсеИн (сенсорОут, ЛОВ); инт Г = фреквенција; Сериал.принт ("Греен ="); Сериал.принт (фреквенција); Сериал.принт (""); кашњење (50);
Затим се вредности упоређују да би се донела одлука о боји. Очитавања се разликују за различита експериментална подешавања, јер удаљеност откривања варира код свих приликом подешавања.
ако (Р <22 & Р> 20 & Г <29 & Г> 27) { цолор = 1; // Црвени серијски.тисак ("Откривена боја је ="); Сериал.принтлн ("ЦРВЕНА"); } иф (Г <25 & Г> 22 & Б <22 & Б> 19) { цолор = 2; // Оранге Сериал.принтлн ("Оранге"); } иф (Р <21 & Р> 20 & Г <28 & Г> 25) { цолор = 3; // Зелени серијски.тисак ("Откривена боја је ="); Сериал.принтлн ("ЗЕЛЕНА"); } иф (Р <38 & Р> 24 & Г <44 & Г> 30) { цолор = 4; // Жути серијски.тисак ("Откривена боја је ="); Сериал.принтлн ("ЖУТИ"); } иф (Г <29 & Г> 27 & Б <22 & Б> 19) { боја = 5; // Блуе Сериал.принт ("Откривена боја је ="); Сериал.принтлн ("ПЛАВИ"); } повратна боја; }
Овим је завршена машина за сортирање боја помоћу ТЦС3200 и Ардуино УНО. Такође га можете програмирати да открива више боја ако је потребно. Ако сумњате или имате било какав предлог, пишите на наш форум или коментаришите испод. Такође погледајте доленаведени видео.