Мазмуну:

Infrared Dice Sensor: 5 кадам
Infrared Dice Sensor: 5 кадам

Video: Infrared Dice Sensor: 5 кадам

Video: Infrared Dice Sensor: 5 кадам
Video: Термопара Устройство Неисправности Лайфхаки по ремонту 2024, Ноябрь
Anonim
Infrared Dice Sensor
Infrared Dice Sensor
Infrared Dice Sensor
Infrared Dice Sensor

Менин атым Калвин, мен сизге инфракызыл чүкө сенсорун кантип жасоону көрсөтөм жана анын кантип иштээрин түшүндүрөм.

Мен учурда Тейлор университетинин студентимин, компьютердик инженерия боюнча окуйм жана менин командамдан мен 1ин чарчыга туура келүүчү бардык объекттерди иреттей турган механизмди иштеп чыгууну жана курууну суранышты. Биз оңой жолду тандап, m & m'ди жөнөкөй түстүү сенсордун жардамы менен иреттөөнү тандап алмакпыз, бирок биз жогоруда жана андан ары кетүүнү жана сандарды көрсөтүлгөн сан боюнча иреттөөнү чечтик. Сансыз сааттардан кийин сөөктөрдүн жүзүн кантип окуу керектиги боюнча көрсөтмө табууга аракет кылгандан кийин, бул шилтемеге кирдим:

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

Бул шилтеме, бирок мага сөөктөрдүн жүзүн кантип окуу керектигине караганда көп нерсени берген жок, андыктан берилген идеяны колдонуп, Arduino менен туташтырыла турган сенсорду куруп, иштеп чыктым. оной жана сүйкөмдүн жүзүн мүмкүн болушунча так окуй алат, ошону менен бизге бул Infrared Dice Sensor берет.

Жабдуулар

Эми берүүлөргө өтөлү:

Сага керек болот:

1 x Arduino Uno

5 х IR кабылдагычтар

5 х IR эмитенти

www.sparkfun.com/products/241

5 x 270 Ом резисторлор

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

1 x 74HC595N чипи

ар кандай эркек баш

1 x Прототип тактасы (эгер сиз атайын фрезерленген тактайды албасаңыз)

1 -кадам: Бул кантип иштээрин түшүнүү

Бул кантип иштээрин түшүнүү
Бул кантип иштээрин түшүнүү
Бул кантип иштээрин түшүнүү
Бул кантип иштээрин түшүнүү

Бул сенсор сөөктөрдүн жүзүн окуу үчүн 5 пип ордун колдонот. Бул инфрақызыл нурду колдонуп, бул пиптердеги черлердин бетинен секирет жана контролерге ак же кара экенин айтат.

Сизди кызыктырышы мүмкүн, анда эмне үчүн 5 пип жери бар? Дицди эффективдүү окуу үчүн баарына 9 керек эмеспи?

Ооба, чучуктун симметриялуу болгондугуна байланыштуу, чукулдар боюнча 5 конкреттүү жерди колдонуу, чектердеги ар кандай сандардын ориентациясына карабастан айырмасын айтуу үчүн жетиштүү болот (1 -сүрөт). Бул текченин сенсорун эффективдүү кылат, анткени ал керектүү нерсени издейт жана кошумча эч нерсе жок.

Эмитент бул 5 пиптин ар бириндеги сенсордун кабыл алуучусунун астына кирет, сенсор андан кийин IR жарыгын чыгарат, андан кийин алуучу чырактын бетине секирген IR нурунун көлөмүн окуйт. (сүрөт 3) Эгерде алынган көрсөткүч көрсөтүлгөн калибрлөө сандарынан чоңураак болсо, анда сенсор чекит катары чекитти көрөт, эгер болбосо, анда ал боштук. (сүрөт 2)

2 -кадам: Дизайн жана пландаштыруу

Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу
Дизайн жана пландаштыруу

Сынак сенсорун куруунун биринчи кадамы схемаларды түзүү, бул өнүгүүнүн эң оор же эң оңой кадамы болушу мүмкүн. Сизге Autodesk тарабынан EAGLE аттуу программалык камсыздоо керек, бул мен схемаларды түзүүдө колдонулган программа болчу.

Мен 2 түрдүү схеманы киргиздим, бир схемада сенсордун тагыраак болушуна жардам берүү үчүн сменалык реестр чипи бар, экинчисинде сменалык регистр чипи жок, бирок бул схема мен бере турган код менен иштебейт кийинчерээк, демек, сиз өзүңүз бир нерсе иштеп чыгууга туура келет.

Мен ошондой эле сменалык реестр менен иштеп чыккан сенсордун тактайынын макетин киргиздим.

Тактайдын дизайнын баштоо үчүн сизде 5 IR кабылдагыч жана 5 IR эмитенти бар, алуучуларга 10k каршылык жана эмитенттерге 270 ohm резистору керек, ошондуктан бул элементтердин ар бири үчүн:

