Имперский марш из "Звездных войн" на лопатках авиадвигателя
Одногруппник попытался сыграть имперский марш на двигателе, который стоит у нас в аудитории. Одногруппник мой, группа моя, тег "мое".
Имперский марш спикером, Arduino
Доброго времени суток, Пикабушники. Думаю вас уже достали тонны постов о программировании микроконтроллеров, в частности arduino. Да? Жаль, поэтому это ещё один пост в ту же копилку :(
Ну, если же кто-то решил читать дальше, то начнем!
Вдохновившись постами одного видеоблогера (@AlexGyver, привет :D), особенно его словами: "микроконтроллер по цене шаурмы" решил заказать себе сию приблуду. Подождав месяц, а потом ещё месяц, все запчасти наконец дошли до меня. Первым делом я тренировался, мигал встроенным светодиодом и радовался жизни. Потом переходил на "сложные вещи". Так как сразу заказал себе ультразвуковой дальномер, то собрал себе простейший парктроник (это было лишком просто и я решил не пилить об этом пост, если кто попросит, сразу расскажу). Но это все присказка, перейдем к делу!
Разобрав старый стационарный ПК я обнаружил там спикер (удивительно, да?) и, не успев выкинуть, решил посмотреть в Инете, а нельзя ли его подсоединить к Ардуине, т.к. в суровое паскалевское детство мы неплохо делали сирену на таких динамиках. Оказалось можно. И..немного поиграв с пищалкой (чем достал жену и соседей), решил сыграть что-то более гуманное мелодичное. Выбор пал на недавнюю премьеру, а точнее самое банальное..имперский марш! Нагуглив ноты и тональность нот я приступил к сборке. Немного фото:
Моя Ардуинка собственной персоной (всегда думал что она синяя, а она красная пришла).
Спикер. Добыт из недр системного блока.
Так как просто пропищать будет немного скучно и неэффектно и никто не поверит, то решил добавить светодиод. У меня с того же сайта были заказаны как обычные, так и трехцветные, решил позабавиться с трехцветными.
Светодиод трехцветный (RGB).
Подключив все по стандартной схеме приступил к написанию кода. Приведу лишь маленькие примеры из скетча, что бы какое-то представление имелось (что-то заимствовал из Интернета, что-то писал сам).
Сначала я объявил константы в виде нот, найдя в Инете их тон:
const int c = 261; // Нота До
const int d = 294; // Нота Ре
и т.д.
Нужно задействовать светодиод, не скажу, что гениальное решение, но ничего другого в голову не пришло.. Если тон меньше 600 Герц, то синий, выше 600, но ниже 750 - зеленый, ещё выше - красный. Пишется это очень просто:
if (ton<=600)
{
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(7,LOW);
}
Остальное по аналогии.
Немного теории: в языке ардуино есть функция tone, которая имеет параметры: вход на котором стоит динамик, тональность, длительность; но нужна ещё и задержка перед следующей нотой. Приводить код не буду, но думаю что все логично.
Я назову её beep...потому что её все так называют. И имеет она у меня два параметра нота (писал выше) и время звучания ноты. Далее все как по нотам :D
beep(a, 500);
beep(a, 500);
beep(a, 500);
beep(f, 350);
На этом все. Не претендую на уникальность и гениальность, просто немного HOW TO вам в ленту. Спасибо тем кто дочитал, если есть вопросы отвечу. Коротенькое видео того, что получилось:
Недавно в голову пришла такая мысль...
Недавно в голову пришла такая мысль, как парень может определить, стоит ли ему встречаться с девушкой.
Для этого позовите девушку посидеть где-нибудь наедине.
Устройте романтичную атмосферу
В момент кульминации вашего вечера наклонитесь к ее шее и начните напевать Имперский марш. Если подхватит, забирайте, она вам идеально подходит.