Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 568 подписчиков

Популярные теги в сообществе:

Ардуино робот играет музыку на винных бокалах

Всем привет! Сегодня я расскажу про то, как я собрал ардуино робота, играющего музыку на винных бокалах.

И так давайте все по порядку.

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

Бокалы

Я перепробовал звучание разных бокалов которые нашел у себя в доме и как оказалось современные бокалы звучат как то очень слабо, возможно в этом есть Китайский след. А вот старые хрустальные фужеры звучат приятно и громко. Только у меня их оказалось всего 7 шт. Что в последствии выльется в ограничение проигрываемых нот. Не хватило всего 1 бокала для проигрывания полноценной мелодии от начала до конца. Пришлось воспроизводить только небольшие кусочки мелодий.

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

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Про молоточек

Ударный молоточек сделал из автомобильного реле купленного в ближайшем авто-магазине. Удалил с него корпус и спилил лишние контакты, а на якорь припаял медную проволоку диаметром 1 мм. Этот медный провод я извлек из силового кабеля, который используется для бытовой проводки 220 В. В качестве самого молотка колотушки, я использовал кусочек деревянного, мебельного шканта.

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Просверлил в нем отверстие и нанизал его на кусок провода из меди, после чего для надежности капнул сверху клеем момент.

Для управлением этой барабанной палочкой я использовал старый, советский транзистор KT972, управление которым осуществляется с контроллера через резистор от 270 до 510 Ом. Для гашения отрицательных импульсов самоиндукции параллельно катушке припаял выпрямительный диод 1N4007. Такой можно найти в любой отслужившей свой срок светодиодной лампочке или в старой бытовой технике. Транзистор можно заменить на любой другой в том числе и на MOSFET. С минимальным током перехода не менее 1 А.

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Соленоид с молоточком разместил на пластиковой рейке. После чего его нужно сбалансировать. Так как дисбаланс будет вызывать вибрацию. Для этого на противоположной стороне рейки прикрутил металлическую гайку, предварительно подобрав ее по весу. Далее приклеиваем рейку на распечатанную 100 лет назад на 3D принтере шестеренке.

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

Шаговый двигатель

ШД использовал HANPOSE 17HS4401. Для максимальной скорости вращения, попробовал полношаговый режим, но в этом режиме есть один недостаток, мотор очень громко работает и его жужжание очень сильно выделяется на на фоне звука бокалов. Пришлось пожертвовать скоростью и использовать режим полушага(1/2), а это в свою очередь 400 шагов на один оборот вала. В таком режиме шаговый двигатель начал работать заметно тише, но и почти в 2 раза медленнее. Хотя этого вполне хватает для проигрывания спокойной музыки.

В проекте использовался драйвер шагового двигателя A4988. Но где то на форумах я прочитал про тихий драйвер TMC-2100, но к сожалению на момент сборки проекта у меня такого не нашлось и пришлось подстраиваться к пониженной скорости мотора. Отказавшись от библиотеки «A4988.h» мне удалось с выжать с ШД максимум.

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Подсветка

Подсветка сделана всего на одном светодиоде ws2812 который я отрезал от светодиодной ленты.

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

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Схема

Соединил все компоненты по нарисованной мной схеме. Установил переключатели на драйвере шагового двигателя в режим полудуплекса. На соленоид и мотор подал 15 В. Так как молоточек для соленоида тяжеловат и при 12 В иногда бывает он не до конца притягивает якорь, Еще для уменьшения щелчков якоря я приклеил на сердечник электромагнита кусочек ткани.

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Используемые в схеме компоненты:

Arduino Nano

Шаговый двигатель 17HS4401

Драйвер шагового двигателя A4988

Плата расширения для драйвера шагового двигателя

Провода соединительные

Светодиод WS2812

Транзистор Mosfet

Реле автомобильное на 30 А

Музыка

