Съдържание:
Видео: Arduino Soundlab: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Невероятно е каква широка гама от невероятни звуци може да бъде генерирана с техниката на синтез на FM, дори и с обикновен Arduino. В предишна инструкция това беше илюстрирано със синтезатор, който имаше 12 предварително програмирани звука, но зрителят предположи, че би било много по-готино да има пълен контрол на параметрите на звука с потенциометри и така е!
В тази звукова лаборатория тоновете могат да се контролират чрез 8 параметъра: 4 за ADSR обвивката на силата на звука и 4 за честотната модулация, която определя текстурата.
Добавянето на 8 -те потенциометра не стана с цената на броя на клавишите: три комплекта от 8 клавиша се отчитат няколко микросекунди един след друг, за общо 24 клавиша, съответстващи на две пълни октави. Всъщност два щифта на Arduino са неизползвани и би било възможно разширяване до 40 клавиша.
Вижте видеото за това как да издавате диви звуци, ето кратък преглед:
* A = атака: времето за достигане на тона до максималната си сила на звука (диапазон 8ms-2s)
* D = затихване: време на тон да се понижи до стабилното си ниво на сила на звука (диапазон 8ms-2s)
* S = поддържане: постоянно ниво на сила на звука (диапазон 0-100%)
* R = освобождаване: време за изчезване на тон (диапазон 8ms-2s)
* f_m: съотношението на честотата на модулация към носещата честота (обхват 0.06-16) стойности под 1 водят до нюанси, по-високи стойности в обертонове
* beta1: амплитудата на FM модулация в началото на нотата (диапазон 0,06-16) малките стойности водят до незначителни вариации на звуковата текстура. големите стойности водят до луди звуци
* beta2: амплитуда на FM модулация в края на нотата (диапазон 0,06-16) Дайте на beta2 различна стойност от бета1, за да накарате звуковата текстура да се развива във времето.
* tau: скорост, с която амплитудата на FM се развива от бета1 до бета 2 (диапазон 8ms-2s) Малките стойности дават кратък удар в началото на нотата, големите стойности-дълга и бавна еволюция.
Стъпка 1: Строителство
Ясно е, че това все още е прототип, надявам се някой ден аз или някой друг да изградим този голям, силен и красив с големи ключове и истински циферблати за потенциометрите в страхотно заграждение …
Необходими компоненти:
1 Arduino Nano (няма да работи с Uno, който има само 6 аналогови входа)
24 бутона
8 потенциометра, в диапазона 1kOhm - 100kOhm
1 потенциометър от 10kOhm за контрол на силата на звука
1 кондензатор - 10microfarad електролитен
1 3,5 мм жак за слушалки
1 чип за аудио усилвател LM386
2 1000microfarad електролитен кондензатор
1 керамичен 1 микрофарад кондензатор
1 микропревключвател
1 8Ohm 2Watt високоговорител
1 прототипна дъска 10х15 см
Уверете се, че разбирате приложените схеми. 24-те бутона се свързват в 3 групи по 8, за да се четат на D0-D7 и да се активират на D8, D10 и D11. Съдовете имат +5V и са заземени на крайните кранове, а централните кранове се подават към аналоговите входове A0-A7. D9 има аудио изход и се свързва AC към 10kOhm потенциометър за контрол на силата на звука. Звукът може да се слуша директно със слушалки или да се усилва с чип за аудио усилвател LM386.
Всичко това се побира на 10x15 см прототипна платка, но бутоните са твърде близо, за да свирят добре, така че би било по -добре да се конструира по -голяма клавиатура.
Веригата може да се захранва чрез USB връзка на Arduino Nano или с външно 5V захранване. Кутия с батерии 2xAA, последвана от постепенен преобразувател, е перфектно решение за захранване.
Стъпка 2: Софтуер
Качете приложената скица в Arduino Nano и всичко трябва да работи.
Кодът е ясен и лесен за промяна, няма машинен код и прекъсвания, но има няколко директни взаимодействия с регистрите, за взаимодействие с таймера, за ускоряване на отчитането на бутоните и за контрол на поведението на ADC за отчитане на потенциометъра
Стъпка 3: Бъдещи подобрения
Идеите от общността винаги са добре дошли!
Най -много ме притесняват бутоните: те са малки и щракват силно при натискане. Наистина би било хубаво да има по -големи бутони, които да са по -удобни за натискане. Също така бутоните, чувствителни към сила или скорост, ще позволят да се контролира силата на нотите. Може би 3-посочните бутони или сензорните бутони биха могли да работят?
Други хубави неща биха били съхраняването на настройките на звука в EEPROM, Съхраняването на кратки мелодии в EEPROM също би позволило да се направи много по -интересна музика. И накрая, биха могли да се генерират по -сложни звуци, ако някой знае как да генерира перкусионни звуци по изчислително ефективен начин, това би било страхотно …
Препоръчано:
Система за предупреждение за паркиране на автомобил Arduino - Стъпки по стъпка: 4 стъпки
Система за предупреждение за паркиране на автомобил Arduino | Стъпки по стъпка: В този проект ще проектирам обикновена верига за сензори за паркиране на автомобил Arduino, използвайки Arduino UNO и HC-SR04 ултразвуков сензор. Тази базирана на Arduino система за предупреждение за автомобил за заден ход може да се използва за автономна навигация, измерване на роботи и други обхвати
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): 6 стъпки
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): Искате ли да изплашите приятелите си и да издадете крещящ шум в Хелоуин? Или просто искате да направите добра шега? Този изскачащ екран Zombies може да направи това! В тази инструкция ще ви науча как лесно да правите изскачащи зомбита с помощта на Arduino. HC-SR0
Arduino Uno хранилка за риба в 6 евтини и лесни стъпки !: 6 стъпки
Arduino Uno Feeder Feeder в 6 евтини и лесни стъпки !: Така че може да е необходима малко предистория за този проект. Хората с домашни риби вероятно са имали същия проблем като мен: почивките и забравата. Постоянно забравях да храня рибите си и винаги се опитвах да го направя, преди да отиде в
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: 11 стъпки
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: В днешно време производителите, разработчиците предпочитат Arduino за бързо развитие на прототипирането на проекти. Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Arduino има много добра потребителска общност. Arduino борда d
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем