Молодым не понять...

По мотивам "Визуализация звука на старинных лампах"

Молодым не понять... Arduino, Visualization, Видео, Длиннопост

Попытка воспроизвести "магический глаз" с помощью Arduino и маленького дисплея.

Дисплей 128x64, монохромный, синего свечения.

Уйма их, этих экранчиков, на Adafruit. Оказалось, ни один из них не подходит для анимации.

Единственный дисплей, который я случайно обнаружил, от ProtoSupplies. Он работает с библиотекой u8g2  в которой реализован постраничный вывод - т.е. сначала рисуем, все что надо, и потом одной командой выводим все нарисованое на дисплей. Для моей цели недостаток - невозможно сделать подсветку, в лампе 6E1П всегда присутствует бледно-зелёный фон, а у меня получилось всё на чёрном фоне. Впрочем, на Adafruit он тоже обнаружился, только больше контактов и в два раза дороже.

Кроме ардуинки и дисплея использовал элетретный микрофон с AGC, от Adafruit. Отрисовка - напор треугольников и прямоугольников плюс битмэп создающий полукруглую границу изображения сверху.

Всего каждый кадр отрисовывает 5 треугольников (центральный, два боковых, плюс по бокам от центрального при больших амплитудах отрисовываются еще два) плюс 3 прямоугольника, два круга и битмэп.

Использую сглаживание скользящим средним на 5 сэмплов; если кто захочет повторить, то на Arduino UNO обе библиотеки U8g2lib и RunningAverage не влезают, мало памяти. Так что или пишите сглаживание руками, или используйте что-то помощнее, хотя бы Arduino Mega или там Teensy.

Принцип соединения (питание не показано):

Молодым не понять... Arduino, Visualization, Видео, Длиннопост

все смонтировано на монтажке вырезаной под ардуинку:

Молодым не понять... Arduino, Visualization, Видео, Длиннопост

c обратной стороны:

Молодым не понять... Arduino, Visualization, Видео, Длиннопост

ну и результат (прошу прощения за качество, снимал на тапок):