Съдържание:

Сензор за инфрачервени зарове: 5 стъпки
Сензор за инфрачервени зарове: 5 стъпки

Видео: Сензор за инфрачервени зарове: 5 стъпки

Видео: Сензор за инфрачервени зарове: 5 стъпки
Видео: LED Плафон JADE със сензор, 18W, 220VAC, 1440lm, 6500K, IP44, BH15-01130 2024, Ноември
Anonim
Инфрачервен сензор за зарове
Инфрачервен сензор за зарове
Инфрачервен сензор за зарове
Инфрачервен сензор за зарове

Казвам се Калвин и ще ви покажа как да направите инфрачервен сензор за зарове и ще обясня как работи.

Понастоящем съм студент от университета Тейлър, който изучава компютърно инженерство и моя екип и бях помолен да проектирам и изградя механизъм, който да сортира всеки обект, който може да се побере в квадрат 1 инч. Можехме да поемем по лесния маршрут и да изберем да сортираме m & m с помощта на обикновен цветен сензор, но решихме да преминем отвъд и да подредим заровете по показания номер. След безброй часове опити да намеря ръководство за това как да прочета лицето на заровете, попаднах на тази връзка тук:

makezine.com/2009/09/19/dice-reader-versio…

Тази връзка обаче не ми даде много повече от идеята как да прочета лицето на заровете, така че използвайки представената идея, продължих по пътя си за изграждане и разработване на сензор, който може да бъде свързан с Arduino с лекота и може да чете лицето на заровете възможно най -точно, като по този начин ни дава този инфрачервен сензор за зарове.

Консумативи

Сега към консумативите:

Ще имаш нужда:

1 x Arduino Uno

5 x IR приемници

5 x IR излъчватели

www.sparkfun.com/products/241

5 x 270 ома резистори

5 x 10k ома резистори

1 x 74HC595N чип

различни мъжки заглавки

1 x прототипна дъска (ако не получавате персонализирана фрезована дъска)

Стъпка 1: Разбиране как работи

Разбиране как работи
Разбиране как работи
Разбиране как работи
Разбиране как работи

Този сензор използва 5 места на пип за четене на лицата на заровете. Той използва инфрачервена светлина, за да отскача от лицето на заровете на тези места и казва на контролера дали е бял или черен.

Може би се чудите защо тогава само 5 пип места? Няма ли да са ви необходими всички 9, за да прочетете заровете ефективно?

Е, поради симетрията на заровете, използването на 5 конкретни места на заровете може да бъде достатъчно, за да се каже разликата между различните числа на заровете, независимо от ориентацията (снимка 1). Това прави сензора за зарове по -ефективен, защото търси само точно това, от което се нуждае, и нищо допълнително.

Излъчвателят преминава точно под приемника на сензора на всяко от тези 5 пип места, сензорът излъчва инфрачервената светлина и след това приемникът отчита количеството инфрачервена светлина, която отскача от лицето на заровете. (снимка 3) Ако получената стойност е по -голяма от посочените номера за калибриране, тогава сензорът ще види това място като точка, ако не, тогава това е бяло пространство. (снимка 2)

Стъпка 2: Проектиране и планиране

Проектиране и планиране
Проектиране и планиране
Проектиране и планиране
Проектиране и планиране
Проектиране и планиране
Проектиране и планиране
Проектиране и планиране
Проектиране и планиране

Първата стъпка към изграждането на сензор за зарове е създаването на схеми, това може да бъде или най -трудната, или най -лесната стъпка от разработката. Първо се нуждаете от софтуер, наречен EAGLE от Autodesk, това беше софтуерът, който използвах за създаване на схеми.

Включих 2 различни вида схеми, едната схема има чип с регистър за смяна, за да направи сензора по -точен, а другата е без чип на регистър за смяна, тази схема обаче няма да работи с кода, който ще предоставя по -късно, така че ще трябва да разработите нещо сами.

Включих и оформлението на моята платка за сензора, който съм проектирал с регистъра за смяна.