VCC (5V) -> Резистор -> Аналогдук Окуу Pin -> IR кабылдагыч -> GND

VCC (5V) -> Резистор -> IR эмитенти -> GND

Аналогдук окуу пини башка резистор менен IR алуучунун ортосунда чыгат жана Arduinoдогу аналогдук пинге барат. Сиз ошондой эле эмитенттин түздөн -түз ресивердин астына кирээрине ынанууңуз керек, мен биринчи жолу мындай ката кетиргем жана мен абдан жаман жыйынтыктарга ээ болдум, андыктан алуучунун үстүндө турганын текшериңиз.

Өзүмдүн тактада мен эмитенттин жана кабыл алуучу түгөйлөрдүн ар бирине бирден энергия берүү үчүн кезектеги реестрди колдонуп жатам, башка эмитенттерден IR нуру агып кетпеши үчүн. Бул мага пиптердин ар биринен дагы так окууну берет, эгер сиз нөөмөт реестрин колдонбоону чечсеңиз, ал дагы эле сиз үчүн иштейт, ал бир аз азыраак болушу мүмкүн. Сменалык реестрде, сиз 3-4 жана 7-8-төөнөгүчтөрдү бириктире аласыз, анткени аларды баш катары колдонуунун кажети жок. Келечекте өнүгүүнү кааласам, аларды баш катары калтырып, баштарына секиргичтерди койдум.

Схеманы иштеп чыккандан кийин, схемаңыздын тактай макетин түзүшүңүз керек. Бул бөлүк өтө татаал болушу мүмкүн, анткени сиз жолдоруңуз бири -бирине дал келбеши керек жана жолдоруңуз жана тешиктериңиз машинаңыздын өзгөчөлүктөрүнө жооп берерине ынанууңуз керек. Мен тиркеген тактайдын макети, мен тактайымды тегирменде иштеткен машинанын белгилүү өлчөмдөрүнө ээ болчу. Колумдан келишинче кичине болуш үчүн тактайдын тегизделишине бир нече саат сарптайм. Бул тактада дагы деле жакшыртууга орун бар болчу, бирок ал мен үчүн иштеди, ошондуктан мен аны ошол бойдон калтырдым. Ground элементтеринин бардыгын бириктирүүчү жез GND версиясы жана тиркелбеген версиясы бар.

Сиз ошондой эле схемаңызды аны нан тактасына же прототип тактасына куруу үчүн колдоно аласыз, анткени буларды алуу оңой жана арзаныраак вариант, анткени сизге атайын тактай тегирмендин кереги жок.

Тактанын дизайнын алгандан кийин кийинки кадамга өтсөңүз болот!

3 -кадам: Башкарманы куруу

Башкарманы куруу
Башкарманы куруу
Башкарманы куруу
Башкарманы куруу
Башкарманы куруу
Башкарманы куруу

Бул бөлүк толугу менен сиз тактанын түзүлүшүн каалайт. Мен сенсорду прототип тактасында концепциянын иштээрин жана анын канчалык туура экенин текшерүү үчүн түздүм, андыктан мен схеманы сменалык реестрсиз аткардым жана тактайды түздүм. Сызыктар бири -бирине дал келбеши үчүн, жана туташпашы керек болгон линияларды кокусунан эритип албаш үчүн, бардыгын даярдап коюшуңуз керек. Прототип тактасында жасаганда, өтө этият болуш керек, андыктан шашылбаңыз. Ошондой эле ачык зымдардан этият болуңуз, анткени алар кыймылга келип, системада шорт пайда кылышы мүмкүн.

Эгерде сиз тактаны тегирмен кылууну тандасаңыз, анда бул процесс жөнөкөй. Такта файлын тегирменге конкреттүү фрезер орнотуулары менен жөнөтүңүз. Эгерде муну өзүңүз жасап жатсаңыз, аны чыгарардан мурун жасаңыз, жездин баары жетишерлик тереңдикте тегирменделгенин текшериңиз, Мен жасаган биринчи такта, жез жетишерлик терең фрезерленбеген жана мен дагы бир тегирмен алышым керек болчу.

Баары тактага керектүү макетте салынганын текшериңиз жана убактыңызды алууну унутпаңыз, эгер ПХБда ширетүү болсо, анда тактанын туура жагында ширетилгениңизди текшериңиз.

IR кабылдагычтарды жана эмитенттерди кийип жатканда, эмитенттин кабыл алуучунун астында экенин тактаңыз. Тиешелүү жерге жетүү үчүн IR компоненттеринин буттарын бүгүп ойноо керек болот. Пиптердин жайгашуусу алар керек болгон жерде экендигин текшерүү үчүн колуңузга да сүйөк коюңуз.

Баары ширетилип, тактага кошулгандан кийин сенсорду программалоого киресиз.

4 -кадам: Башкарманы программалоо

Башкарманы программалоо
Башкарманы программалоо
Башкарманы программалоо
Башкарманы программалоо

