Съдържание:
- Стъпка 1: Материали
- Инструменти
- Материали
- Стъпка 2: Направете плочите
- Стъпка 3: Направете конекторите
- Стъпка 4: Направете веригата
- Стъпка 5: Завършете и прикрепете конектора
- Стъпка 6: Свържете и качете код
- Стъпка 7: Направете нещо готино
- Стъпка 8: Вариации и бележки
- Вариации
- Бележки
Видео: DIY 3D контролер: 8 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
Направете 3D интерфейс, използвайки шест резистора, алуминиево фолио и Arduino. Вземете това, Wii. Update: много по -задълбочено обяснение на този проект е достъпно от Make Magazine. Може да е по -лесно да следвате инструкциите им и мисля, че кодът им е по -актуален. Основната цел тук беше да се направи 3D сензорна система за разположение на ръцете, която повечето хора могат да изградят, като същевременно запази известна прилика на функционалност. За да добиете представа за възможни приложения, вижте демонстрационното видео. Ако смятате, че можете да изградите по -опростен и еднакво точен, или малко по -сложен и по -точен, споделете в коментарите! DIY 3D интерфейс: Tic Tac Toe от Kyle McDonald на Vimeo.
Стъпка 1: Материали
Инструменти
- Arduino
- Обработка
- Резачки за тел
- Поялник
- Фреза за кутии
Материали
- (3) 270k резистори
- (3) 10k резистори
- Припой
- Тел
- Алуминиево фолио
- Картон
По избор:
- Лента (например: скоч)
- Екраниран проводник (например: коаксиален кабел, ~ 3 ')
- (3) клипове от алигатор
- 3-пинов хедър
- Вратовръзка с цип
- Тръби за свиване или горещо лепило
Стъпка 2: Направете плочите
Този сензор ще работи с помощта на прости RC вериги, като всяка верига отчита разстоянието в едно измерение. Открих, че най -лесният начин да подредите три капацитивни плочи за тази цел е в ъгъла на куб. Нарязах ъгъла на картонена кутия в 8,5 -инчов куб и след това изрязах малко алуминиево фолио, за да се побере като малко по -малки квадратчета. Лентата по ъглите ги държи на място. Не залепвайте целия периметър, ще ни трябва по -късно за закрепване на алигаторните щипки.
Стъпка 3: Направете конекторите
За да свържете Arduino към плочите, се нуждаем от екраниран проводник. Ако проводникът не е екраниран, самите проводници действат по -очевидно като част от кондензатора. Също така открих, че алигаторните клипове улесняват свързването на неща с алуминий - но вероятно има и много други начини.
- Нарежете три равни дължини на екраниран кабел. Избрах около 12 ". Колкото по -къс, толкова по -добре. Коаксиалният кабел работи, но колкото по -лек/по -гъвкав, толкова по -добре.
- Извадете последните половин инч или повече, за да разкриете екранирането, и последния четвърт инч, за да разкриете жицата.
- Завъртете алигаторните скоби към проводниците върху проводниците и ги запоявайте заедно.
- Добавете малко термосвиваеми тръби или горещо лепило, за да поддържате нещата заедно.
Стъпка 4: Направете веригата
"Веригата" е само два резистора на парче алуминий. За да разберете защо са там, е полезно да знаете какво правим с Arduino. Това, което ще правим последователно с всеки щифт, е:
- Задайте щифта в изходен режим.
- Напишете цифров "нисък" на щифта. Това означава, че двете страни на кондензатора са заземени и той ще се разреди.
- Задайте щифта в режим на въвеждане.
- Пребройте колко време отнема кондензаторът да се зареди, като изчакате щифтът да стане "висок". Това зависи от стойностите за кондензатора и двата резистора. Тъй като резисторите са фиксирани, промяната в капацитета ще бъде измерима. Разстоянието от земята (вашата ръка) ще бъде основната променлива, допринасяща за капацитета.
270k резисторите осигуряват напрежение за зареждане на кондензаторите. Колкото по -малка е стойността, толкова по -бързо ще се зареждат. 10k резисторите също влияят на времето, но не разбирам напълно тяхната роля. Ще направим тази схема в основата на всеки проводник.
- Запоявайте 10k резистора до края на проводника срещу щипката от алигатор
- Запоявайте 270k резистора между щита и проводника (плочата). Ще защитим проводника със същите 5 V, които използваме за зареждане на кондензаторите
Стъпка 5: Завършете и прикрепете конектора
След като 3 -те съединителя приключат, може да искате да добавите термосвиваеми тръби или горещо лепило, за да ги изолирате един от друг, защото ще запоявате екранирането/5 V точки заедно.
За мен беше най -лесно да запоя двата най -външни конектора заедно и след това да добавя третия. След като запоите трите конектора, добавете четвърти проводник за захранване на щита/5 V.
Стъпка 6: Свържете и качете код
- Включете конектора в Arduino (щифтове 8, 9 и 10)
- Щракнете алигаторните скоби върху плочите (8: x: наляво, 9: y: отдолу, 10: z: надясно)
- Осигурете захранване, като включите четвъртия проводник (моя червен проводник) в 5 V на Arduino
- Включете Arduino, стартирайте средата Arduino
- Качете кода на дъската (забележка: ако сте извън Северна Америка, вероятно ще трябва да промените #define електрическата мрежа на 50 вместо на 60).
Кодът на Arduino е прикачен като Interface3D.ino, а кодът за обработка е приложен като TicTacToe3D.zip
Стъпка 7: Направете нещо готино
Ако погледнете серийния прозорец в средата Arduino, ще забележите, че изплюва необработени 3D координати на 115200 бода, при приблизително 10 Hz = 60Hz / (2 пълни цикъла * 3 сензора). Кодът прави измервания възможно най -много пъти на всеки сензор за период от два цикъла на честотата на захранването на мрежата (което е изненадващо стабилно), за да анулира всяко свързване. Първото нещо, което направих с това, беше да направя прост 3D Tic Tac Toe интерфейс. Ако искате да започнете с работеща демонстрация, кодът е достъпен тук, просто пуснете папката „TicTacToe3D“във вашата папка „Обработка на скици“. Три полезни неща, които кодът на Tic Tac Toe демонстрира:
- Линеаризира необработените данни. Времето за зареждане всъщност следва закон за мощността спрямо разстоянието, така че трябва да вземете квадратния корен от един за времето (т.е. разстояние ~ = sqrt (1/време))
- Нормализира данните. Когато стартирате скицата, задръжте левия бутон на мишката, докато движите ръката си, за да определите границите на пространството, с което искате да работите.
- Добавяне на „импулс“към данните за изглаждане на всякакви трептения.
На практика, използвайки тази настройка с алуминиево фолио, мога да получа диапазон от най -големия размер на фолиото (най -голямото парче, което съм тествал, е 1,5 квадратни фута).
Стъпка 8: Вариации и бележки
Вариации
- Изградете масивни сензори
- Оптимизирайте резисторите и кода за неща, които вибрират бързо, и го използвайте като пикап/микрофон
- Вероятно има и други трикове за отделяне на системата от променлив ток (огромен кондензатор между плочите и земята?)
- Експериментирах с екранирането на плочите отдолу, но изглежда само създава проблеми
- Направете RGB или HSB инструмент за избор на цвят
- Контролирайте видео или музикални параметри; последователност бийт или мелодия
- Голяма, леко огъната повърхност с множество плочи + проектор = интерфейс "Minority Report"
Бележки
Детската площадка Arduino има две статии за капацитивно докосване (CapSense и CapacitiveSensor). В крайна сметка отидох с инверсия на дизайна, на който попаднах в копие на приятел на „Физически изчисления“(Sullivan/Igoe), описващо как да се използва RCtime (веригата имаше фиксиран кондензатор и един резистор и измери стойността на Потенциометър). Микросекундното синхронизиране е постигнато с помощта на малко оптимизиран код от форумите на Arduino. Отново: само от началото на тонове схеми на термин, които не разбирам напълно, добре знам, че има по -добри начини за извършване на капацитивно измерване на разстояние, но исках да направя нещо възможно най -просто, което все още е функционално. Ако имате еднакво прост и функционален дизайн, публикувайте го в коментарите! Благодаря на Dane Kouttron за толерирането на всичките ми основни въпроси по електрониката и ми помогна да разбера как работи обикновена хетеродинна схема на термин (първоначално щях да използвам тези - и, ако е настроен правилно, вероятно ще бъде по -точен).
Първа награда в конкурса за книги „The Instructables“
Препоръчано:
Arduino базиран DIY контролер за игри - Arduino PS2 контролер за игри - Възпроизвеждане на Tekken с DIY Arduino геймпад: 7 стъпки
Arduino базиран DIY контролер за игри | Arduino PS2 контролер за игри | Игра на Tekken с DIY Arduino геймпад: Здравейте момчета, играта на игри винаги е забавна, но играта със собствения си DIY персонализиран контролер на играта е по -забавна. Така че ще направим контролер за игра, използвайки arduino pro micro в тази инструкция
DIY контролер за ръкавици със сензори за електронен текстил: 14 стъпки (със снимки)
Направи си сам контролер за ръкавици със сензори за електронни текстили: Тази инструкция е стъпка по стъпка урок за това как да направите ръкавица за данни със сензори за eTextile. Проектът е сътрудничество между Рейчъл Фрейър и Артьом Максим. Рейчъл е дизайнер на сензори за текстилни и етекстилни ръкавици, а Арти проектира кръга
YABC - Още един контролер на Blynk - IoT облачен контролер за температура и влажност, ESP8266: 4 стъпки
YABC - Още един контролер на Blynk - IoT облачен контролер за температура и влажност, ESP8266: Здравейте производители, наскоро започнах да отглеждам гъби у дома, гъби стриди, но вече имам 3 пъти от тези контролери у дома за контрол на температурата на ферментатора за моята домашна напитка, съпруга също прави това нещо Комбуча сега и като термостат за топлина
USB контролер за бас, високите и силата на звука със светодиоди за клавиатурата: 6 стъпки (със снимки)
USB контролер за баси, високи и силни звуци със светодиоди за клавиатурата: Имам Creative SoundBlaster Audigy в основния си настолен компютър и имах нужда от начин за бързо регулиране на настройките на басите и високите честоти (както и силата на звука) при слушане на аудио или видео носител . Адаптирах кода от два източника, дадени в
Разбъркване на NES контролер (Nintendo контролер MP3, V3.0): 5 стъпки (със снимки)
Разбъркване на контролера на NES (Nintendo Controller MP3, V3.0): Напълно изтръгнах ryan97128 от неговия дизайн за Nintendo Controller MP3, версия 2.0 и чувам, че той е получил идеята от всички мъдри Morte_Moya, така че не мога да взема кредит за целия им гений. Просто исках да добавя удобство и презареждане