За да започнете да проектирате платката, имате 5 IR приемника и 5 IR излъчвателя, приемниците изискват 10k резистор, а излъчвателите изискват резистор 270 ohm, така че за всеки от тези елементи, вие отивате от:

VCC (5V) -> Резистор -> Аналогов щифт за четене -> IR приемник -> GND

VCC (5V) -> Резистор -> IR излъчвател -> GND

Изводът за аналогово четене излиза между резистора и IR приемника като друг клон и отива към аналоговия щифт на Arduino. Трябва също така да се уверите, че излъчвателят преминава директно под приемника, аз направих тази грешка първия път, когато го направих, и получих много лоши резултати, така че се уверете, че приемникът е отгоре.

В моята персонализирана дъска използвам регистъра за смяна, за да осигуря захранване на всяка от двойките емитер и приемник един по един, за да избегна изтичане на инфрачервена светлина от другите излъчватели. Това ми дава още по -точно отчитане от всяко от местата на пип, ако решите да не използвате регистъра за смяна, той все още ще работи за вас, просто може да е малко по -малко точен. В регистъра за смяна можете да обедините щифтове 3-4 и 7-8 заедно, тъй като не е напълно необходимо да ги имате като заглавки. Оставих ги като заглавки и сложих джъмпери върху заглавките, в случай че искам да се занимавам с развитие в бъдеще.

След като сте проектирали схемата, трябва да направите оформление на дъската на вашата схема. Тази част може да стане много трудна, защото трябва да се уверите, че пътищата ви не се припокриват и да се уверите, че вашите пътища и дупки отговарят на спецификациите на вашата машина. Оформлението на дъската, което прикачих, имаше специфичните размери за машината, която използвах за фрезоване на дъската. Прекарвам няколко часа в подреждане на дъската, за да бъде колкото е възможно по -малка. Все още имаше място за подобрения на тази дъска, но тя работи за мен, така че я оставих такава, каквато е. Има версия с меден GND, свързващ всички заземени елементи, и версия без прикачени.

Можете също да използвате схемата си, за да я изградите върху макет или прототипна дъска, тъй като те са много по -лесни за намиране и са по -евтин вариант, тъй като не е нужно да имате фрезована персонализирана дъска.

След като имате дизайна на дъската, можете да преминете към следващата стъпка!

Стъпка 3: Изграждане на борда

Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда
Изграждане на борда

Тази част зависи изцяло от това как искате да бъде създадена дъската. Създадох сензора на прототипна платка, за да проверя дали концепцията работи и колко точна е, затова следвах схемата без регистъра за смяна и създадох дъската. Трябва да сте сигурни, че сте изложили всичко, така че линиите да не се припокриват и да не запоявате случайно линии, които не трябва да бъдат свързани. Когато го правите на прототипна дъска, трябва да бъдете много внимателни, така че отделете време и не бързайте. Също така трябва да внимавате с отворените проводници, тъй като те могат да се движат и да причинят къси съединения в системата.

Ако сте избрали да фрезовате дъската, този процес е по -прост. Изпратете файла на дъската до фреза с конкретните настройки на фреза. Ако го правите сами, направете го, преди да го извадите, уверете се, че цялата мед е правилно фрезована достатъчно дълбоко. Първата дъска, която направих, медта не беше фрезована достатъчно дълбоко и трябваше да направя още една фрезована.

Уверете се, че всичко е запоено към платката в желаното оформление и не забравяйте да отделите време, а ако запоявате върху печатната платка, тогава се уверете, че сте запоявали от правилната страна на платката.

Когато поставяте инфрачервени приемници и излъчватели, уверете се, че излъчвателят е точно под приемника. Ще трябва да си поиграете с огъване на краката на IR компонентите, за да ги поставите на правилното място. Дръжте и зарове на ръка, за да проверите дали местата на пип са там, където трябва да бъдат.

След като всичко е запоено и добавено към дъската, можете да програмирате сензора.

