Ноты для пищалки ардуино

Мелодии для Ардуино. Проекты. Ардуино

Привет! Мы уже знаем как извлечь из Ардуино звук. И даже собрали простое пианино с помощью Ардуино. А сегодня посмотрим как написать готовые мелодии на Ардуино в программе. А также, какие мелодии уже есть на просторах интернета.

В предыдущем уроке мы научились генерировать звук. Посмотрите этот урок, если уже забыли его или пропустили. Сегодня мы будем использовать его опять.

Для выполнения этого урока нам понадобятся

  • Ардуино Uno
  • Макетная плата
  • Перемычки
  • 1 резистор номиналом 150 Ом
  • Потенциометр 10 кОм
  • Динамик 8 Ом
  • Кабель USB

Программа и схема

Соберем ту же схему из предыдущего урока. Она довольно проста.

Принципиальная схема подключения динамика к ардуино

Мы уже знаем, что такое звук, как работает динамик и, в конце концов, знаем как извлечь звук из Ардуино.

Теперь осталось написать программу, которая будет генерировать мелодию на Ардуино и воспроизводить ее на динамике. Например, простая мелодия из книги Джереми Блюма.

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

В этом примере ноты и длительность их звучания собраны в массивы. А в главный функции setup() управление мелодией происходит в цикле for(). Такой способ намного удобнее, чем запись мелодии построчно.

Другие мелодии

Посмотрим какие еще мелодии можно сыграть на Ардуино.

Главная тема супер братьев Марио

Имперский марш из Звездных войн

В лесу родилась елочка

Заключение

Как видите, на Ардуино можно сыграть почти любую мелодию. Но на этом музыкальные возможности Ардуино не исчерпываются. И если подключить дополнительные модули, то можно проиграть и mp3 аудио файлы. В будущем мы попробуем это сделать.

Источник

Играем ноты на пищалке с Arduino

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

Вы видите динамик-пищалку (BUZZER), проводники черный на GND и красный на двенадцатом пине.

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

Для этого нам нужно будет объявить массив, который у нас будет называется мелодия, в нём будут перечислены ноты, которые будут идти по порядку их здесь 8 штук.

Также объявим переменную типа int с названием duration , это у нас будет длительность 500 миллисекунд.

В setup мы ничего не пишем, а в подпрограмме loop у нас будет работать цикл, в котором счетчик thisNote будет увеличиваться на единицу от нуля до восьми.

Будем использовать специальную функцию tone , которая на двенадцатом пине будет по одному проигрывать ноту из массива с длительностью равной 500 миллисекундам.

Так же в цикле делаем задержку в одну секунду, или 1000 миллисекунд, и добавим ещё одну задержку после цикла в 2 секунды, чтобы то у нас проигрывалась мелодия с паузой.

Но нам нужно теперь для этих констант написать библиотеку, этот элемент подключается через #include .

Добавим такую библиотеку, который пока у нас нет, сохраним наш скетч, нажмем комбинацию клавиш ctrl+Shift+N, добавим название нового файла pitches.h , OK.

Теперь нужно будет перейти на официальный сайт Arduino, сделать это нужно будет один раз, по этой ссылочке, и здесь нужно будет скопировать содержимое этой библиотеки в наш файл. Здесь в виде констант объявлены ноты с частотой звучания или высотой тона.

Сохраним нашу библиотеку. Ну и теперь можно подключать Arduino, выполнить проверку, всё отработало и теперь загрузим скетч. Мелодия повторяется через 2 секунды, интервал между нотами 1 секунда. Меняя параметры длительности, получится другое звучание. Можно составить какую-то мелодию, если сделать меньше задержку, ну а куда применить данную пищалку зависит от вашей фантазии.

Смотрите видео: Играем ноты на пищалке с Arduino

Источник

8 битный Имперский марш на ARDUINO

Kulhaker478

Админ качалки

Привет , сегодня в этой теме я покажу как сыграть 8 битный (или что то на него похожее) Имперский марш с помощью платформы ARDUINO и бузера-пищалки от материнской платы
Этой темы не было если не тема spais спасибо)

Что такое ARDUINO я расскажу в отдельной теме , а пока что я покажу как что скачать и куда подсоединить

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

У меня китайский клон uno с чипом от nano. Дрова соответственно нужны для nano

Скачиваем и устанавливаем тут всё по стандарту