Мелодию можно написать самому или найти готовую на сайте musicboxmaniacs. Если вы будете использовать готовую мелодию, то для начала у нее нужно убрать многоголосость, это значит, что в одном музыкальном такте не должно быть более одной ноты. После чего перенести ее в ручную следующем порядке: самая низкая нота имеет значение 0 и так далее до самой высокой. В моем распоряжении всего 7 бокалов, а это значит, что и нот не должно быть больше 7. Для простых мелодий этого будет достаточно. И еще есть пустой такт, его значение в массиве равно 255. Звук бокалов подстраивается под нужную ноту при помощи воды. Для понижения тона нужно подливать в него воду. Для точной подстройки можно воспользоваться приложением для смартфона «Тюнер пианино» из play Google.

Ардуино робот играет музыку на винных бокалах Arduino, Робот, Музыка, Музыкальные инструменты, Видео, Длиннопост

Скетч для ардуино

Алгоритм работы кода следующий — в массиве хранятся ноты пронумерованные в порядке возрастания от самой низкой равной 0 и до самой высокой равной 6. Каждой ноте соответствует свой бокал. Пустой такт нумеруется значением 255.

Тактирование мелодии происходит по таймеру и темп музыки можно задавать в настройках кода. Для этого нужно указать требуемое количество тактов за одну секунду. Но имейте ввиду всему есть предел и настанет момент когда мотор не будет успевать за темпом музыки и начнет пропускать ноты. Особенно при переходе с самой высокой тональности на самую низкую или наоборот. Кстати чем больше будет бокалов тем меньше шагов нужно прокручивать между нотами.

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

Все настройки находятся в шапке скетча и прописаны в директивах define.


Скачать скетч

Заключение

Спасибо, что дочитали до конца!

Надеюсь эта статья вам понравилась и вы сможете воспользоваться моей наработкой в своих проектах.

Если у Вас остались вопросы и замечания, то можете задать их в комментариях. Я с удовольствием на них отвечу.

Показать полностью 7

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 8 запуск ОС Manjaro SWAY. Лучшая для админа?

В этом видео покажу как запустить Manjaro Linux 64-bit с оболочкой SWAY на микрокомпьютере Raspberry PI 4 Model B 8 GB RAM.

Адрес проекта https://manjaro.org

Manjaro Linux или Manjaro — дистрибутив GNU/Linux, основанный на Arch Linux, использующий модель обновлений rolling release.



0:55 Скачиваем образ

1:54 Что такое sway

4:28 Записываем образ на карту SD

5:29 Запускаем Manjaro SWAY

6:19 Начальная настройка

10:03 Как включить встроенную запись экрана

10:29 Обзор панели задач

11:24 Настройка сети WiFi

13:06 Где хранятся записанные видео

13:37 Обзор помощника по быстрым клавишам

14:24 Установка обновлений

17:00 Обзор встроенных программ

35:13 Добавление раскладки клавиатуры

43:12 Другая встроенная программа записи экрана wf-recorder

43:38 Работа с терминалами. быстрые клавиши

47:09 Красивая панель блокировки/выключения сервера

49:21 Заключение



У кого беспроводная мышь. Традиционно чиним:

nano /boot/cmdline.txt

вписываем

usbhid.mousepoll=0

и перезагружаемся.


Настройка клавиатуры в sway:

https://wiki.archlinux.org/title/Sway#Keymap

пример конфига

~/.config/sway/config.d/01-keyboard.conf

input * {

xkb_layout "us,ru"

xkb_options "grp:ctrl_shift_toggle"

}


Писать видео лучше через консольный wf-recorder


Быстрые клавиши:

Mod + Enter Новый терминал

Mod + F Сделать текущее окно полноэкранным

Mod + Shift + Q Выйти из программы

Mod + Shift + E Выйти из sway

Mod + Shift + C Обновить конфигурацию Sway

Mod + Shift + - переместить окно в блокнот

Mod + - Показать блокнот

Mod + 0..9 Изменить текущее рабочее пространство

