Домашна 3d (жестове) интерфейс

Да се ​​махаме от сополи и стърчи един куп резистори, алуминиево фолио и Arduino подготвят за изграждане на недвижими триизмерен интерфейс за управление на компютър с жестове. И принуди Nintendo Wii, с прехвалената й от .... в смисъл да се оттегли.

Домашна 3d (жестове) интерфейс

Стъпка 1: Материали и инструменти

Домашна 3d (жестове) интерфейс

Домашна 3d (жестове) интерфейс

  • Resistor 270 килограм - 3 броя.
  • Резистор 10 килограм - 3 парчета.
  • Ниско температура спойка
  • тел
  • алуминиево фолио
  • Картон от опаковъчни щайги
  • скоч
  • Екраниран кабел (известен също като коаксиален)
  • Тип съединител "крокодил" - 3 бр.
  • 3-пинов конектор (тип "тате")
  • Електрически съединител (platikovy скоба)
  • Свиване тръба или горещо лепило

Етап 2: Получаване на сензорни плочи

Домашна 3d (жестове) интерфейс

Снабдете се с три лица (hemicube) на опаковки картон, паста (или защитите с тиксо) на вътрешната си страна на квадратите на фолиото.

Домашна 3d (жестове) интерфейс
ВНИМАНИЕ! КВАДРАТИ саботира това не трябва да се свържат един с друг. Всеки квадрат, трябва да подаде свободно от изолация с точки на свързване за скоби на "крокодил" тип.

Стъпка 3. проводници

Домашна 3d (жестове) интерфейс

За да се свържете сензорните плочите на Ардуино, ние се нуждаем от екраниран проводник. Използването на защитен кабел се дължи на факта, че без проводник щит е вероятно да бъде част от кондензатор.

Домашна 3d (жестове) интерфейс

Домашна 3d (жестове) интерфейс
Домашна 3d (жестове) интерфейс

Нарежете три парчета с еднаква дължина на екраниран кабел. Колкото по-кратък, толкова по-добре. Можете да използвате телевизия коаксиален кабел, но това е по-добре да се избере по-тънък и гъвкав.

Strip половин инч (1, 275 cm) екран и около 8мм център диригент.

Спойка центъра диригент и щита на съединител тип "крокодил" и изолира термопластична или изолирбанд.

Стъпка 4: Touch контури

Всяка верига се състои само от два резистора и алуминиева пластина (в нашия случай - картонен лист на базата на фолиото). За да се разбере как работи, нека да разгледаме нашите действия с микроконтролер Arduino.

  • Expose пристанището на изход режим
  • Сигнал за предоставяне на пристанището "логика нула", което води до разреждане на кондензатор на обща шина
  • Превод порт към режим на въвеждане

Ние изчисляваме, необходима за зареждане на кондензатор до нивото на "логическа единица" време. Тази променлива зависи от номиналната съпротивление на резистори и кондензатор (алуминиева плоча). Resistor ценности са непроменени, което ни позволява да се измери капацитет на кондензатор. Основната променлива за тези изчисления е разстоянието "почва" (ръка) от кондензатор плочи.

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

  • Expose пристанището на изход режим.
  • По време на зареждане на кондензатор плочи до определена стойност, обикновено равно на нивото "логика един".
  • Превод порт към режим на въвеждане.
  • Сигнал за осигуряване на порт "логика нула", което води до разреждане на кондензатор, веригата се изключва едновременно +5 волта.

Ние се изчисли необходимото за приключване на кондензатор до ниво "логика нула" време. Тази променлива зависи от номиналната съпротивление на резистори и кондензатор (алуминиева плоча). Resistor ценности са непроменени, което ни позволява да се измери капацитет на кондензатор. Основната променлива за тези изчисления е разстоянието "почва" (ръка) от кондензатор плочи.

Въпреки това, той е всичко измислица. Спояване резистори за всеки от проводниците на диаграмата. KiloOmny резистор 10 е заварена към централния проводник на екраниран кабел. 270 KiloOmny резистор спойка между защитата на кабела плоча на сензора, което означава, че сключването KiloOmnogo резистор 10, което е по-близо до сензора.

Етап 5: Свързване на Arduino

Домашна 3d (жестове) интерфейс

Сега - payaem проводници заедно изводи 3-пинов конектор, който е свързан с микроконтролер борда.

ВАЖНО! РЪКОВОДСТВА трябва да бъдат изолирани, за да се предотврати къси вериги ГУМИ на една и съща +5 волта.

Освен това, на място сраствания резистори 270 кило спойка тел, който ще бъде свързан с + 5 волта автобус.

Етап 6: Свързване и код натоварване

Свържете конектора до пристанището №№ 8,9, 10 Ардуино.

Скоби "крокодил", той се свързва сензорните плочи в следния ред:

порт №8 - X ос, лявата плоча

№ порт 9 - Y ос, дънната плоча

включване на захранването чрез свързване на съответния проводник (червено) в 5 волта Arduino на

Изтеглете код за микроконтролер (ако сте извън Северна Америка - може да се наложи да се замени стойността на аргумента #define мрежа за 50 вместо 60).

Линкове към Кодекса за Arduino и обработка показано по-долу.

Стъпка 7. малко забавление

Нека да погледнем в прозореца на сериен терминал във вашата Arduino конзола. Можем да видим, че тя показва първичните данни за триизмерни координати с честота от около 10 херца до Cardo ос.

Защо 10 херца? Обяснете - всеки сензор е разпитван 2 пъти, че когато честотата на сканиране на екрана от 60 Hz по формулата:

дисплей честота / брой цикли на сензора * брой сензори осигурява желания 10 Hz. Сензорът за код четене гласи максималния брой пъти за период от 2 цикъла, за да се избегне дублиране на резултатите.

Този проект показва три основни неща:

  • В линеаризация на необработени данни, получени с датчиците. Времето за зареждане на кондензатор в съответствие със закона, пропорционално на мощността зависимостта от разстоянието. По този начин, за да се определи разстоянието, което трябва да се вземе корен квадратен от отношението на част 1 / час. Така разстоянието се изчислява по следната формула: Разстояние = корен квадратен от (1 / час).
  • Нормализиране на данните. След стартирането на проекта, задръжте натиснат левия бутон на мишката и да се премести ръката в същото време в зоната на сензора плочи. Това ще настрои ограничаването на виртуалния работен кът.
  • Елиминира "бърборене" сензори, чрез създаване на първоначална отправна точка.

Стъпка 8: Възможности за по-нататъшното развитие на проекта

списание проект

Микросекунда интервали бяха избрани емпирично с помощта на леко променена код от конференция, посветена на Ардуино.

Хинд.

Разбира се, те са просто rabotaeyut на същия принцип. Едва сега, когато Theremin изобрети терменвокс, всичко необходимо, като забавно изобретение. След това - използва за защита на обекти - ако види в затворите и изтезания камери на другия на върха на стените три проводника, два от които са свързани с пръстеновиден проводник около една трета - така че това е един и същ механизъм за определяне на обекта на промените на зареждане.

Хинд.

За. Въпреки това, сензорни екрани са предназначени за определяне на електрическия заряд върху кожата или други материали. Между другото, това е, защото от това, плочките могат да работят в кожени ръкавици. Ето защо, в някои smarfonah и таблетки ispolzyutsya spetsstilusy да работи с капацитивни екрани.

HWman.