Как установите драйвер заходите в диспетчер устройств и ищем пункт COM и LPT порты
И видим устройство в моём случаи USB SERIAL CH340 и рядом COM порт к которому подключена плата, опять же в моём случаи это порт 3, но у вам может быть какой угодно !

Посмотрели к какому порту подключена плата и запомнили , потом нам это пригодится

Далее для загрузки кода в ARDUINO воспользуемся официальной программой ARDUINO IDE

(версии для всех систем что очень приятно) и устанавливаем , установка стандартная, по крайней мере для шиндовс)

После установки запускаем программу и видим главное окно.
Вставляем код и выбираем COM порт к которому подключена ваша плата

Также выбираем версию своей платы и процессор

Жмём кнопочку загрузить (стрелочка) и код загружается в плату
Если в ходе загрузки кода не произошли ошибки то в логе снизу нам выдаст информацию сколько памяти занимает код (скетч)

Скачали, загрузили , но кто будет нам песню воспроизводить ?

В моём случае это пищалка от мат платы.
Кто не знает что такое pc спикер ознакомитесь с историей —

Источник

Мелодии для Ардуино. Проекты. Ардуино

Привет! Мы уже знаем как извлечь из Ардуино звук. И даже собрали простое пианино с помощью Ардуино. А сегодня посмотрим как написать готовые мелодии на Ардуино в программе. А также, какие мелодии уже есть на просторах интернета.

Содержание

  • Для выполнения этого урока нам понадобятся
  • Программа и схема
  • Другие мелодии
  • Главная тема супер братьев Марио
  • Имперский марш из Звездных войн
  • В лесу родилась елочка
  • Заключение

В предыдущем уроке мы научились генерировать звук. Посмотрите этот урок, если уже забыли его или пропустили. Сегодня мы будем использовать его опять.

Для выполнения этого урока нам понадобятся

  • Ардуино Uno
  • Макетная плата
  • Перемычки
  • 1 резистор номиналом 150 Ом
  • Потенциометр 10 кОм
  • Динамик 8 Ом
  • Кабель USB

Программа и схема

Соберем ту же схему из предыдущего урока. Она довольно проста.

Мы уже знаем, что такое звук, как работает динамик и, в конце концов, знаем как извлечь звук из Ардуино.

Теперь осталось написать программу, которая будет генерировать мелодию на Ардуино и воспроизводить ее на динамике. Например, простая мелодия из книги Джереми Блюма.

# include «pitches.h»
const int SPEAKER=9;

int notes[] = <
NOTE_A4, NOTE_E3, NOTE_A4, 0,
NOTE_A4, NOTE_E3, NOTE_A4, 0,
NOTE_E4, NOTE_D4, NOTE_C4, NOTE_B4, NOTE_A4, NOTE_B4, NOTE_C4, NOTE_D4,
NOTE_E4, NOTE_E3, NOTE_A4, 0
>;

int times[] = <
250, 250, 250, 250,
250, 250, 250, 250,
125, 125, 125, 125, 125, 125, 125, 125,
250, 250, 250, 250
>;

