Текущее время: 10 сен 2024, 22:07

Калининград & ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Параллельное подключение серводвигателей SG90 к Arduino UNO

Тут собраны схемы различных устройств и роботизированных механизмов, сделанных на контроллерах Ардуино, Лазерный гравер на Ардуино, Металлоискатель на Ардуино, Метеостанция, Кодовый замок, и множество других устройств и изобретений
Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Параллельное подключение серводвигателей SG90 к Arduino UNO

Сообщение -=dp=- » 28 май 2019, 11:01

Всем привет!
Решил поделится своим опытом и наработками ;)
Представляю вам проект - "Псевдо-колонки" или "Псевдо-динамики" на Ардуино.
или
Параллельное подключение серводвигателей SG90 к Arduino UNO!

Заказчик поставил задачу - сделать фейковые колонки, чтобы динамики у них двигались как будто у настоящих :D
Что то, где то будут ими украшать :D
Всего необходимо сделать 10 колонок с 20-тью динамиками, разделенные на 2 части по 5 колонок, 10 динамиков в каждой.

Итаак, приступаем к разработке ;)

Для реализации данного проекта нам понадобятся комплектующие:
Контроллер Ардуино УНО - 2 шт
Серводвигатели SG90 или их аналоги - 20 шт
Понижающий преобразователь напряжения DC-DC Step down на 5 V 2A - 2шт
Блок питания AC220V- 12V 4A - 2 шт
Монтажные провода, прямые руки, 3Д принтер ;)

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

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 28 май 2019, 11:05

Для написания скетча воспользуемся стандартной библиотекой Servo.h

Вот собственно весь скетч:
Код: выделить все
#include <Servo.h>

Servo myservo1;
Servo myservo2;

int pos1 = 0;
int pos2 = 0;

void setup() {
  myservo1.attach(9);
  myservo2.attach(8);
}

void loop() {
//-------Effect-1--------------------------
  for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    delay(5);
  }

  for (pos2 = 0; pos2 <= 45; pos2 += 1) {
    myservo2.write(pos2);
    delay(5);
  }
   
   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    delay(5);
  }
 
  for (pos2 = 45; pos2 >= 0; pos2 -= 1) {
    myservo2.write(pos2);
    delay(5);
  }

  for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    delay(5);
  }

  for (pos2 = 0; pos2 <= 45; pos2 += 1) {
    myservo2.write(pos2);
    delay(5);
  }
   
   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    delay(5);
  }
 
  for (pos2 = 45; pos2 >= 0; pos2 -= 1) {
    myservo2.write(pos2);
    delay(5);
  }
 
  for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    delay(5);
  }

  for (pos2 = 0; pos2 <= 45; pos2 += 1) {
    myservo2.write(pos2);
    delay(5);
  }
   
   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    delay(5);
  }
 
  for (pos2 = 45; pos2 >= 0; pos2 -= 1) {
    myservo2.write(pos2);
    delay(5);
  }

//---------Effect-2--------------------------

 for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

     for (pos1 = 0; pos1 <= 45; pos1 += 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

   for (pos1 = 45; pos1 >= 0; pos1 -= 1) {
    myservo1.write(pos1);
    myservo2.write(pos1);
    delay(7);
  }

}





В скетче реализовано два эффекта движения сервоприводов, попеременный и одновременный.
Угол поворота выбран 45 градусов, так как для реализации поставленной задачи нам больше и не надо :ugeek:

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 28 май 2019, 11:19

А дальше начинается самое интересное - 3Д моделирование механических частей конструкции и печать.
Все созданные для данного проекта 3Д модели я выложу чуть позже на сайте thingiverse.com
Процесс 3Д моделирования я фотографировать не стал, а вот фото готовых напечатанных деталей сделал ;)

Фото деталей напечатанных на 3Д принтере:
1.jpg


А тут уже детали закреплены в фейковой колонке:
2.jpg


И еще фото с другого ракурса:
3.jpg
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 08 июн 2019, 10:39

Выкладываю фотографии 3D моделей всех деталей

1.jpg

2.jpg

3.jpg
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 08 июн 2019, 10:41

4.jpg

Arduino and Servo SG90 Dynamic 1.JPG

Arduino and Servo SG90 Dynamic 5.JPG
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 08 июн 2019, 11:05

Еще фото

Arduino and Servo SG90 Dynamic 2.JPG


Arduino and Servo SG90 Dynamic 3.JPG


Arduino and Servo SG90 Dynamic 4.JPG
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 08 июн 2019, 11:15

Выложил 3D модели деталей на сайте https://www.thingiverse.com/thing:3678296

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Параллельное подключение серводвигателей SG90 к Arduino

Сообщение -=dp=- » 08 июн 2019, 13:46

Отснял и выложил видео с демонстрацией работы фейкового динамика на Ардуино :roll:
:arrow: https://youtu.be/BC5K4Xuutlw


Вернуться в Робототехника на Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2