[Презентация] Рука манипулятор на сервоприводах

Не подходит Презетация?
Создайте свою быстро и легко. Используйте нейросети, готовые шаблоны и голосового ИИ-помощника
Создать презентацию
Транскрипция презентации

Слайд 1: Рука манипулятор на сервоприводах

Итоговый проект по курсу "Основы создания встраиваемых систем на базе Arduino" Корсаков Дмитрий Максимович

Слайд 2: Целью итогового проекта выбрано создание руки - манипулятора, пальцы которой приводятся в движение сервоприводами SG90.

Для реализации данного проекта были использованы следующие компоненты:
Сервопривод SG90 - 6 шт; Arduino UNO R3 - 1 шт;
Кнопки - переключатели - 3 шт;
Макетная плата - 1 шт;

Печать "пальцев" и "ладони" производились на FDM принтере.


Слайд 3: Описание работы руки - манипулятора

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

Разгиб происходит за счёт возвращения сервопривода в обратное положение, резинка, закреплённая на конце пальца возвращает его в исходное положение.

Помимо сгибов пальцев реализован поворот положения большого пальца, за счёт поворота сервопривода.


Слайд 4: Конечный результат

Ввиду отсутствия части компонентов, а именно кнопок и соединительных элементов - проект не удалось реализовать в полной мере. Было возможно привезти в движение только 3 сервопривода из 6.

Тем не менее - проект удачен.
На приложенных фото и видео представлен конечный результат

Слайд 5: Листинг

#include const int button1Pin = 2; // пин для первой кнопки const int servo1Pin = 9; // пин для первого сервопривода const int button2Pin = 3; // пин для второй кнопки const int servo2Pin = 10; // пин для второго сервопривода const int button3Pin = 4; // пин для третьей кнопки const int servo3Pin = 11; // пин для третьего сервопривода Servo myServo1; // создание объекта для первого сервопривода Servo myServo2; // создание объекта для второго сервопривода Servo myServo3; // создание объекта для третьего сервопривода int buttonState1 = 0; // переменная для хранения текущего состояния первой кнопки int lastButtonState1 = 0; // переменная для хранения предыдущего состояния первой кнопки int servoPosition1 = 0; // переменная для хранения текущего положения первого сервопривода int buttonState2 = 0; // переменная для хранения текущего состояния второй кнопки int lastButtonState2 = 0; // переменная для хранения предыдущего состояния второй кнопки int servoPosition2 = 0; // переменная для хранения текущего положения второго сервопривода int buttonState3 = 0; // переменная для хранения текущего состояния третьей кнопки int lastButtonState3 = 0; // переменная для хранения предыдущего состояния третьей кнопки int servoPosition3 = 0; // переменная для хранения текущего положения третьего сервопривода void setup() { pinMode(button1Pin, INPUT); // установка пина первой кнопки как вход pinMode(button2Pin, INPUT); // установка пина второй кнопки как вход pinMode(button3Pin, INPUT); // установка пина третьей кнопки как вход myServo1.attach(servo1Pin); // присоединение первого сервопривода к пину myServo2.attach(servo2Pin); // присоединение второго сервопривода к пину myServo3.attach(servo3Pin); // присоединение третьего сервопривода к пину myServo1.write(0); // начальное положение первого сервопривода myServo2.write(0); // начальное положение второго сервопривода myServo3.write(0); // начальное положение третьего сервопривода } void loop() { // Работа с первой кнопкой и сервоприводом buttonState1 = digitalRead(button1Pin); // чтение состояния первой кнопки // Проверка, изменилось ли состояние первой кнопки if (buttonState1 != lastButtonState1) { if (buttonState1 == HIGH) { // если первая кнопка нажата if (servoPosition1 == 0) { myServo1.write(150); // поворот первого сервопривода на 180 градусов servoPosition1 = 150; } else { myServo1.write(0); // возвращение первого сервопривода в начальное положение servoPosition1 = 0; } } delay(50); // небольшой дебаунс } lastButtonState1 = buttonState1; // сохранение текущего состояния первой кнопки // Работа со второй кнопкой и сервоприводом buttonState2 = digitalRead(button2Pin); // чтение состояния второй кнопки // Проверка, изменилось ли состояние второй кнопки if (buttonState2 != lastButtonState2) { if (buttonState2 == HIGH) { // если вторая кнопка нажата if (servoPosition2 == 0) { myServo2.write(180); // поворот второго сервопривода на 180 градусов servoPosition2 = 180; } else { myServo2.write(0); // возвращение второго сервопривода в начальное положение servoPosition2 = 0; } } delay(50); // небольшой дебаунс } lastButtonState2 = buttonState2; // сохранение текущего состояния второй кнопки // Работа с третьей кнопкой и сервоприводом buttonState3 = digitalRead(button3Pin); // чтение состояния третьей кнопки // Проверка, изменилось ли состояние третьей кнопки if (buttonState3 != lastButtonState3) { if (buttonState3 == HIGH) { // если третья кнопка нажата if (servoPosition3 == 0) { myServo3.write(180); // поворот третьего сервопривода на 180 градусов servoPosition3 = 180; } else { myServo3.write(0); // возвращение третьего сервопривода в начальное положение servoPosition3 = 0; } } delay(50); // небольшой дебаунс } lastButtonState3 = buttonState3; // сохранение текущего состояния третьей кнопки }
Заберите Презентацию бесплатно FREE
Зарегистрируйтесь и отредактируйте её под свои задачи за пару минут.
Похожие презентации
Все презентации

Шаблоны презентаций, доступные бесплатно в редакторе Slider Ai

Бесплатные шаблоны в редакторе Slider
Шаблон презентации
Шаблон презентации
Шаблон презентации
Шаблон презентации
Шаблон презентации
Шаблон презентации
Все шаблоны
Презентация диз...
Текст
Медиа
Фигуры
Таблица
Диаграммы
3D модели
500
Создать
Отмена
1
Добавить слайд
Добро
пожаловать
в Slider Ai

Slider Ai наполнен функциями для всех, кто работает с презентациями

Добро
пожаловать
в Slider Ai
Попробовать Slider Ai

Нам доверяют

Кирилл В
трафик-менеджер
В редакторе я в основном оформляю свои кейсы для демонстрации клиентам. Как правило, использую готовый шаблон, прикрепляю документы и генерю презентацию как черновик, а потом уже добавляю данные по кейсам в виде диаграмм для наглядности, дорабатываю текст, визуал, но даже так времени это занимает на...
Читать полностью
Сергей Н
Руоководитель компании
Я в дизайне вообще ничего не понимаю, поэтому мне очень помогает функция, когда я могу просто накидать сырой текст на слайды, а затем все это причесать с помощью ии. Минут за 15 можно сделать аккуратную и стильную презентацию. Это реально сильно экономит силы и время.
Анна К
бренд-менеджер
Slider Ai для нас спасение при подготовке презентаций стратегии и отчетов для клиентов. В отличии от других редакторов, которыми мы с командой пользовались раньше, здесь не нужно быть дизайнером, чтобы создавать красивые презентации, за которые не стыдно перед важными клиентами.
Ирина М
отдел маркетинга
Как руководитель отдела, ценю, что с помощью Slider Ai все презентации команды выходят в едином корпоративном стиле. Это укрепляет бренд и выглядит профессионально. Встроенные диаграммы, особенно каскадные и Ганта, незаменимы для визуализации данных. Настройка бренд-кита заняла у нас 15 минут, и теп...
Читать полностью
Ольга М
бизнес-тренер
В редакторе Slider Ai мне проще делать презентации для своих выступлений, потому что нужно по минимуму что-то делать вручную, много функций, которые позволяют просто нажать на кнопку и получить готовый результат. Плюсом есть возможность добавить видео прямо на слайды, а еще использовать 3D модели, р...
Читать полностью

Ваша следующая великая работа всего в одном шаге от вас

Интерфейс редактора Slider Ai
Мы используем файлы cookie, чтобы улучшить работу сайта
Форма успешно отправлена