void setup() <
for (int i = 0; i

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

В этом примере ноты и длительность их звучания собраны в массивы. А в главный функции setup() управление мелодией происходит в цикле for() . Такой способ намного удобнее, чем запись мелодии построчно.

Другие мелодии

Посмотрим какие еще мелодии можно сыграть на Ардуино.

Главная тема супер братьев Марио

const int SPEAKER=9;
int notes[] = <
1318, 1318, 1318, 1046, 1318, 1568, 784,
1046, 784, 659, 880, 987, 932, 880, 784,
1318, 1568, 1750, 1396, 1568, 1318, 1046, 1174, 987,
1046, 784, 659, 880, 987, 932, 880,
784, 1318, 1568, 1750, 1396, 1568, 1318, 1046, 1174, 987,
1568, 1480, 1396, 1244, 1318, 830, 880, 1046, 880, 1046, 1174,
0, 1568, 1480, 1396, 1244, 1318, 2093, 2093, 2093,
1568, 1480, 1396, 1244, 1318, 830, 880, 1046, 880, 1046, 1174, 1244, 1174, 1046,
>;
int times[] = <
150, 300, 150, 150, 300, 600, 600,
450, 150, 300, 300, 150, 150, 300, 210,
210, 150, 300, 150, 150, 300, 150, 150, 450,
450, 150, 300, 300, 150, 150, 300,
210, 210, 150, 300, 150, 150, 300, 150, 150, 450,
150, 150, 150, 300, 150, 150, 150, 150, 150, 150, 150,
0, 150, 150, 150, 300, 150, 300, 150, 600,
150, 150, 150, 300, 150, 150, 150, 150, 150, 150, 150, 300, 450, 600,
>;
int delays[] = <
150, 300, 300, 150, 300, 600, 600,
450, 450, 450, 300, 300, 150, 300, 210,
210, 150, 300, 150, 300, 300, 150, 150, 450,
450, 450, 450, 300, 300, 150, 300,
210, 210, 150, 300, 150, 300, 300, 150, 150, 600,
150, 150, 150, 300, 300, 150, 150, 300, 150, 150, 150,
300, 150, 150, 150, 300, 300, 300, 150, 600,
150, 150, 150, 300, 300, 150, 150, 300, 150, 150, 450, 450, 450, 1200,
>;
void setup() <
for (int i = 0; i

Имперский марш из Звездных войн

const int SPEAKER=9;
int notes[] = <
392, 392, 392, 311, 466, 392, 311, 466, 392,
587, 587, 587, 622, 466, 369, 311, 466, 392,
784, 392, 392, 784, 739, 698, 659, 622, 659,
415, 554, 523, 493, 466, 440, 466,
311, 369, 311, 466, 392
>;
int times[] = <
350, 350, 350, 250, 100, 350, 250, 100, 700,
350, 350, 350, 250, 100, 350, 250, 100, 700,
350, 250, 100, 350, 250, 100, 100, 100, 450,
150, 350, 250, 100, 100, 100, 450,
150, 350, 250, 100, 750
>;
void setup() <
for (int i = 0; i

В лесу родилась елочка

int notes[] = <
NOTE_C4, NOTE_A4, NOTE_A4, NOTE_G4,
NOTE_A4, NOTE_F4, NOTE_C4, NOTE_C4,
NOTE_C4, NOTE_A4, NOTE_A4, NOTE_AS4,
NOTE_G4, NOTE_C5, 0, NOTE_C5, NOTE_D4,
NOTE_D4, NOTE_AS4,NOTE_AS4,NOTE_A4,
NOTE_G4, NOTE_F4, NOTE_C4, NOTE_A4,
NOTE_A4, NOTE_G4, NOTE_A4, NOTE_F4
>;

int times[] = <
400,400,400,400,
400,400,400,400,
400,400,400,400,
400,600,20,400,400,
400,400,400,400,
400,400,400,400,
400,400,400,600
>;

void setup() <
for (int i = 0; i

int tonePin = 9;// пин пищалки

void setup() <
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 174, 374.999625);
delay(416.66625);
tone(tonePin, 195, 124.999875);
delay(138.88875);
tone(tonePin, 220, 499.9995);
delay(555.555);
tone(tonePin, 146, 249.99975);
delay(277.7775);
tone(tonePin, 146, 249.99975);
delay(277.7775);
tone(tonePin, 195, 499.9995);
delay(555.555);
tone(tonePin, 174, 374.999625);
delay(416.66625);
tone(tonePin, 155, 124.999875);
delay(138.88875);
tone(tonePin, 174, 499.9995);
delay(555.555);
tone(tonePin, 116, 249.99975);
delay(277.7775);
tone(tonePin, 116, 249.99975);
delay(277.7775);
tone(tonePin, 130, 499.9995);
delay(555.555);
tone(tonePin, 130, 374.999625);
delay(416.66625);
tone(tonePin, 146, 124.999875);
delay(138.88875);
tone(tonePin, 155, 499.9995);
delay(555.555);
tone(tonePin, 155, 374.999625);
delay(416.66625);
tone(tonePin, 174, 124.999875);
delay(138.88875);
tone(tonePin, 195, 499.9995);
delay(555.555);
tone(tonePin, 220, 374.999625);
delay(416.66625);
tone(tonePin, 233, 124.999875);
delay(138.88875);
tone(tonePin, 261, 749.99925);
delay(833.3325);
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 293, 499.9995);
delay(555.555);
tone(tonePin, 261, 374.999625);
delay(416.66625);
tone(tonePin, 233, 124.999875);
delay(138.88875);
tone(tonePin, 261, 499.9995);
delay(555.555);
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 220, 374.999625);
delay(416.66625);
tone(tonePin, 195, 124.999875);
delay(138.88875);
tone(tonePin, 220, 499.9995);
delay(555.555);
tone(tonePin, 146, 374.999625);
delay(416.66625);
tone(tonePin, 146, 124.999875);
delay(138.88875);
tone(tonePin, 195, 499.9995);
delay(555.555);
tone(tonePin, 174, 374.999625);
delay(416.66625);
tone(tonePin, 155, 124.999875);
delay(138.88875);
tone(tonePin, 174, 499.9995);
delay(555.555);
tone(tonePin, 116, 374.999625);
delay(416.66625);
tone(tonePin, 116, 124.999875);
delay(138.88875);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 220, 374.999625);
delay(416.66625);
tone(tonePin, 195, 124.999875);
delay(138.88875);
tone(tonePin, 174, 999.999);
delay(1111.11);
tone(tonePin, 293, 999.999);
delay(1111.11);
tone(tonePin, 261, 249.99975);
delay(277.7775);
tone(tonePin, 233, 249.99975);
delay(277.7775);
tone(tonePin, 220, 249.99975);
delay(277.7775);
tone(tonePin, 233, 249.99975);
delay(277.7775);
tone(tonePin, 261, 749.99925);
delay(833.3325);
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 174, 999.999);
delay(1111.11);
tone(tonePin, 233, 999.999);
delay(1111.11);
tone(tonePin, 220, 249.99975);
delay(277.7775);
tone(tonePin, 195, 249.99975);
delay(277.7775);
tone(tonePin, 174, 249.99975);
delay(277.7775);
tone(tonePin, 195, 249.99975);
delay(277.7775);
tone(tonePin, 220, 749.99925);
delay(833.3325);
tone(tonePin, 146, 249.99975);
delay(277.7775);
tone(tonePin, 146, 999.999);
delay(1111.11);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 195, 374.999625);
delay(416.66625);
tone(tonePin, 220, 124.999875);
delay(138.88875);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 195, 374.999625);
delay(416.66625);
tone(tonePin, 220, 124.999875);
delay(138.88875);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 195, 374.999625);
delay(416.66625);
tone(tonePin, 233, 124.999875);
delay(138.88875);
tone(tonePin, 311, 999.999);
delay(1111.11);
tone(tonePin, 311, 999.999);
delay(1111.11);
tone(tonePin, 293, 249.99975);
delay(277.7775);
tone(tonePin, 261, 249.99975);
delay(277.7775);
tone(tonePin, 233, 249.99975);
delay(277.7775);
tone(tonePin, 261, 249.99975);
delay(277.7775);
tone(tonePin, 293, 749.99925);
delay(833.3325);
tone(tonePin, 233, 249.99975);
delay(277.7775);
tone(tonePin, 233, 999.999);
delay(1111.11);
tone(tonePin, 261, 999.999);
delay(1111.11);
tone(tonePin, 233, 249.99975);
delay(277.7775);
tone(tonePin, 220, 249.99975);
delay(277.7775);
tone(tonePin, 195, 249.99975);
delay(277.7775);
tone(tonePin, 220, 249.99975);
delay(277.7775);
tone(tonePin, 233, 749.99925);
delay(833.3325);
tone(tonePin, 195, 249.99975);
delay(277.7775);
tone(tonePin, 195, 999.999);
delay(1111.11);
tone(tonePin, 233, 499.9995);
delay(555.555);
tone(tonePin, 220, 374.999625);
delay(416.66625);
tone(tonePin, 195, 124.999875);
delay(138.88875);
tone(tonePin, 174, 499.9995);
delay(555.555);
tone(tonePin, 116, 374.999625);
delay(416.66625);
tone(tonePin, 116, 124.999875);
delay(138.88875);
tone(tonePin, 174, 999.999);
delay(1111.11);
tone(tonePin, 195, 499.9995);
delay(555.555);
tone(tonePin, 220, 499.9995);
delay(555.555);
tone(tonePin, 233, 1999.998);
delay(2222.22);
>
void loop() <>

Заключение

Как видите, на Ардуино можно сыграть почти любую мелодию. Но на этом музыкальные возможности Ардуино не исчерпываются. И если подключить дополнительные модули, то можно проиграть и mp3 аудио файлы. В будущем мы попробуем это сделать.

Спасибо, что дочитали статью до конца.

Пожалуйста, подписывайтесь на блог в яндекс дзен, ставьте лайки и пишите комментарии.

Источник

Оцените статью