Съдържание:

Arduino LED подложка за бутони, която задвижва обработката на анимации: 36 стъпки (със снимки)
Arduino LED подложка за бутони, която задвижва обработката на анимации: 36 стъпки (със снимки)

Видео: Arduino LED подложка за бутони, която задвижва обработката на анимации: 36 стъпки (със снимки)

Видео: Arduino LED подложка за бутони, която задвижва обработката на анимации: 36 стъпки (със снимки)
Видео: SKR 1.4 - TMC2209 v1.2 2024, Ноември
Anonim
Image
Image
Arduino LED подложка за бутони, която задвижва обработката на анимации
Arduino LED подложка за бутони, която задвижва обработката на анимации
Arduino LED подложка за бутони, която задвижва обработката на анимации
Arduino LED подложка за бутони, която задвижва обработката на анимации

Какво Тази подложка с бутони е направена с помощта на печатна платка и други компоненти, произведени от Sparkfun. Задвижва се от Arduino Mega. Всеки бутон е приятен и гъвкав и удовлетворяващ за натискане, а вътре има RGB LED! Използвах го за управление на анимации, които съм кодирал в Processing. Подложката с бутони изпраща съобщение при всяко натискане на бутон, казвайки кой бутон е бил. Обработката получава тези съобщения и променя променливите в скицата в зависимост от това какво е натиснато.

Защо

Светодиодите са охладени. Бутоните са забавни за натискане. Анимираните геометрични шарки са хубави. Исках да комбинирам и трите. Взех този проект на парти, проектирах визуалните изображения на стената и оставих хората да играят с бутоните. Може да се използва и от VJ по по -перфектен начин, подобно на midi контролер, но повече DIY.

Как

Този проект има четири основни части.

Приложеното видео в Youtube дава добър поглед върху това как бутоните на бутоните вървят заедно. Тази инструкция обхваща това, както и кода на Arduino и Processing - (допълнителни видеоклипове за тези са в процес на разработка)

  1. Сглобяването на бутоните заедно - Започва в Стъпка 1

    Това включва подготовка на компонентите и тяхното запояване към печатната платка

  2. Кодът на Arduino - започва в Стъпка 10

    За това се нуждаем от разбиране за матричното сканиране, което ще разкажа.

  3. Кодът за обработка - започва в стъпка 24

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

  4. Получаване на Arduino за изпращане на съобщения до Обработка - Стъпка 16 за изпращане, Стъпка 30-31 за получаване

    Това е хубаво и просто, изпраща съобщението през серийна връзка.

Ниво

Опитвам се да напиша уроците си по такъв начин, че някой без абсолютно никакви познания поне да може да ги последва. Може да ви бъде полезно първо да гледате някои уводни уроци за обработката. Бих започнал с канала на Даниел Шифман в YouTube.

Код

Целият код (Arduino и Processing) е на моя github тук.

Кредити

Научих доста от този урок https://learn.sparkfun.com/tutorials/button-pad-ho… и голяма част от кода на Arduino е от там, въпреки че го редактирах да работи малко по-различно от всеки от примерите там.

Стъпка 1: Компонентите

Компонентите!
Компонентите!
Компонентите!
Компонентите!
Компонентите!
Компонентите!
Компонентите!
Компонентите!
  • 16 x 5 мм RGB светодиоди (не адресируеми, а само обикновени катодни)
  • 16 x 1N4148 диода
  • Силиконова подложка за копчета
  • Подложка за печатна платка
  • Arduino Mega
  • Джъмперни кабели

(Има и куп неща, които можете да получите от Sparkfun, за да поместите цялото нещо малко по -спретнато, но аз не съм го направил)

Стъпка 2: Подгответе диодите

Подгответе диодите
Подгответе диодите
Подгответе диодите
Подгответе диодите
Подгответе диодите
Подгответе диодите

Огънете всеки диод и след това го прокарайте през печатната платка.

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

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

Направете 16 от тези малки подобни на мравки неща.

Стъпка 3: Запоявайте диодите към дъската

Запоявайте диодите към дъската
Запоявайте диодите към дъската
Запоявайте диодите към дъската
Запоявайте диодите към дъската
Запоявайте диодите към дъската
Запоявайте диодите към дъската

Поставете всеки от диодите обратно в платката. Важно е да проверите ориентацията на диода. Той има черна линия от едната страна, която се подравнява с линията на печатната платка. (Вижте изображението)

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

Запоявайте всеки от диодите на място.

Стъпка 4: Подгответе светодиодите

Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите
Подгответе светодиодите

Натиснете светодиодите през дъската и след това отрежете краката. Точно както при диодите; важно е първо да избутате краката през дъската, за да ги разперете до правилните ъгли, преди да отрежете краката.

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

Пригответе 16 от тези малки ампутирани момчета.

Стъпка 5: Запоявайте светодиодите към дъската

Запоявайте светодиодите към дъската
Запоявайте светодиодите към дъската
Запоявайте светодиодите към дъската
Запоявайте светодиодите към дъската
Запоявайте светодиодите към дъската
Запоявайте светодиодите към дъската

Вкарайте всички светодиоди обратно в платката.

Ориентацията отново е важна тук. Едната страна на светодиодите има плосък ръб и това трябва да се подравнява с плоския ръб на кръга на диаграмата на печатната платка. (Вижте изображението)

Вижте дали светодиодите са натиснати достатъчно далеч, като поставите силиконовата подложка върху дъската и проверите дали не пречат на бутоните, които се натискат.

