Съдържание:

Машина за шум Arduino: 4 стъпки
Машина за шум Arduino: 4 стъпки

Видео: Машина за шум Arduino: 4 стъпки

Видео: Машина за шум Arduino: 4 стъпки
Видео: Управление моторами с Arduino 2024, Ноември
Anonim
Машина за шум Arduino
Машина за шум Arduino
Машина за шум Arduino
Машина за шум Arduino
Машина за шум Arduino
Машина за шум Arduino

Намерих малък говорител, докато събарях стар компютър за рециклиране и реших да видя как звучи като използвам функцията Arduino Tone (). Започнах с един 10Ω потенциометър за контрол на височината и започнах да вдигам шум. Функцията Tone () използва прост импулсен модел. Включва и изключва звука на различни честоти в квадратна вълнова форма. Имах още два потенциометра, така че ги добавих и ги използвах, за да контролирам продължителността на тона. Един за контрол на дължината на тона и един за контрол на безшумното пространство между тоновете. По принцип се използва друг квадратен вълнов модел, но на много по-ниска честота. Можете да постигнете голямо разнообразие от шум с тази схема. Работи добре и с пиезо зумер, но му липсва басовата характеристика на високоговорителя.

Стъпка 1: Части, които ще ви трябват

Arduino Uno

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

1 Малък високоговорител или пиезо зумер

1 Превключвател с бутон

3 10Ω потенциометъра

1 22Ω резистор

1 10kΩ резистор

Стъпка 2: Изградете веригата

Изградете веригата
Изградете веригата

Свържете макета към вашия Arduino 5V щифт и GND. Поставете превключвателя с бутон отдясно или отляво на макета и го свържете към 5V и заземете, като използвате 10kΩ резистор. Свържете проводник от веригата на превключвателя към щифт 2 на вашия Arduino.

От другата страна на макета настройте високоговорителя/пиезо веригата на 5v и заземете с помощта на резистора 220Ω. Този резистор контролира тока, като по този начин контролира силата на звука; можете да опитате различни резистори тук за по -голям или по -нисък обем.

Подредете потенциометрите си в центъра на дъската, като дадете достатъчно място, за да се заиграете с копчетата. Всеки пот ще трябва да бъде свързан към 5V и земя, а централните щифтове на всеки свързан към аналогови щифтове A0, A1 и A2

Стъпка 3: Кодът

Потенциометърът или гърнето е променлив резистор, който, когато е свързан с Arduino, ще върне стойност между 0 и 1023. Ще използваме функцията map (), за да променим тези стойности според нашите собствени нужди. Функцията map () приема пет аргумента и в нашия случай трябва да пренасочим диапазона между 220 и 2200, за да произведем разумен звуков звук.

Функцията изглежда така:

карта (пот, 0, 1023, 220, 2200);

Можете да си поиграете с последните две стойности за по -високи и по -ниски честоти, но внимавайте да не разстроите кучето си.

Noise_Machine.ino

/* Шумомашина, използваща три потенциометра, свързани към аналогови входове
и пиезо или малък високоговорител. Бутонът включва шума, потенциометрите
контролирайте височината с помощта на функцията Arduino tone () и две забавяния
стойности, които контролират дължината на всеки тон и дължината между тях
всеки тон. Потенциометрите дават аналогови стойности, които се променят
използвайки функцията map () в по -големи или по -малки диапазони, за да ви подхожда
музикални вкусове.
Този код е обществено достояние.
Мат Томас 2019-04-05
*/
constint buttonPin = 2; // Бутон за бутон 2
constint високоговорител = 9; // Високоговорител или пиезо в щифт 9
int buttonState = 0; // Променливи за бутона
int potZero; // и потенциометри
int potOne;
int potTwo;
voidsetup () {
pinMode (9, OUTPUT); // Изходен пин за високоговорител/пиезо
}
voidloop () {
buttonState = digitalRead (buttonPin); // Прочетете състоянието на бутона
potZero = analogRead (A0); // Променливи за четене на аналоговите стойности
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = карта (potZero, 0, 1023, 0, 8800); // Съпоставете аналоговите показания в
int high = map (potOne, 0, 1023, 0, 100); // нови диапазони от числа и създаване
int low = map (potTwo, 0, 1023, 0, 100); // нови променливи
if (buttonState == HIGH) {// Ако бутонът е натиснат …
тон (високоговорител, htz); // Звукът е включен
забавяне (високо); // Дължина на тона
noTone (говорител); // Изключен звук
забавяне (ниско); // Време до следващия тон
} else {
noTone (говорител); // Няма звук, ако бутонът е освободен
}
}

вижте rawNoise_Machine.ino, хоствано с ❤ от GitHub

Стъпка 4: Краят

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

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