Mod + Shift + 0..9 Переместить текущее окно в указанную рабочую область

Mod + B Горизонтальная компоновка

Mod + V Вертикальная компоновка

Mod + S Stacking компоновка

Mod + E Переключить разделение компоновки

Mod + W Компоновка с вкладками

Мод + фокус на родительском контейнере

Mod + Space Поменять фокус между мозаичным и плавающим

Mod + Shift + Space Переключить плавающий режим

Mod + Tab Следующее рабочее пространство

Mod + Shift + Tab Предыдущее рабочее пространство

Mod + Влево / Вправо / Вверх / Вниз Переместить фокус окна

Mod + Shift + Left / Right / Up / Down Перемещение сфокусированного окна в рабочей области

Показать полностью

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 7 запуск ОС CentOS 64-bit

В этом видео покажу как запустить CentOS 64-bit на микрокомпьютере Raspberry PI 4 Model B 8 GB RAM.

Как подключить WiFi, добавить место в корневой раздел. Можно ли запустить графический интерфейс. Тест скорости интернета с помощью speedtest cli.

0:28 Эволюция CentOS

2:48 Как найти и скачать образ CentOS Linux для Raspberry PI

4:44 Записываем образ на карту SD

5:35 Запускаем CentOS

6:36 Настройка WiFi

8:29 Установка обновлений

9:24 Ошибка. Не хватило места. Расширяем место на SD карте.

15:09 Подключаемся через SSH. Устанавливаем speedtest cli.

18:20 Тест скорости интернет.

19:43 Место на диске, память, промежуточный итог

21:13 Установка Gnome Desktop (GUI)

34:32 Подводим итоги. Заключение

Используемый софт:

speedtest cli:

https://www.speedtest.net/ru/apps/cli

Linux:

nmtui - настройка сети.

parted - настройка разделов диска.

Показать полностью

Продолжение поста «Перенос системы на Raspberry Pi 4B»

Всё получилось очень просто.

На ноуте под виндой склонировал microSD на SSD с помощью balenaEtcher, присоединил SSD к малине и включил. Система запустилась сразу, но вешалась при попытке записи. Пришлось покопаться в логах и сети.

Но проблема скорее всего в моём экземпляре малины, в большинства-то работает. На всякий случай, ссылку осталю ниже, делал как писал ТС.

https://forums.raspberrypi.com/viewtopic.php?t=245931

Сейчас же всё летает.

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 6 запуск ОС Twister OS

Самое большое достоинство Twister OS, это темы похожие на Windows 95-11.

Бухгалтеру, который работал на Windows XP будет приятно. Осталось поставить сюда 1С.

Сайт проекта:

https://twisteros.com/


В этом видео покажу как запустить Twister OS на микрокомпьютере Raspberry PI 4 Model B 8 GB RAM.

Как изменить разрешение экрана. Как решить проблему с тормозящей беспроводной мышью. Добавить раскладку клавиатуры. Обзор штатного ПО. Обзор тем.

0:20 Скачиваем образ

2:55 Заливаем образ Twister OS на флешку

4:04 Миниобзор компьютера

4:38 Запускаем Twister OS

5:18 Чиним медленную беспроводную мышь

6:54 Меняем разрешение экрана

7:39 Меняем английский язык на русский в интерфейсе

8:53 Добавляем русскую раскладку клавиатуры

9:46 Обзор тем рабочего стола

15:09 Включение VNC и SSH

16:31 Добавление значка переключения языка клавиатуры

18:12 Обзор встроенных программ

21:41 Тестируем скорость интернет через WiFi

23:35 Заключение

Показать полностью

Хакинг. С чего начать?

Мне 16, в будущем планирую быть белым хакером, на данный момент знаю один язык программирования, изучаю 2ой( Python), люди которые занимаются данным делом, скажите пожалуйста что делать дальше и как развиваться, чтобы работать по желаемой профессии?

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 5 Ретро-консоль. Тест RetroPie

В этом видео:

