Оглавление:

Световой терменвокс Arduino в вашем доме: 8 шагов
Световой терменвокс Arduino в вашем доме: 8 шагов

Видео: Световой терменвокс Arduino в вашем доме: 8 шагов

Видео: Световой терменвокс Arduino в вашем доме: 8 шагов
Видео: Наука и технологии в образовании 2024, Сентябрь
Anonim
Arduino Light Терменвокс в вашем доме
Arduino Light Терменвокс в вашем доме

Переделка Arduino Light Theremin с

Терменвокс - это электронное музыкальное устройство, которое может определять положение рук исполнителя и создавать музыкальные звуки, при этом исполнитель даже не касается устройства. Для нашего легкого терменвокса мы собираемся адаптировать эту концепцию и создать терменвокс, который управляет цветом, а не музыкой.

Ардуино

Компьютер

Светодиоды

Фоторезистор

Резисторы

Коробка

Шаг 1: Приготовьтесь загореться

Начнем с того, что возьмем из нашего комплекта 7 светодиодов. Вы можете добавить больше, если хотите, просто убедитесь, что вы добавили дополнительный резистор и провод к открытому контакту Arduino. Имейте в виду, что Arduino не может обеспечивать большую мощность, поэтому в определенный момент добавление большего количества светодиодов просто сделает их все тусклее.

Провод заземления / дополнительные светодиоды

Начните с добавления провода между заземляющей (отрицательной «-») шиной макета и контактом GND Arduino. Это гарантирует, что все компоненты на Arduino и макетной плате теперь имеют общую землю и могут составить полную схему. Затем подключите короткую ножку (заземление) светодиода к заземляющей (отрицательной) шине макета.

Добавить резисторы и провода

Вам понадобится 7 резисторов, я решил использовать 82 Ом (серый, красный, черный), потому что светодиоды будут достаточно яркими, чтобы видеть, но не потребляют много энергии от Arduino.

Шаг 2: Схема фоторезистора

Чтобы сделать схему фоторезистора, мы снова создадим делитель напряжения. Возьмите фоторезистор и резистор на 82 Ом (серый, красный, черный). Поместите одну ногу фоторезистора на шину заземления макета, а другую ногу в любой ряд макета.

Затем добавьте провод от выхода 5 В на Arduino к другому ряду на макетной плате и установите резистор 10 кОм в качестве моста между строкой питания 5 В и рядом фоторезисторов.

Наконец, теперь, когда мы сделали делитель напряжения, нам нужно получить сигнал от делителя к Arduino, поэтому возьмите другой провод и подключите один конец к фоторезистору и ряду резисторов 10 кОм, а другой конец к A0 (аналоговый вывод 0) на Ардуино.

Шаг 3. Кодирование, часть 1

Кодирование Часть 1
Кодирование Часть 1
Кодирование Часть 1
Кодирование Часть 1

Мой код здесь!

Чтобы закодировать световой терменвокс, мы собираемся расширить предыдущий урок по аналоговым датчикам и сделать еще один шаг, заставив один датчик запускать несколько действий светодиода. Сначала загрузите прикрепленный LED.ino и откройте его в Arduino IDE. Для начала нам нужно инициализировать все 7 светодиодов. Я сохранил здесь довольно стандартные соглашения об именах, но вы можете маркировать светодиоды в соответствии с любым соглашением, которое вы предпочитаете.

Теперь, когда каждому светодиоду присвоено имя, нам нужно настроить наши входы и выходы.

Обратите внимание, что мы также запускаем соединение через последовательный порт, чтобы позже можно было откалибровать устройство. Значение 9600 - это скорость, с которой компьютер и Arduino взаимодействуют друг с другом. Это называется скоростью передачи данных, о которой вы можете узнать больше в разделе дополнительных ресурсов.

Шаг 4. Кодирование, часть 2

Кодирование, часть 2
Кодирование, часть 2

Основываясь на коде аналогового датчика, мы собираемся использовать ту же функцию светодиода, но нам нужно немного расширить ее, чтобы можно было разместить большее количество светодиодов. Для этого мы хотим увеличить количество параметров функции и убедиться, что мы запускаем дополнительные контакты.

В этой функции состояния светодиода у нас есть параметры w1, w2, w3, w4, w5, w5, w6 и w7. Установка их на HIGH или LOW в основном цикле с включением или выключением этих светодиодов.

Шаг 5: кодирование, часть 3

Кодирование, часть 3
Кодирование, часть 3

Давайте перейдем к сути этого кода и погрузимся в основной цикл. Мы знаем, что хотим, чтобы разные светодиоды загорались в зависимости от расстояния, на котором ваша рука находится от датчика. Это означает, что больше светодиодов должно загореться, когда на датчик попадает меньше света (когда ваша рука закрывает его). Как мы видели в предыдущих уроках, значение АЦП схемы фоторезистора увеличивается с уменьшением освещенности, поэтому мы хотим структурировать наш код таким образом, чтобы при увеличении значения АЦП загоралось больше светодиодов.

Уф, это был умопомрачитель! Давайте посмотрим на код, чтобы понять, что нам нужно.

Аааа, теперь в этом больше смысла. Мы постоянно проверяем значение photoPin и загораем все больше и больше светодиодов, чем выше это значение. Как вы увидите в видео на следующем шаге, эти значения по умолчанию очень хорошо работали для меня с окружающим освещением в комнате, но вам, возможно, придется немного поиграть с этими значениями, чтобы они реагировали на расстояние вашей руки. так, как вы хотите.

Шаг 6: тест на хлебной доске

Давайте загрузим код в Arduino и поиграем с нашим новым терменвоксом.

Шаг 7: Изготовление корпуса терменвокса / части проводки терменвокса

Основная часть терменвокса - бумажная коробка. Затем я сделал 7 разрезов, разделив их ножом и ножницами. Затем я проверяю, подходят ли светодиоды.

Соедините оригинальный провод с другим, чтобы он был достаточно длинным, чтобы вставить его в отверстие, которое вы только что сделали.

Шаг 8: световой терменвокс

Теперь, когда все подключено, давайте попробуем наш новый световой терменвокс:)

Рекомендуемые: