2.17M
Категория: ИнформатикаИнформатика

Работа arduino. Универсальная гитара

1.

Государственное бюджетное профессиональное образовательное учреждение
«Первый Московский образовательный комплекс»
научно-практическая конференция
“Инженеры будущего”
Универсальная гитара
Руководитель
Гатауллин Руслан Инсафович, учитель
технологии
Обучающиеся
Курылев Савелий Александрович, Пугаев
Роман Дмитриевич, ученика 10-ого класса

2.

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

3.

Цель работры
Цель работы
заключается в создании
инструмента,
подходящего
начинающему, который
можно будет
отрегулировать под
себя
Задачи проекта
1 Изучить работу arduino
2 выявить наиболее удобные
формы гитар
3 отобрать наилучшие формы
звукоснимателей
4 создание прототипа
5 создание готового изделия на
основе прототипа

4.

Теоретическая часть проекта
В проекте используется ряд библиотек:
FastLed(отвечает за управление адресной светодиодной лентой (совокупности светодиодов в грифе))
LiquidCrystal_I2C(отвечает за управление жидкокристаллическим дисплеем, для взаимодействия с пользователем)
GyverEncoder(отвечает за взаимодействие с энкодером БЕЗ встроенного контроллера кодировки сигналов)
SPI(отвечает за управление шиной Serial Peripheral Interface (последовательный периферийный интерфейс))
SD(отвечает за взаимодействие с внешней картой памяти)
Для записи музыки используются разные способы. В нашем проекте мы решили придерживаться табулатурной записи
произведений (Табулатура — тип музыкальной нотации, схематическая запись музыки для клавишных, некоторых струнных и
редко духовых инструментов.), так как это частично графический вид записи (интервалы), была поставлена задача привести
элементы используемые в табулатуре к набору целочисленных значений. Каждая определённая нота (совокупность нескольких нот,
аккрод, сложные элементы) имеет две (или кратные двум) координаты (ИСКЛ баррэ): Лад - L Струна - S. Функция leds библиотеки
FastLed использует 4 вводные leds[I]=CHSV(hue,sat,bri); I - номер диода (считается ), hue - индекс цвета, sat - контраст,
bri - яркость. Так как для определения диода библиотека использует одну координату, была разработана формула перевода
двумерных координат в одномерные: I=6*L+6-S. В нашем проекте важна многозадачность, по этому было принято решение отказатьс
от delay() в силу внутренних прерываний по millis(). Данный объект возвращает значение количества миллисекунд с момента
запуска или перезагрузки микроконтроллера. Данное значение нельзя изменять или обнулять, по этому была разработана функция
для оперирования временем в диапазоне удобных для восприятия значений: (след. Слайд)

5.

Теоретическая часть проекта
long convert_mil = 0; // идентична millis
long t_check = 0; // значение convert_mil в предыдущий такт
int bpm = 112; // количество ударов в минуту, темп
long timeline = 0; // идентична millis, обновляется с каждым ударом может быть изменена
long uwu = (1000.0*60/bpm); //количество насчитанных millis за один такт
boolean time_movement = 1; // запуск/остановка движения во времени
void data_upd() // общее обновление данных
{
convert_mil = millis()/ uwu;
if ((t_check != convert_mil)and(time_movement == 1))
{
t_check = convert_mil;
timeline += 1;
}
if (timeline<0)
{
timeline = 0;
}
}

6.

Теоретическая часть
В результате мы получаем переменную timeline, которая может быть изменена (всегда принадлежит множеству
N), обновляется независимо
от начального значения millis(), с возможностью остановить обновление. Таким образом мы получаем
возможность оперировать временем.
Задавая в начале значение bpm, мы можем изменить темп всего произведения, не привнося изменений в
структуру записанного произведения.
Третьим параметром ноты в записанной системе является длительность звучания ноты (совокупности
нескольких нот,
аккрода, сложных элементов) - T, разница значений timeline в момент активации и деактивации диода
(совокупности нескольких нот,
аккрода, сложных элементов). Записанное произведение является двумерным массивом. Индекс внутри строки
является параметром
определённого элемента (ноты, совокупности нескольких нот, аккрода, сложных элементов), а индекс самой
строки порядковым номером
элемента.

7.

материалы
Arduino uno Макетная плата
Макетные провода папа-папа
Макетные провода мама-папа
Адресная светодиодная лента Black PCB IPXX IP30 WS2812 144 led
Провод МГТФ 0.07 кв.мм
Двусторонний скотч
Подоконник
Переменный резистор 10кОм
Мини кнопки электрические
Энкодер с кнопкой EC11
Модуль заряда TP4056 (с защитой)
Micro USB 5В 1А ABS
пластик для 3Д печати
Гриф гитарный Stratocaster
Дисплей LCD 1602 I2C SD Card
модуль SD карта 2gb
Смола эпоксидная двукомпонентная

8.

Проведение экспериментов

9.

Технологии производства
ЧПУ станок
3D-печать

10.

Технологии производства
3D-моделирование
Работа с химической
частью проекта

11.

Технологии производства
Программирование

12.

выводы
В ходе проекта нами была создана универсальная гитара, подходящая
начинающих игре на музыкальном инструменте, а так же упрощающая
эксплуатацию уже умеющим играть людям
English     Русский Правила