2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Инструментальное устройство вибротактильной сенсорной замены и усиления (https://www.instructables.com/id/Vibrotactile-Sens…) показывает способ создания устройства, которое преобразует сенсорный ввод в вибрационные стимулы. Эти вибрационные стимулы производятся цилиндрическими двигателями ERM, которые приводятся в действие Arduino Uno с моторным щитом.
Для более чем 4 двигателей необходимо штабелировать несколько моторных щитов.
В случае, если необходимо управлять более чем 6 двигателями независимо, вам понадобится больше контактов PWM, чем у Arduino Uno (6 контактов PWM) и, следовательно, Arduino Mega. Теоретически на Arduino можно установить более двух экранов, однако учтите, что Arduino Mega также имеет ограниченное количество контактов PWM: 15.
Запасы
- Adafruit Motorshield v2.3 и мужские заголовки стека
- Женские штабелируемые заголовки (например,
- Arduino Mega для более чем 6 двигателей (например,
Прототип с
Шаг 1: пайка и укладка
- Припаяйте штыри на обоих моторных щитах, как видно на фотографиях.
- Припаяйте перемычки адреса на одной из плат (см. Объяснение на картинке и https://learn.adafruit.com/adafruit-motor-shield-… для более подробных инструкций по этому поводу)
- Установите Arduino и оба щита друг на друга.
- Убедитесь, что перемычка VIN находится на обоих щитках.
Шаг 2: Код
Это пример того, как позволить 8 моторам преобразовывать 3 сенсорных значения:
- Загрузите код, представленный в zip-папке ниже, откройте его и установите библиотеки, как описано в….
- Нажмите Инструменты → Плата → выберите Arduino / Genuino Mega или Mega 2505.
- При необходимости измените следующие части кода
Определите каждый двигатель с его номером контакта и экраном:
Adafruit_DCMotor * motor1 = AFMS1.getMotor (1); // указываем, что двигатели постоянного тока подключены к первому щитуAdafruit_DCMotor * motor2 = AFMS1.getMotor (2); Adafruit_DCMotor * motor3 = AFMS1.getMotor (3); Adafruit_DCMotor * motor4 = AFMS1.getMotor (4); Adafruit_DCMotor * motor5 = AFMS2.getMotor (1); // указываем, что двигатели постоянного тока подключены ко второму щиту Adafruit_DCMotor * motor6 = AFMS2.getMotor (2); Adafruit_DCMotor * motor7 = AFMS2.getMotor (3); Adafruit_DCMotor * motor8 = AFMS2.getMotor (4);
Укажите количество используемых двигателей:
int nrOfMotors = 8;
Включите все используемые двигатели в массив:
Adafruit_DCMotor * motors [8] = {мотор1, мотор2, мотор3, мотор4, мотор5, мотор6, мотор7, мотор8, };
Включите все сенсорные выводы в массив:
сенсорные контакты без знака [3] = {A15, A14, A13, };
Загрузите код в Arduino Mega. Выполнено.
Шаг 3. Сделайте его пригодным для носки
В Инструкциях о том, как сделать SSAD пригодным для ношения (https://www.instructables.com/id/Making-the-SSAD-W…), приводится пример того, как прикрепить Arduino Uno и один моторный щит к корпусу.. Если вам нужно использовать Arduino Mega и несколько моторных щитов, набедренная сумка, как показано на рисунке, может быть решением для того, чтобы сделать прототип пригодным для носки.