Съдържание:
- Стъпка 1: Използвани части
- Стъпка 2: Кодът
- Стъпка 3: Стартиране на веригата
- Стъпка 4: ULN2803
- Стъпка 5: Добавяне на звук
- Стъпка 6: Заключение
Видео: Музикални феерични светлини: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
От IanCummingFollow Още от автора:
За: Обичам да правя неща от ракети до електроника. Повече за IanCumming »
Добре дошли всички
Почти е празничният сезон и редица магазини започнаха да пускат празничните си декорации. Мислех, че е крайно подходящият момент за изграждане на музикални феерични светлини!
Стъпка 1: Използвани части
Ще използвам следното:
- 12 светодиода
- 12 Резистори за ограничаване на тока
- 1 ULN 2803 Дарлингтънски транзисторен масив
- Някои джъмперни проводници
- Пиезо високоговорител
- Една дъска и
- един Arduino
- За да направя низ от феерични светлини, използвах 5 проводника от Ethernet кабел
Стъпка 2: Кодът
// GLOBAL VARS int barTime = 1200; // 8/8 = 1000ms байт nrLEDS = 4; // 4 базови светодиода, Можете да добавите много паралелни байтови светодиоди = {3, 4, 5, 6}; байтов говорител = 11; байт моделLength = 64; // модел Дължина на байт songLength = 51; const байт песен = {// Данни на Jingle Bells 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // Структурата е номер на бележка след това // NoteLength в 8 -ия байтов модел на const = {// Pattern Data 0b0001, 0b0010, 0b0100, 0b1000, // Битовете съответстват на Leds в масив 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b110, 0b110, 0b0000 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b0000, 0b0011, 0b0011, 0b0000, 0b0011 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
Първо декларирам моите променливи, като интересните са Song и Pattern.
- Песента съхранява мелодията; в случая това са Jingle bells.
- Моделът съхранява позиции за включване и изключване в битовете на стойностите в масива.
Персонализирани функции
// ФУНКЦИИ int noteToHz (int note) {// Конвертиране на бележка Nr. към Frequency float freq = 440 * (pow (1.059463094359, бележка-21)); // -21 ви дава бележка 1 в C3 (мисля) return int (freq); // Резултатите са точни до 1hz} void lightLEDs (байт PORT_X) {// Състояние на контролния светодиод за (int q = 0; q
Двете функции, които имам, ще направят следното:
- Изчислете честотата за тоналната функция в цикъла
- включва или изключва светодиодите в зависимост от стойността, предадена на функцията
Функция за настройка
void setup () {// настройка OUTPUT щифтове pinMode (високоговорител, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (светодиоди [t], OUTPUT); }}
В функцията за настройка зададох необходимите щифтове на OUTPUT.
Циклична функция
void loop () {// Музикален цикъл за (int t = 0; t <songLength; t ++) {// Бележки, дължина и възпроизвеждане на мелодията int note = noteToHz (песен [t * 2]); int length = ((песен [(t * 2) +1] * barTime) / 8); тон (високоговорител, бележка, дължина - 50); // Мигащи светлини! lightLEDs (модел [t % patternLength]); забавяне (дължина); } // Silence Loop int randomSilence = random (1000, 5000); за (int t = 0; t
Имам 2 цикъла във функцията Main Loop. Цикъл на песен и цикъл на тишина
Цикълът на песента ще прочете данните от масива с песни, ще възпроизведе нотата с помощта на тоналната функция
Песента ще,
- Прочетете данните от масива с песни,
- Пуснете бележката, като използвате тоналната функция
- Запалете светодиодите, четене на масив.
В цикъла на тишината
светят само светодиодите
Включете Arduino и качете кода. (След това го изключете от контакта)
Стъпка 3: Стартиране на веригата
Ще започна с поредицата от светлини
- Използвах проводник от Ethernet кабел и запоявах 3 светодиода паралелно четири пъти, като се уверя, че разпределям светодиодите равномерно на около 2 метра
- Запоявах анода на всеки проводник към един проводник.
- След това катодът на всеки светодиод към 4 отделни проводника. Разбира се с резистор
- Повторих този процес 3 пъти, за да получа низ от 12 светодиода и сложих щифтове за заглавки в края на 5 -те проводника
Свържете положителните и заземените релси към макета
Стъпка 4: ULN2803
Поставете чипа ULN2308 върху дъската
ULN2308 е транзисторен масив чип; от листа с данни мога да видя
- Този пин 1 е вход, който превключва щифт 18 "ON"
- Пин 2 включва 17. И т.н.
- Пин 9 е заземен
- Свържете щифт 9 на чипа към заземяващата шина
- Свържете положителната шина към клемна лента, една лента над щифт 18. (Ще видите защо след минута)
- Свържете щифт 1 на чипа към щифт 3 на Arduino
- 2 отива на 4
- 3 от чипа отива на 5 и
- 4 отива към пин 6 на Arduino
- Поставете LED низа върху дъската. Когато общият аноден проводник е свързан към лентата, свързана към 5 волта. Останалите приказни светлинни щифтове трябва да отидат на пин 18, 17, 16 и 15 на чипа.
Стъпка 5: Добавяне на звук
- Свържете пиезо високоговорителя между 2 клемни ленти
- Свържете отрицателния полюс на пиезо елемента към земята и
- Другият край на високоговорителя към щифт 11
Стъпка 6: Заключение
Имам поредица от светлини, които на случаен принцип ще свирят звънци, за да ми напомнят, че е празничният сезон.
Препоръчано:
Направи си сам музикални коледни светлини (MSGEQ7 + Arduino): 6 стъпки (със снимки)
Направи си сам музикални коледни светлини (MSGEQ7 + Arduino): Така че всяка година казвам, че ще направя това и никога няма да го направя, защото отлагам много. 2020 е година на промяна, затова казвам, че това е годината за това. Така че се надявам да ви хареса и да направите свои собствени музикални коледни светлини. Това ще бъде s
Музикални реактивни светлини за настроение: 5 стъпки (със снимки)
Музикални реактивни светлини на настроението: Въведение и фон. Обратно през първата година (пролетта на 2019 г.), исках да украся стаята си в общежитието. Дойдох с идеята да създам свои собствени светлини за настроение, които да реагират на музиката, която слушах в слушалките си. Честно казано, нямах особено вдъхновение
Дишайте: Затихващи феерични светлини в стъклен блок: 6 стъпки
Breathe: Fading Fairy Lights в стъкло
Проста нощна светлина с феерични светлини: 3 стъпки (със снимки)
Обикновена нощна светлина с феерични светлини: Използвах обикновена нощна крушка, но след това имах невероятни феерични светлини, мислех защо да не ги използвам като нощна лампа? Това също предотвратява светлината от крушката да наруши съня, ако някога съм станал през нощта и най -важното гледката е невероятна
Направи си сам музикални коледни светлини за начинаещи с Raspberry Pi: 12 стъпки (със снимки)
Направи си сам музикални коледни светлини за начинаещи с Raspberry Pi: Днес ще премина през стъпките, за да използвам малиново пи, за да накарате коледните ви светлини да мигат с музика. Само с няколко долара допълнителен материал ще ви преведа през превръщането на обикновените ви коледни светлини в светлинно шоу за цяла къща. Целта, която той