Запоявайте светодиодите върху платката.

Забележка: Оттогава ми беше посочено, че тъй като няма толкова голямо значение, ако малко от краката стърчи на гърба, можете просто да прокарате светодиодите, да ги запоите отзад и след това да отрежете краката.

Стъпка 6: Подредете достатъчно джъмперни кабели

Подредете достатъчно джъмперни кабели
Подредете достатъчно джъмперни кабели

Нека поговорим малко за дъската. Дъската е подредена в 4 колони и 4 реда светодиоди/бутони.

Всяка от колоните изисква 2 връзки, една за LED заземяване и една за заземяване на бутоните. Всеки от редовете изисква 4 връзки, тъй като се нуждаем от отделна връзка за червения, зеления и синия канал, както и връзка за Тук са цветовете на кабелите и номерата на пиновете, които избрах за всяка от тези връзки.

Ред За какво е Цвят на кабела ПИН номер Етикет на печатни платки
Ред 1 червен червен 22 ЧЕРВЕН1
Зелено Зелено 23 ЗЕЛЕН1
Син Син 30 СИН1
Въвеждане на бутон Жълто 31 ПЕРЕКЛЮЧАТЕЛ 1
Ред 2 червен червен 24 ЧЕРВЕНИ2
Зелено Зелено 25 ЗЕЛЕН2
Син Син 32 СИНА2
Въвеждане на бутон Жълто 33 ПЕРЕКЛЮЧАТЕЛ 2
Ред 3 червен червен 26 ЧЕРВЕНО3
Зелено Зелено 27 ЗЕЛЕН3
Син Син 34 СИН3
Въвеждане на бутон Жълто 35 ПЕРЕКЛЮЧАТЕЛ 3
Ред 4 червен червен 28 ЧЕРВЕН4
Зелено Зелено 29 ЗЕЛЕН 4
Син Син 36 СИН4
Въвеждане на бутон Жълто 37 ПЕРЕКЛЮЧАТЕЛ 4
Колона За какво е Цвят на кабела ПИН номер Етикет на печатни платки
Колона 1 LED заземяване Бял 38 LED-GND-1
Бутон заземяване Черен 39 SWT-GND-1
Колона 2 LED заземяване Бял 40 LED-GND-2
Бутон заземяване Черен 41 SWT-GND2
Колона 3 LED заземяване Бял 42 LED-GND-3
Бутон заземяване Черен 43 SWT-GND3
Колона 4 LED заземяване Бял 44 LED-GND4
Бутон заземяване Черен 45 SWT-GND4

Стъпка 7: Подгответе джъмперните кабели

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

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

Стъпка 8: Запоявайте джъмперните кабели към дъската и ги включете

Запоявайте кабелите на джъмпера към дъската и ги включете
Запоявайте кабелите на джъмпера към дъската и ги включете
Запоявайте кабелите на джъмпера към дъската и ги включете
Запоявайте кабелите на джъмпера към дъската и ги включете

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

Стъпка 9: Изграждането е завършено

Сградата е завършена!
Сградата е завършена!

Отделете малко време, за да натиснете празнично някои (все още нефункционални) бутони и след това нека да преминем към някакъв код!

Стъпка 10: Схеми

Схематично
Схематично

Това е схема на печатната платка и нещата, които сме запоили към нея.

Всеки от сивите полета представлява една от бутоните / светодиодните комбинации.

Ако просто искате сами да прегледате кода, той е на моя github тук.

Стъпка 11: Само бутоните

Само бутоните
Само бутоните
Само бутоните
Само бутоните

Светодиодите и бутоните всъщност са отделени един от друг (освен всички свързани към Arduino), така че нека първо само да разгледаме бутоните.

Всяка сива кутия съдържа един бутон и диод (тези, върху които споехме - ще обясня целта на тези след малко).

Забележка: Сигурен съм, че това е супер очевидно за някои хора, но не бях сигурен в това, когато за първи път започнах да го разбирам, затова ще го кажа! Редовете (в зелено) и колоните (в синьо) не са свързани, те просто са разположени една върху друга. Нещата са свързани само там, където има малка черна точка. Затварянето на един от бутоните обаче създава връзка между реда и колоната.

Стъпка 12: Настройте щифтовете на бутоните

Настройване на щифтове за бутони
Настройване на щифтове за бутони
Настройване на щифтове за бутони
Настройване на щифтове за бутони
Настройване на щифтове за бутони
Настройване на щифтове за бутони

За бутоните ще използваме колоните като изходи, а редовете като входове.

Ще можем да проверим дали е натиснат бутон, защото ако има връзка между ред и колона, напрежението от изхода ще достигне до входа. За начало в setup () извеждаме високо напрежение към всички колони. Зададохме редовете да бъдат изтеглящи входове, което означава, че по подразбиране те също четат високо.

Стъпка 13: Сканиране

Сканиране
Сканиране
Сканиране
Сканиране
Сканиране
Сканиране

В цикъла функция, наречена scan (), преминава през една колона наведнъж и задава напрежението си на ниско.

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

Ако редът с бутон чете ниско, това означава, че бутонът, който свързва този ред и колона, е натиснат.

Стъпка 14: Не всички бутони са създадени равни

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

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

Това означава, че натискането на бутон, което човек смята за само едно, може да се интерпретира от arduino като няколко отделни натискания.

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