Оглавление:
- Шаг 1: теория
- Шаг 2: Оборудование: сборка светодиодного куба
- Шаг 3: светодиодные ряды
- Шаг 4: сборка слоя
- Шаг 5: Подключение куба
- Шаг 7: Плата управления Arduino + Bluetooth
- Шаг 8: Дополнительно: травление печатных плат
- Шаг 9: подключение куба
- Шаг 10: Программное обеспечение: цикл мультиплексирования
- Шаг 11: пользовательские анимации
- Шаг 12: Дополнительно: AnimationCreator
- Шаг 13: приложение Bluetooth
- Шаг 14: демонстрация
Видео: Светодиодный куб RGB с приложением Bluetooth + AnimationCreator: 14 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Это инструкция по созданию куба 6x6x6 RGB LED (Common Anodes), управляемого через приложение Bluetooth с помощью Arduino Nano. Вся конструкция легко адаптируется, скажем, к кубу 4x4x4 или 8x8x8. Этот проект вдохновлен GreatScott. Я решил пойти на более сложную сборку, используя более крупные светодиоды (8 мм), с меньшим расстоянием + добавление связи Bluetooth, что значительно упрощает добавление новых функций, а также добавляет возможность создания приложения для управления кубом. Это также позволяет мне, например, запрограммировать игру «Змейка» (3-е демонстрационное видео в конце). Вдобавок к этому я добавил режим аудиовизуализатора, который позволяет кубу визуализировать вход AUX, например. Музыка с использованием MSGEQ7 (демонстрационное видео в конце). Кроме того, я написал приложение AnimationCreator на Java с простым в использовании пользовательским интерфейсом для создания и настройки анимаций, так что любой может очень быстро создавать собственные анимации. Таким образом, приложение Sketch + Bluetooth обеспечивает основу для любой конфигурации светодиодного куба, а с Animation Creator вам не нужно беспокоиться о реализации пользовательских анимаций.
Ссылки на приложение Arduino Sketch и Bluetooth:
RGBCube_Arduino Sketch (Github) + Animation Creator.jar
Приложение Cubo Bluetooth (Github)
Список деталей для куба:
- 216x RGB светодиод (общий анод) (8 мм) (AliExpress / Ebay) -> 6x6x6 = 216
- Ленточный кабель (1 м 40 контактов должно быть достаточно) (AliExpress / Ebay / Amazon)
- Женский и мужской заголовки (минимум 4x40 контактов каждый) (AliExpress / Ebay / Amazon)
- Луженая медная / серебряная проволока 0,8 мм (~ 25 метров) (AliExpress / Ebay / Amazon)
- Термоусадочная трубка (AliExpress / Ebay / Amazon)
Список деталей для плат управления:
- 7 светодиодных драйверов TLC5940 (Ebay / AliExpress)
- 6 полевых МОП-транзисторов IRF 9540 с P-каналом (Amazon / Ebay / AliExpress)
- Конденсаторы 8 x 10 мкФ (Amazon / Ebay / AliExpress)
- Конденсаторы 3 x 1000 мкФ (Amazon / Ebay / AliExpress)
- Резисторы 14x 2.2кОм (Amazon / Ebay / AliExpress)
- 1 резистор 1 кОм (Amazon / Ebay / AliExpress)
- 7 x 28-контактных разъемов IC (Amazon / Ebay / AliExpress)
- 1 х Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 диод (любой распространенный диод) (Amazon / Ebay / AliExpress)
- 8 конденсаторов по 0,1 мкФ (Ebay)
- 1 x гнездо для монтажа на печатной плате постоянного тока (Amazon / Ebay / AliExpress)
- 1 x модуль Bluetooth HC-05 (Amazon / Ebay / AliExpress)
Шаг 1: теория
Если вас не интересует теория мультиплексирования, перейдите к шагу 2, чтобы начать сборку
Поскольку аппаратное и программное обеспечение - одинаково большие части этого проекта, давайте сначала рассмотрим теорию.
Мозг куба - это Arduino Nano. Он обеспечивает достаточное количество входов / выходов для взаимодействия с используемыми драйверами светодиодов, а также для установления соединения Bluetooth с модулем HC-05 и другим управляющим оборудованием. Если вы смотрели на другие сборки LED Cube, вы знаете, что большинство людей используют простые регистры сдвига для хранения значений яркости цветов отдельных светодиодов. В этой сборке не используются регистры сдвига, а используются так называемые драйверы светодиодов «TLC5940». Как мы увидим позже, это сэкономит нам много времени, а также сэкономит массу дополнительного оборудования (например, резисторов).
Базовая функциональность управления кубом использует мультиплексирование. В этом случае мы мультиплексируем 6 слоев куба, что означает, что все аноды (+) всех светодиодов в слое подключены, тогда как отдельные катоды всех светодиодов в одном столбце подключены снизу. Это означает, что если вы хотите зажечь светодиод в положении x = 1, y = 2, z = 3, цвет: зеленый, вам необходимо обеспечить 5 В на аноде уровня 3 и подключить GND к катоду столбца, соответствующего Зеленая булавка x = 1, y = 2. Таким образом, в действительности в какой-то момент времени фактически включен только один слой куба, но, как вы увидите позже в коде, мы выключаем и включаем отдельные слои так быстро, что наш глаз думает, что включен весь куб..
Для управления яркостью, анимацией и т. Д. Мы используем модуль Bluetooth HC-05, подключенный к Arduino Nano. Использовать модуль с Arduino очень просто, так как вам нужно только 4-контактное соединение, и вы можете просто подключить модуль через последовательную связь по умолчанию Arduino. Ближе к концу этой инструкции вы увидите, насколько легко написать собственное приложение Bluetooth для управления кубом.
ПРИМЕЧАНИЕ
На моей схеме печатной платы Arduino вы также можете увидеть небольшую схему для взаимодействия с микросхемой MSGEQ7 для обработки аудиовхода, это абсолютно не обязательно для реального куба и является просто дополнительной функцией, которую я добавил, поэтому вы можете просто игнорировать схему с пометкой с "MSGEQ7"
Шаг 2: Оборудование: сборка светодиодного куба
Итак, давайте посмотрим, как построить сам куб, прежде чем говорить о схеме управления вокруг Arduino Nano.
Список деталей для конструкции куба:
- 216x RGB светодиод (общий анод) (AliExpress / Ebay) -> 6x6x6 = 216
- Ленточный кабель (1 м 40 контактов должно быть достаточно) (AliExpress / Ebay / Amazon)
- Женский и мужской заголовки (минимум 4x40pin) (AliExpress / Ebay / Amazon)
- Луженая медная / серебряная проволока 0,8 мм (~ 25 метров) (AliExpress / Ebay / Amazon)
- Термоусадочная трубка (AliExpress / Ebay / Amazon)
Первое, что нужно сделать, а теперь это утомительно, но необходимо, мы должны протестировать светодиоды. Для этого мы просто подключаем источник питания, например, блок батарей 9 В с зажимом к борду. Как вы можете видеть на рисунке 3, самый длинный вывод светодиодов - это анод (+), поэтому вы подключаете этот вывод к + 9В батареи. Теперь перед подключением GND к отдельным цветным катодам (красный, зеленый, синий) добавьте резистор 220 Ом к каждому катоду, чтобы ограничить ток. Теперь повеселитесь, протестировав все цвета всех 216 светодиодов.
На следующем этапе мы подготовим протестированные светодиоды, чтобы потом легко собрать их в столбцы.
Шаг 3: светодиодные ряды
Прежде чем мы сможем припаять светодиоды в соответствующие ряды, нам нужно согнуть и отрезать провода.
Как вы можете видеть на первом рисунке, я просто просверлил 8-миллиметровое отверстие (для 8-миллиметровых светодиодов) в дереве и просверлил 3 очень маленьких сверла слева от отверстия для светодиода и еще одно - справа от отверстия. Эти сверла служат маркерами для правильного сгибания проводов и должны находиться на расстоянии около 1 см от середины отверстия для светодиода.
Эта техника вдохновлена Стивом Мэнли, вы можете найти видео, на котором он это делает, в небольшом варианте на YouTube.
Прежде чем обрезать и сгибать провода вокруг сверл, как показано на рисунках 2 и 3, убедитесь, что ориентация проводов соответствует рисунку 1 (синий вверху слева, затем зеленый, затем анод + вправо и красный снова слева). Круг, который вы согнули в проводах, должен иметь достаточно большой диаметр, чтобы соответствовать луженой медной проволоке (0,8 мм). Этот шаг значительно упрощает аккуратную пайку светодиодов.
Теперь, когда все светодиоды подготовлены, мы хотим собрать их в ряды по 6 штук, где подключены аноды (+):
- Сделайте небольшой зажим, как показано на рисунке 6, просверлите 6 отверстий (диаметром 0,8 мм) на расстоянии 2,5 см до следующего отверстия. Это позволяет нам одновременно помещать в приспособление 6 светодиодов.
- Для подключения анодов нам понадобится прямой кусок луженой медной проволоки длиной ~ 16 см (с некоторым запасом). Чтобы проволока получилась ровной и ровной, вы можете закрепить один конец проволоки, например, в электродрели, закрепить около 2 м проводов за раз на столе, затем удерживая дрель так, чтобы проволока была натянута и туго натянута, и включите дрель. в течение нескольких секунд очень быстро распрямляет проволоку. Затем вы можете разрезать проволоку прямо в том месте, где вы закрепили деталь. Вы также можете использовать два плоскогубца и за один раз затягивать более мелкие кусочки проволоки, но это намного утомительнее.
- Когда у вас есть провода длиной 16 см, вы пропустите их через анодные (+) отверстия светодиодов в зажимном приспособлении и припаяйте анодные контакты к проводу (Рисунок 7).
На весь кубик нам понадобится 6х6 = 36 таких светодиодных рядов.
Шаг 4: сборка слоя
Как я уже упоминал ранее, мы мультиплексируем слои куба, но для сборки проще построить 6 стенок из светодиодов 6x6, а затем собрать их рядом друг с другом и просто пропустить один луженый медный провод, соединяющий аноды ряды в слой вместе.
Помните, что этот шаг требует много времени и терпения, чтобы сделать все правильно, в общей сложности вам придется припаять около 1000 паяных соединений для сборки, так что не торопитесь!
Чтобы построить светодиодную стену:
- Для приспособления: нам понадобится кусок дерева с 6 резными линиями, чтобы уложить 6 рядов один над другим, чтобы построить стену. Само приспособление можно увидеть на фото 2 (расстояние между рядами: 2,5 см).
- Вы вставляете 6 рядов светодиодов в резьбу так, чтобы анодный провод был направлен вниз в вырезанную линию, так чтобы 3 катода (R, G, B) были обращены вверх.
- Чтобы соединить катоды, расположенные друг над другом (см. Рисунок 2), нам понадобится еще несколько проводов (так что снова 6 столбцов x 3 катода x 6 стенок = 108 кусков луженой проволоки, как описано в последнем шаге (2.) (также такая же длина))
- Проденьте кусочки проводов из нижней части колонны через отверстия катодов в верхний ряд и припаяйте провод к каждому светодиоду.
Сделайте это 6 раз, чтобы получить 6 Стен из светодиодов.
Теперь мы можем собрать стены в настоящий куб. Но чтобы удержать куб, нам нужно построить что-то вроде плоскости земли. Для этого я просто использовал тонкую фанеру и просверлил в ней небольшие отверстия диаметром 0,8 мм, чтобы вставить провода, свисающие с самых нижних светодиодных рядов (для всех 6 светодиодных стен). Измерения отверстий одного светодиода задокументированы в шаге 3, а расстояние между каждым светодиодом составляет 2,5 см.
Теперь, когда отверстия на месте, возьмем первую стену и продвинем ее в отверстия в самом левом углу фанеры. Светодиодный ряд внизу должен сидеть прямо на дереве, чтобы в конце все стены были выровнены одинаково.
Проделайте то же самое с остальными светодиодными стенами, но помните, что аноды стен всегда обращены в одном направлении. (на рисунке 3 все аноды стен обращены влево)
Как только весь куб будет на месте, нам нужно спаять аноды каждого слоя вместе. Для этого мы берем еще один кусок прямой проволоки размером ~ 16 см и кладем ее поверх первого слоя так, чтобы проволока касалась всех анодных проволок 6 стен одним слоем. Следите за тем, чтобы новый провод не касался катодов. Припаяйте провод на место и повторите то же самое с 5 оставшимися слоями.
Шаг 5: Подключение куба
Детали для платы драйвера светодиода:
- 7 х TLC5940
- Конденсаторы 6/7 x 10 мкФ
- 2 конденсатора по 1000 мкФ
- 7 резисторов по 2,2 кОм
- 7 x 28-контактных разъемов IC
- Конденсаторы 7 x 0,1 мкФ
- Ленточный кабель
Переходя к схемам управления, давайте сначала взглянем на плату светодиодного драйвера. Как упоминалось ранее, нам нужно 7 TLC5940, подключенных к Arduino Nano. Все микросхемы TLC5940 соединены в гирляндную цепочку, что означает, что все контрольные выводы драйверов соединены между собой (например, ПУСТОЙ вывод первого TLC подключен к ПУСТОЙому выводу второго, третьего, четвертого,… TLC) и все подключены к Arduinow с те же провода, за исключением последовательного входа, который сначала подключается от цифрового вывода Arduino к первому TLC, затем вывод последовательного выхода этого первого TLC подключается к выводу SIN второго TLC и так далее (см. рисунок 4) …
Таким образом, схема платы TLC довольно проста, как вы можете видеть на прилагаемой схеме.
(ЕСЛИ ВЫ ХОТИТЕ ТРАВИТЬ ДОСКУ, ПЕРЕХОДИТЕ К ШАГУ 8)
Я также прикрепил снимок экрана схемы в frizz, который включает метки контактов, а также файлы GIMP.xcf со слоями для каждого соединения Control Pin.
Начните с пайки всех разъемов IC на место, затем добавьте конденсаторы 100 нФ к каждому TLC, затем резисторы 2,2 кОм к IREF и GND и 7-контактный заголовок в правом верхнем углу. После этого вы можете просто следовать файлу.xcf, начиная с «уровня SIN» в файле GIMP, который демонстрирует, как соединить выводы Serial IN / OUT драйверов с помощью ленточных кабелей, затем включить слой CLK в GIMP и так далее. Убедитесь, что у вас есть хорошие соединения контактов + и - с контактом Заголовок в правом верхнем углу Остальная часть схемы должна быть понятной, но убедитесь, что вы добавили достаточно конденсаторов 1000 мкФ и 10 мкФ на плату, это не так актуально, где именно вы их позиционируете.
Как только эта плата будет готова, вы можете перейти к плате Arduino на следующем шаге.
Шаг 7: Плата управления Arduino + Bluetooth
Детали для платы управления:
- 6 полевых МОП-транзисторов IRF 9540 с P-каналом
- Конденсаторы 1 x 10 мкФ
- 1 x 1000 мкФ конденсаторы
- 7 резисторов по 2,2 кОм
- 1 резистор 1 кОм
- 2 x 14 гнездовой контактный разъем
- 1 х Arduino Nano
- 1 х 1N4001 диод
- 1 x 0,1 мкФ конденсаторы
- 1 x гнездо постоянного тока для монтажа на печатной плате
- 1 х модуль Bluetooth HC-05
- 1 х 3,5 мм аудиоразъем
Плата управления Arduino в основном обрабатывает мультиплексирование, а также обеспечивает аналог штырькового заголовка платы драйвера светодиода.
Пайка на перфокартоне:
- Поместите два контактных разъема типа «мама», которые будут служить разъемом для Arduino в середине платы.
- Поместите 6 полевых МОП-транзисторов в ряд рядом друг с другом на правой стороне Arduino (сторона с аналоговыми выводами) и добавьте резистор 2,2 кОм между первым и последним выводом каждый.
- Теперь поместите 6-контактный разъем перед полевыми МОП-транзисторами (середина ряда) и подключите 6 контактов DRAIN полевых транзисторов (средний контакт) к заголовку, а контакты GATE (левый контакт) полевых транзисторов - к соответствующим аналоговым контактам Arduino..
- Затем припаяйте 7-контактный разъем для подключения LEDDriver на другой стороне Arduino, оставьте немного места для кабелей и припаяйте все соединения от Arduino к контактному разъему.
- Добавьте несколько конденсаторов (1-2 1000 мкФ, 1 10 мкФ, 100 нФ рядом с Arduino) для возможных утечек тока.
- Припаяйте 4-контактный разъем рядом с задней стороной Arduino для модуля HC-05 и выполните 4 подключения к VCC, RX, TX, GND и не забудьте сделать делитель напряжения с контакта RX на HC-05 и вывод TX Arduino (см. здесь)
- Поместите разъем постоянного тока на любой край платы с переключателем рядом и подключите правый контакт переключателя к контакту + разъема постоянного тока.
- Наконец, выполните все необходимые подключения питания от контакта GND разъема постоянного тока и правого контакта переключателя (VCC) к Arduino, полевым МОП-транзисторам, конденсаторам и HC-05, как показано на схеме. Не забудьте добавить диод, который только дает питание от вывода VCC переключателя для подачи на вывод Arduinos 5V, а не наоборот (это защищает Arduino при программировании через USB-соединение).
Для подключения питания я использовал разъем питания постоянного тока с простым переключателем, вы также можете использовать разъем USB, если хотите. Я передал разъем питания на другую небольшую печатную плату, чтобы она хорошо вписывалась в мой деревянный корпус, но вы можете просто вставить его напрямую на плату Arduino. Как упоминалось в первом шаге, на схеме также присутствует схема подключения MSGEQ7, но просто игнорируйте ее, если вы не используете MSGEQ7. (Для получения дополнительной информации о функциональности MSGEQ7 щелкните здесь)
Не забудьте сделать еще один 7-контактный ленточный кабель с штыревыми разъемами на каждом конце для соединения платы Arduino с платой драйвера
Шаг 8: Дополнительно: травление печатных плат
Так что, если вам не нравится паять много кабелей, конечно, вы также можете протравить необходимые печатные платы, если хотите.
В моем Cube плата Arduino и плата разъема Power / Audio - это выгравированные платы с использованием прикрепленных файлов схемы / EAGLE. В первый раз я допустил ошибку в схеме, поэтому мне пришлось переделать плату драйвера светодиода, как я сделал на последнем шаге. Протравливание платы вместо использования перфорированной платы не дает огромных преимуществ, поэтому не стесняйтесь либо протравить плату, либо припаять ее к перфорированной плате.
В прикрепленном.zip файле вы можете найти как файл BOARD, так и файл SCHEMATIC.
Обратите внимание, что следы верхнего слоя (красные) должны быть проволочными перемычками (так как я не могу протравить двухсторонние платы дома). На немаршрутизированных следах показаны соединения, которые должны быть выполнены через кабели для гнездовых контактных разъемов.
Схема включает функцию MSGEQ7, которую можно просто опустить, удалив раздел схемы, помеченный «(MSGEQ7)» на снимке экрана схемы.pdf.
Шаг 9: подключение куба
Чтобы подключить все части куба, начните с подключения 7-контактного кабеля к плате Arduino и плате драйвера (убедитесь, что ориентация правильная!). Затем подключите модуль HC05 к 4-контактному разъему и подключите силовую плату, если она отключена.
Чтобы подключить разъемы 7x16 контактов куба, убедитесь, что вы начали с первого TLC (того, чей контакт SIN напрямую подключен к Arduino). Найдите правильный 16-контактный кабель от куба и подключите его к первому контакту TLC (убедитесь, что кабель для катода № 0 подключен к первому контакту TLC OUT0!). Продолжайте и подключите другие 16-контактные кабели к соответствующим разъемам TLC в правильном порядке.
И последнее, но не менее важное: подключите 6-контактный кабель для анодов от куба к 6-контактному разъему на плате управления рядом с полевыми МОП-транзисторами.
Чтобы закончить Куб, я добавил стены к корпусу еще немного фанеры с черной краской и приклеил их.
Теперь мы закончили со всем оборудованием, необходимым для всей сборки!
Шаг 10: Программное обеспечение: цикл мультиплексирования
Теоретически Arduino постоянно выполняет следующий цикл:
- Если LayerDuration прошел, загрузите значения для следующего уровня в TLC, выключите текущий слой, включите следующий слой, сбросьте LayerDuration, зафиксируйте новые значения в TLC.
- Если FrameDuration прошел, загрузите новый кадр текущей анимации, сохранив значения для всех светодиодов и цветов в буфере ValueLed , сбросьте FrameDuration
- Если данные Bluetooth доступны, отреагируйте на них (изменение анимации, яркости и т. Д.) (Подробнее позже)
Как видите, основное внимание в коде уделяется скорости. Важно, чтобы время на смену слоя было минимальным.
Чем быстрее вы включите / выключите слои, тем больше «рамок» вы получите. для такого куба RGB LED 6x6x6, как этот, я понял, что длительность слоя 1700 микросекунд. достаточно хорош, чтобы свести к минимуму мерцание, и его следует оставить на этом значении. FrameDuration контролирует большую часть скорости анимации, поэтому ее можно изменять для разных анимаций.
На следующем шаге мы рассмотрим, как мы можем писать собственные анимации.
Шаг 11: пользовательские анимации
Чтобы реализовать анимацию, мы должны устанавливать в буфере ValueLed значения, которые мы хотим для следующего кадра, каждый раз, когда проходит FrameDuration. Мы делаем это, вызывая функцию макроса «SETLED (x, y, z, COLOR, Brightness)».
x, y, z - это координаты светодиода, который мы хотим установить, ЦВЕТ (КРАСНЫЙ, ЗЕЛЕНЫЙ или СИНИЙ) - это цвет, который мы хотим установить, а Яркость - это фактическое значение для этого конкретного цвета, который мы установили.
Например, чтобы реализовать анимацию, которая просто случайным образом отображает красный, зеленый и синий цвета по всему кубу, вы можете просто сделать это:
void randomLedsFull () {
for (uint8_t j = 0; j <CUBE_SIZE; j ++) {for (uint8_t x = 0; x <CUBE_SIZE; x ++) {for (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); УСТАНОВЛЕН (x, y, j, rand, maxBright); }}}}
Этот метод вызывается каждый раз, когда проходит FrameDuration, и выбирается из команды switch-case в loop (). Если вы пишете новые анимации, вы можете добавлять их, просто добавляя их в корпус переключателя.
Шаг 12: Дополнительно: AnimationCreator
Я также написал AnimationCreator, используя JavaFX и Java3D.
Он упрощает создание и редактирование пользовательских анимаций, предоставляя простой для понимания пользовательский интерфейс.
Вы можете создавать, редактировать, переименовывать и переконфигурировать анимацию для светодиодных кубов 4x4x4, 6x6x6 или 8x8x8
Чтобы создать новую анимацию, просто нажмите Файл> Создать, в разделе «Куб» вы можете выбрать размер куба, чтобы установить цвет светодиода, выберите нужный цвет с помощью палитры цветов слева, а затем щелкните левой кнопкой мыши нужные светодиоды. этот цвет для этого кадра. Чтобы добавить еще один кадр, нажмите «Далее» или «+». Остальные элементы управления пользовательского интерфейса говорят сами за себя, флажки рядом со слоями кубов предназначены для проверки того, на какие слои следует повлиять смещение и «Сохранить кадр». Просто проверьте это, и вы во всем разберетесь.
Кроме того, чтобы имитировать анимацию, вы можете нажать кнопку «Просмотр 3D», которая откроет другое окно с Java3D-моделью куба. Вы можете вращать камеру, удерживая левую кнопку мыши (нажмите R, чтобы сбросить камеру). Чтобы воспроизвести / приостановить анимацию, нажмите клавишу P, для сброса анимации нажмите Q. Текстовое поле под кнопкой «Просмотр 3D» обозначает текущий FrameTime, следовательно, скорость вашей анимации.
Когда вы закончите с анимацией, дайте ей имя и нажмите «Файл»> «Сохранить как…» и сохраните анимацию в той же папке, что и эскиз Cubo_Control.ino.
Чтобы включить новую анимацию в эскиз, откройте Cubo_Control.ino и добавьте следующий код поверх эскиза:
#include "RGBit.h" // Заменить
Прокрутите вниз до BTEvent () и добавьте оператор case в switch-case анимаций.
switch (curAnim) {
… Случай 10: animation = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; перерыв; case 11: // ВАША НОВАЯ АНИМАЦИЯ animation = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; перерыв; }
Шаг 13: приложение Bluetooth
Чтобы фактически управлять кубом, благодаря модулю HC-05 довольно просто создать приложение Bluetooth для подключения вашего телефона к кубу.
Ссылка на приложение: Github
Приложение имеет открытый исходный код, поэтому не стесняйтесь добавлять дополнительные анимации / функции самостоятельно.
- Запустите приложение, оно просит включить Bluetooth
- Нажмите «Поиск», и появится список доступных Bluetooth-соединений. Найдите модуль HC-05 в кубе и щелкните по нему.
- Если при попытке подключения к кубу возникла ошибка, попробуйте выполнить сопряжение модуля HC-05 в настройках Bluetooth вручную.
- После подключения приложение переключается на экран управления, и соединение Bluetooth установлено.
Органы управления
- Скорость и яркость: измените значения ползунка, чтобы ускорить / замедлить анимацию или изменить яркость.
- Анимации: нажмите кнопку, чтобы изменить анимацию, по умолчанию анимации зацикливаются (начиная с верхнего левого угла кнопка соответствует currAnim)
- Прокрутка текста: нажмите кнопку «Текст», чтобы открыть диалоговое окно для ввода текста, который будет прокручиваться по кубу.
- Команда: вы можете вводить команды вручную с помощью текстового поля Command (синтаксис смотрите в методе BTEvent () Cubo_Control.ino)
- Змея: классическая игра в змейку (красный: яблоко, зеленый: голова змеи, синий: подкрасться хвостом) (элементы управления: 4 кнопки направления, вверх и вниз запускается поворотом телефона вперед (вверх) или назад (вниз))
- Аудиовизуализатор: MSGEQ7 используется для визуализации 6 звуковых полос с разъема AUX (кнопка для анимации 7)
Шаг 14: демонстрация
Рекомендуемые:
Игра в рулетку DIY 37 Leds Arduino: 3 шага (с изображениями)
DIY 37 Leds Arduino Roulette Game: Roulette - это игра в казино, названная в честь французского слова, означающего маленькое колесо
Защитный шлем Covid, часть 1: введение в схемы Tinkercad !: 20 шагов (с изображениями)
Защитный шлем Covid, часть 1: Введение в схемы Tinkercad !: Привет, друг! В этой серии из двух частей мы узнаем, как использовать схемы Tinkercad - забавный, мощный и обучающий инструмент для изучения того, как работают схемы! Один из лучших способов учиться - это делать. Итак, сначала мы создадим наш собственный проект: й
Интернет-радио BOSEBerry Pi: 4 шага (с изображениями)
Интернет-радио BOSEBerry Pi: я люблю слушать радио! Я использовал DAB-радио в своем доме, но обнаружил, что прием был немного неоднородным, а звук продолжал прерываться, поэтому я решил создать свое собственное интернет-радио. У меня дома сильный сигнал Wi-Fi, и цифровой братан
Часы с 4 стрелками "Уизли": 11 шагов (с изображениями)
Часы локации «Уизли» с четырьмя стрелками: Итак, с Raspberry Pi, который был в ходу какое-то время, я хотел найти хороший проект, который позволил бы мне наилучшим образом использовать его. Я наткнулся на эти замечательные инструкции по созданию часов Weasley Location от ppeters0502 и подумал, что
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: 7 шагов (с изображениями)
Как: установка Raspberry PI 4 Headless (VNC) с Rpi-imager и изображениями: я планирую использовать этот Rapsberry PI в кучу забавных проектов еще в моем блоге. Не стесняйтесь проверить это. Я хотел вернуться к использованию своего Raspberry PI, но у меня не было клавиатуры или мыши в моем новом месте. Прошло много времени с тех пор, как я установил Raspberry