Бул сенсорду мүмкүн болушунча так кылып, тактаны программалоонун татаал бөлүгү. Бактыга жараша, мен сиз үчүн жаңыдан түзүлгөн сенсор менен программалоону жеңилдетүү үчүн китепкана түздүм, бирок сиз бул сенсор жайгашкан жарыкка жараша сенсорду калибрлешиңиз керек болот.

Баштоо үчүн сизде бул сенсор менен иштей турган Arduino болушу керек. Ал 5 аналогдук пинди жана 3 санарип пинди колдонот.

Сиз жасаган китепкананы колдонуп, өзүңүздүн аналогдук жана санарип төөнөгүчтөрүңүздү тандап алуу мүмкүнчүлүгүңүз бар, бирок мен аны сенсор менен иштөө үчүн кылган пинтеримдин жардамы менен түшүндүрөм. Мен пиндин номерлери жана түстүү кутучалар менен байланышкан сүрөттү белгилеп койдум, кайсы пин кайсы жерге туташтырыларын оңой түшүндүрүш үчүн.

Сенсордо 1-5 кызыл тешиктер A0-A4кө өтөт, ошондуктан Red 1 A0го барат ж.б. Pins 1-8 White бир аз көбүрөөк түшүндүрмөнү талап кылат.

Ак 1 - Маалымат пини, бул жерде Arduino маалыматтарды нөөмөт реестрине жөнөтөт. Мен бул пинди Arduinoдогу санарип пинге 3 койдум

Ак 2 - Q0, бул учурда эскирген, мен такыр кеңейтүүнү чечкен учурда киргиздим

Ак 3 & 4 - Жупташат, сиз бул экөөнү биригип же мен сыяктуу секиргичти колдонсоңуз болот.

Ак 5 - бекитүүчү пин, пиптердин күйүп -өчүшүн көрүү үчүн эң маанилүү кадам. Мен бул пинди Arduinoдогу 12 -пинге койдум

Ак 6 - Саат пин, Бул Arduinoдан нөөмөт реестрине чейинки саатты камсыздайт. Мен муну санарип пин 13кө койдум.

Ак 7 & 8 - Жупташат, сиз бул экөөнү биригип же мен сыяктуу секиргичти колдонсоңуз болот.

Ак кутунун жанында сизде Ground жана VCC казыктары бар. Бул сенсорду иштетүү үчүн Arduino же башка булактан 5v камсыздооңуз керек.

PIP жайгашуу номерлерин коддон тапса болот.

Эми сиз аны туташтырышыңыз керек, биз аны калибрлешибиз керек. Менин максатым - бул сиз үчүн калибрлей турган сценарий түзүү, бирок менде убакыт жок болуп калды. Калибрлөөдө сенсор сырткы жарыкка сезгичтигин көзөмөлдөгөн жарык чөйрөсүндө экенине ынануу керек. Сиз ар бир пип жеринен кара чекит жана ак чекиттин маанисин алышыңыз керек жана айырмачылыкты орточо баалашыңыз керек. Мен калибрлөө үчүн тектердин эки тарабын гана колдондум, мен 1 -жагы, 6 -жагы жана 6 -жагы 90 градуска бурулду. Ар бир пип орду үчүн ак жана кара үчүн номериңиз болгондон кийин, аларды орточо эсепке алып, эки сандын ортосун табышыңыз керек. Мисалы, эгер мен биринчи пип жайгашкан жерден 200 ак түскө ээ болсом жана биринчи пип жайгашкан жердин караңгы мааниси үчүн 300 алсам, анда калибрлөө саны 250 болмок калибрленген, анда dice. ReadFace () колдоно аласыз; диц хэзирки йузуни алмак учин.

5 -кадам: Колдонмо

Колдонмо
Колдонмо
Колдонмо
Колдонмо
Колдонмо
Колдонмо

Сиз азыр кубик сенсорун ийгиликтүү түздүңүз! Куттуктайм! Бул мен үчүн бул сенсорду жаратуу үчүн узак сыноо жана ката жолу болду, андыктан бул жерде сүйүү сенсорун түзгүсү келгендерге жардам берүү менин максатым.

Мен бул сенсорду колдонгон биз курган долбоордун бир нече мисалын киргиздим. Биринчи сүрөт, биз сенсордун үстүндөгү чүкөлөрдү туура жайгаштыруу үчүн калакчаны колдонгонбуз. Экинчи сүрөт биздин долбоордун акыркы продуктусу болгон, жана база сөөктүн бети кандай болгонуна жараша айланат, үчүнчү сүрөт - бул сенсорлорду көргөзмөгө коюу үчүн мен иштеп чыккан жана курган дисплей кутусу.

Эгерде сиз муну эске алсаңыз, бул сенсордун мүмкүнчүлүгү чексиз. Бул окуу куралы сизге жагымдуу жана тарбиялык мааниге ээ болот деп үмүттөнөм жана сиз өзүңүз үчүн аны жасоого аракет кыласыз деп ишенем.

Кудай колдосун!

Сунушталууда: