Pull to refresh

Памятка. AVR. Buzic

Reading time15 min
Views24K

Суть


Я создал уже некоторое количество разных хоббийных электронных устройств, и у меня есть странная особенность: если на плате присутствует звуковой пьезоэлектрический излучатель(buzzer), я, по окончании основных работ над проектом, начинаю страдать ерундой и заставлять его проигрывать различные мелодии(насколько это возможно). Особенно бывает полезно включить мелодию, по окончании какого либо продолжительного процесса для привлечения внимания. Например, я это использовал, когда построил самодельную экспозиционную камеру для засветки фоторезиста и т.д.

Но когда я начал искать примеры генерации частот для AVR в сети, почему-то мне попадались монструозные, либо недостаточно лаконичные проекты, реализующие генерацию звуковых частот чисто программным образом. И тут я решил во всём разобраться сам…
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments40

Играем музыку из Mario на системном динамике

Reading time4 min
Views9.1K
Марио. Ноты

Предисловие


Привет, Мир!

Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной работы. Порыскав немного в интернете, я не нашел ничего дельного: что-то было написано слишком сложным языком, что-то было не особо содержательно. Я обзавелся неплохой книгой, целой ночью и попытался сыграть всеми известную тему из игры Марио. Продолжение прямо под катом, вроде бы у вас тут так заведено.

Дисклеймер


Код написан так как он написан. Автор не гений программирования, а всего лишь студент, но тем не менее, попытался написать максимально читаемый и понятный код. Всё было написано на Borland C и было протестировано в DOSBox только потому, что нет установленного доса и не очень хочется напортачить с часами реального времени.

В далеком 2012 году Loiqig уже написал более крутую версию, но, как мне показалось, мало внимания уделил теории.

Так же автор (т.е. я) имеет 4 года музыкального образования и был плох в сольфеджио (музыкальная грамота).
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments19

STM32: FreeRTOS и пьезокерамический излучатель

Reading time12 min
Views25K
image

Керамический пьезоизлучатель (buzzer) — простая деталь, наравне со светодиодом требующая минимального набора ресурсов для управления и настолько же легко подключаемая к микроконтроллеру. Как и светодиоду с возможностью плавной регулировки яркости, от микроконтроллера ему требуется не более одного канала таймера и внешний вывод.

Много в интернете уроков «Подключаем пищалку к ардуино», только вот заканчиваются они проигрыванием «В траве сидел кузнечик» или озвучкой срабатывания RFID датчика. Наверное тем, кто занят этим профессионально и серьезно, не до ведения блогов и записи видеоуроков.

А ведь миниатюрный керамический динамик — шаг в сторону более дружелюбного интерфейса с человеком. Нажатия кнопок, касания сенсорной панели, реакция на различные события… Такая вот обратная связь в виде звукового отклика!

Под катом попробуем сделать с этим что нибудь, а именно напишем драйвер пьезодинамика и заставим его параллельно озвучивать несколько разных внешних событий.
Total votes 39: ↑39 and ↓0+39
Comments14

Озвучка самокатов, часть 1: зачем нам пьезокерамика и как ее готовить

Level of difficultyMedium
Reading time11 min
Views4.2K

В Софт, хард и два колеса: как мы строили IT-инфраструктуру в Whoosh упоминалось, что первые версии IoT мы ставили под непрозрачную крышку, замещая стандартный модуль управления от самоката Xiaomi M365. То есть, после установки и проклеивания крышки, связь с модулем была только через облако. В идеальном мире этого было бы достаточно, но реальность диктовала условия, в которых нужна была индикация процессов — как в режиме обслуживания, так и в городе, у пользователей. Прием управляющих команд, отправка телеметрии, подключение к сети и выход устройств в онлайн — разные этапы нужно было различать сервисной команде для быстрой диагностики, а пользователя — предупреждать об изменениях в базовых сценариях использования — командах, ошибках, ограничениях и т.д.

Нужны звуки — решили ставить buzzer (или зуммер). Это такая электромеханическая штуковина, которая под воздействием внешнего переменного напряжения умеет деформироваться и издавать звуки.

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments16

Робомобиль на базе Arduino Mega 2560 с Bluetooth управлением и автономным движением с объездом препятствий

Reading time2 min
Views19K
Представляю свой проект робомобиля на Arduino. На просторах интернета есть масса подобных статей, наткнувшись на одну из них решил реализовать увиденное со своими изменениями в конструкцию и функционал. Реализованы следующие возможности: управление робомобилем по Bluetooth со смартфона; автономное движение робомобиля с объездом препятствий.


Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments26

Консольный проигрыватель .wav для pc-speaker в Linux

Reading time9 min
Views7.8K
Давно хотел написать проигрыватель для pc-speaker и чтобы не только ноты и монофонические мелодии. Но в то время когда это было актуально (DOS — навсегда!) у меня не было ни знаний, ни способностей, ни помыслов. Позже я не смог пробиться к нему сквозь Windows DDK и продолжал тихо пищать в стиле QBASIC SOUND. Да и актуальность pc-speaker как звукового устройства стала нулевой, гордый speaker превратился в beeper и buzzer. Однако он никуда не исчез из ПК (попутно пережив все дисководы) по прежнему давая о себе знать при включении и сообщая об ошибках. Так можно ли в современном программно-аппаратном user-space окружении проиграть полифоническую мелодию или голос на pc-speaker? Конечно можно — Си и Linux нам в этом помогут.
Посвящается, мужику в шляпе и очках, посылающему всех в известном направлении (неизвестного мне автора, всё хорошо работает в DOSBox).
Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments3

Озвучка самокатов, часть 2: MIDI через пьезоизлучатель

Reading time15 min
Views2K

Всем привет! В первой части статьи мы рассказали о том, как на наших IoT модулях реализована схема управления пьезоэлектрическим излучателем (баззером) с регулировкой частоты и амплитуды; как эта схема управляется микроконтроллером программно, воспроизводя простые звуки и мелодии. Такая реализация показала себя надежной в эксплуатации, нетребовательной к ресурсам и на начальном этапе решала задачу базовой озвучки самоката. Шло время, появлялись новые сценарии взаимодействия с пользователями и нам самим хотелось чего-то большего — например, хорошо было бы сделать звучание самоката более “фирменным”, узнаваемым и приятным на слух. Так мы и задумались о “звуковом рефакторинге” — об этом и расскажем вам в этой статье.

Слушать далее
Total votes 8: ↑7 and ↓1+6
Comments4