0:44 Заливка образа RetroPie

2:26 Включение платы

3:33 Настройка джостика

6:40 Настройка WiFi и SSH

8:33 Заливаем игру через WinSCP

9:37 Тестовая игра Battletoads & Double Dragon

12:26 Установка портов

15:32 Тестовая портированная игра

17:21 Подключение к телевизору

17:50 Запуск игр: Killer Instinct Super Nintendo

21:01 Запуск игр: Comix Zone Sega

27:25 Запуск игр: Super Mario Bros. Nintendo

29:23 Замер CPU/RAM: Killer Instinct Super Nintendo

30:11 Замер CPU/RAM: Comix Zone Sega

36:17 Замер CPU/RAM: Super Mario Bros. Nintendo




В видео использовался софт:

WinSCP, putty, raspberrypi imager


Монитор используемых ресурсов:

htop




Вчера повелся на 11.11 и заказал на небезызвестном китайском магазине пару аксессуаров

для малины. Может получиться освежить знания python и делать менее унылые проекты.


Раз:

супер стартовый набор Keyestudio Raspberry Pi 4B

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 5 Ретро-консоль. Тест RetroPie Raspberry pi, Начинающий, Обучение, YouTube, Видео, Длиннопост

Два:

чтобы удобно было до GPIO добраться


Raspberry Pi 4B, новый 9-слойный чехол для зарядки с разъемом type-c и радиатором, подходит для RPI4

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 5 Ретро-консоль. Тест RetroPie Raspberry pi, Начинающий, Обучение, YouTube, Видео, Длиннопост

Три:
надоело перетыкать клаву из стационарника.


Беспроводная клавиатура VONTAR i8
Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 5 Ретро-консоль. Тест RetroPie Raspberry pi, Начинающий, Обучение, YouTube, Видео, Длиннопост
Показать полностью 3

Конкурс для мемоделов: с вас мем — с нас приз

Конкурс мемов объявляется открытым!

Выкручивайте остроумие на максимум и придумайте надпись для стикера из шаблонов ниже. Лучшие идеи войдут в стикерпак, а их авторы получат полугодовую подписку на сервис «Пакет».

Кто сделал и отправил мемас на конкурс — молодец! Результаты конкурса мы объявим уже 3 мая, поделимся лучшими шутками по мнению жюри и ссылкой на стикерпак в телеграме. Полные правила конкурса.

А пока предлагаем посмотреть видео, из которых мы сделали шаблоны для мемов. В главной роли Валентин Выгодный и «Пакет» от Х5 — сервис для выгодных покупок в «Пятёрочке» и «Перекрёстке».

Реклама ООО «Корпоративный центр ИКС 5», ИНН: 7728632689

Микрокомпьютер: Raspberry PI 4 Model B 8 GB RAM Часть 4 Сравнение температуры с алюм. корпусом и без

В этом видео сравним температуру в пассивном режиме и под нагрузкой на микрокомпьютере Raspberry PI 4 Model B 8 GB RAM, без использования какого либо охлаждения и с алюминиевым корпусом (радиатором) без активного охлаждения.

В видео использовались команды Linux:


Посмотреть температуру CPU:

cat /sys/class/thermal/thermal_zone0/temp


Посмотреть температуру GPU:

vcgencmd measure_temp


Скрипт вывода температуры:

https://www.cyberciti.biz/faq/linux-find-out-raspberry-pi-gp...


Запускаем в бесконечном цикле:

while true; do ./temp.sh; sleep 3; done;

прервать Ctrl+c.


Узнать информацию о процессоре:

cat /proc/cpuinfo


Монитор используемых ресурсов:

htop


Загрузить ядро на 100%:

yes (скобка там где буква ю) /dev/null &


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

убить все процессы "yes":

killall yes


Актуальная ссылка на корпус:

https://aliexpress.ru/item/4000263797062.html?spm=a2g0s.1226...

Показать полностью
Отличная работа, все прочитано!