Стъпка 4: Програмиране на дъската

Програмиране на борда
Програмиране на борда
Програмиране на борда
Програмиране на борда

Това е трудната част от това да направите сензора възможно най -точен, да програмирате платката. За щастие създадох библиотека, която да използвате с новосъздадения сензор, за да го улесните много по -лесно програмирането, но ще трябва да калибрирате сензора в зависимост от осветлението, където се намира този сензор.

За да започнете, трябва да имате Arduino за взаимодействие с този сензор. Той използва 5 аналогови и 3 цифрови пина.

Имате възможност да използвате библиотеката, която направих, за да изберете свои собствени аналогови и цифрови щифтове, но аз ще го обясня с помощта на щифтовете, които направих, за да взаимодействам със сензора. Маркирах изображението, свързано с номера на щифтове и цветни кутии около набора от щифтове, за да обясня лесно кой щифт се включва в къде.

На сензора щифтове 1-5 червено преминават към A0-A4, така че червено 1 отива към A0 и така нататък. Пинове 1-8 White изискват малко повече обяснение.

Бяло 1 - ПИН за данни, тук Arduino изпраща данните към регистъра за смяна. Зададох този щифт на цифров пин 3 на Arduino

Бяло 2 - Q0, остаряло в случая, включих го в случай, че реших изобщо да разширя

Бяло 3 и 4 - Ще бъдат сдвоени, можете или да запоите тези две заедно или да използвате джъмпер, както направих аз.

Бял щифт с 5 ключалки, много важен щифт, който е последната стъпка в процеса, за да видите пипсите да се включват и изключват. Зададох този щифт на пин 12 на Arduino

Бял 6 - Часовник, Това осигурява часовника от Arduino до регистъра за смяна. Зададох това на цифров пин 13.

Бяло 7 и 8 - Ще бъдат сдвоени, можете или да запоите тези две заедно или да използвате джъмпер, както направих аз.

Точно до бялата кутия имате заземяващите и VCC щифтовете. Трябва да осигурите 5v от Arduino или друг източник, за да захранвате този сензор.

PIP номерата на местоположението могат да бъдат намерени в кода.

Сега, когато трябва да го свържете, трябва да го калибрираме. Целта ми беше да създам скрипт, който да може да го калибрира, но ми свърши времето да го направя. Когато калибрирате, трябва да се уверите, че сензорът е в контролирана осветителна среда, чувствителен е към външната светлина. Трябва да получите стойност от всяко пип местоположение с черна точка и бяла точка и да усредните разликата. Използвах само две страни на заровете за калибриране, използвах страна 1, страна 6 и страна 6, завъртяни на 90 градуса. След като имате номер за бяло и черно за всяко място на пип, трябва да ги осредните и да намерите средата на двете числа. Така например, ако получих 200 за бяло от първото място на пипс и 300 за тъмната стойност на първото място на пип, тогава калибрационният номер ще бъде 250. След като направите това за всичките 5 места на пип, вашият сензор е правилно калибриран, тогава можете да използвате зарове. ReadFace (); за да получите текущото лице на заровете.

Стъпка 5: Приложение

Приложение
Приложение
Приложение
Приложение
Приложение
Приложение

Вече успешно създадохте сензор за зарове! Честито! За мен създаването на този сензор беше дълъг път на опити и грешки, така че целта ми е да помогна на всеки, който иска да създаде сензор за зарове.

Включих няколко примера на проекта, който изграждаме, използващ този сензор. Първата снимка, използвахме лопатка, за да поставяме правилно заровете върху сензора всеки път. Втората снимка беше крайният продукт на нашия проект и основата ще се върти в зависимост от това какво е лицето на заровете, а третата снимка е кутия за дисплей, която аз проектирах и изградих, за да поставя тези сензори на дисплея.

Възможността за този сензор е безкрайна, ако се постараете. Надявам се да намерите този урок за приятен и образователен и се надявам да се опитате да направите такъв за себе си.

Бог да благослови!

Препоръчано: