Оглавление:
- Шаг 1: Постройте кронштейн сервопривода
- Шаг 2: Подключите сервоприводы к Arduino Uno
- Шаг 3. Код Arduino…
Видео: Серво-барабанная машина Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Это простая драм-машина или робот, управляемая двумя сервоприводами и Arduino Uno. Сервоприводы установлены на L-образном деревянном кронштейне, который крепится к малому барабану с помощью 4 сильных магнитов. Сервомеханизмы прикреплены болтами к двум палочкам для еды, которые служат в качестве барабанных палочек. Это довольно громко, но не слишком громко. Гораздо более громкие удары можно получить, используя сервоприводы стандартного размера и настоящие барабанные палочки, которые намного тяжелее. Но для этого также потребуется отдельный источник питания для сервоприводов. Используя микросервоприводы, Arduino подает ток, достаточный для питания их напрямую, без отдельного источника питания.
На видео показана моя попытка запрограммировать простую версию барабанного соло Wipeout. Конечно, это не настоящие 160 ударов в минуту, но это можно легко получить, добавив еще один сервопривод, что было бы довольно круто. Я не рассчитал, какое максимальное количество ударов в минуту может быть получено с помощью сервопривода, и для этого требуется некоторая задержка в переводе барабанной палочки из ее исходного положения в пластиковую пластину.
Ритмы, которые вы можете создавать, ограничены только вашим воображением, и драм-машина - более интересный компаньон для игры, чем цифровая драм-машина, если вы музыкант.
Единственным недостатком является шум сервопривода, который на самом деле не так заметен, хотя звук камеры, кажется, заметно его улавливает.
Шаг 1: Постройте кронштейн сервопривода
Этот кронштейн сделан из нескольких полосок фанеры, которые у меня были под рукой. Я создал L-образную форму, скрепив две детали вместе металлической L-образной скобой. Затем к верхней планке был приклеен небольшой деревянный брусок, чтобы удерживать два сервопривода.
У меня было два удобных кронштейна сервопривода, которые я прикрутил к деревянному бруску.
Я использовал 4 неодимовых магнита, чтобы прикрепить скобу к малому барабану.
Шаг 2: Подключите сервоприводы к Arduino Uno
Сервоприводы vcc (средний провод) идут к контактам Arduino 5 v.
Заземляющие провода к земле Arduino.
Сигнальные провода идут к контактам 6 и 7.
Серво щиток сделал бы это еще проще, если бы он у вас был.
Шаг 3. Код Arduino…
Ниже приведен простой скетч для игры в Wipeout. Вам просто нужно отрегулировать положение сервопривода для вашей конкретной установки.
Повеселись!
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "servo.h"
// серво-барабанщик Джим Демелло июнь 2018 г.
Серво myservo1, myservo2;
int servoPin6 = 6; // сервопривод
int servoPin7 = 7;
void myServo (int servoPosition, int servoNumber) {
if (servoNumber == 1) {
myservo1.write (servoPosition);
}
if (servoNumber == 2) {
myservo2.write (servoPosition);
}
}
void doOneEighthNote (int servoNumber, int beat) {
int delayVal = 60;
if (servoNumber == 1) {
если (удар) {удар = 10; // если beat = 1, добавляем немного больше сервопривода для более сильного удара
}
myServo (150 + бит, servoNumber); //вниз
задержка (delayVal);
myServo (100, servoNumber); // вверх
задержка (delayVal);
}
if (servoNumber == 2) {
если (beat) beat = -10;
myServo (60 + бит, servoNumber); //вниз
задержка (delayVal);
myServo (80, servoNumber); // вверх
задержка (delayVal);
}
}
установка void ()
{
// Serial.begin (9600);
myservo1.attach (servoPin6, 1000, 2000); // присоединяет сервопривод на выводе 9 к сервообъекту
myservo1.write (100);
myservo2.attach (servoPin7, 1000, 2000); // присоединяет сервопривод на выводе 9 к сервообъекту
myservo2.write (90);
}
void loop () {
уничтожать(); // процедура очистки барабана
// doOneEighthNote (2, 0);
задержка (40);
}
void wipeout () {
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0); // первый параметр - это номер сервопривода, а второй параметр - ритм (1 = такт, 0 = нет такта)
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);
doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 1); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);
doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 1); doOneEighthNote (1, 0);
doOneEighthNote (2, 0); doOneEighthNote (1, 0); doOneEighthNote (2, 0); doOneEighthNote (1, 0);
}
Рекомендуемые:
Рука серво-робота: 4 шага
Рука серво-робота: это простой манипулятор серво-робота, который может поднимать объекты и размещать их в обозначенном месте. Для сборки этого проекта потребуется большая часть времени из-за важности того, чтобы рука была стабильной и могла выполнять задачи без
Серво-тестер с использованием Ic 555: 4 шага
Серво-тестер с использованием IC 555: в этом уроке я покажу вам, как сделать простой серво-тестер с использованием микросхемы 555 IC
16-канальный серво-тестер с Arduino и 3D-печатью: 3 шага (с изображениями)
Тестер 16-канальных сервоприводов с Arduino и 3D-печатью: Практически каждый проект, который я делал в последнее время, требовал от меня тестирования некоторых сервоприводов и экспериментов с их положением, прежде чем они войдут в сборку. Я обычно делаю быстрый тестер сервопривода на макете и использую серийный монитор в Ardui
Как управлять мотор-редуктором постоянного тока с помощью щеточного электронного регулятора скорости 160А и серво-тестера: 3 шага
Как управлять мотор-редуктором постоянного тока с помощью щеточного электронного регулятора скорости и серво-тестера на 160 А: Спецификация: Напряжение: 2-3S Lipo или 6-9 NiMH Непрерывный ток: 35A Импульсный ток: 160A BEC: 5V / 1A, режимы линейного режима: 1. вперед & задний ход; 2. вперед &тормоз; 3. вперед & тормоз & реверс Вес: 34 г Размер: 42 * 28 * 17 мм
Как запустить бесщеточный двигатель постоянного тока с квадрокоптером для дрона с помощью контроллера скорости бесщеточного двигателя HW30A и серво-тестера: 3 шага
Как запустить бесщеточный двигатель постоянного тока квадрокоптера Drone Quadcopter с помощью контроллера скорости бесщеточного двигателя HW30A и тестера сервомотора: Описание: Это устройство называется тестером серводвигателя, который можно использовать для запуска серводвигателя путем простого подключения серводвигателя и источника питания к нему. Устройство также можно использовать в качестве генератора сигналов для электрического регулятора скорости (ESC), тогда вы можете