Текущее время: 21 июл 2019, 13:41

Город ХОББИ

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

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

Тут собраны различные проекты на Ардуино
Аватар пользователя
 
Сообщений: 729
Зарегистрирован: 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
параллельное подключение серводвигателей SG90



Аватар пользователя
 
Сообщений: 729
Зарегистрирован: 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:



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

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

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

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

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


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


И еще фото с другого ракурса:
3.jpg
Подключение серводвигателей к Ардуино



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

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

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

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

1.jpg
pseudo speaker arduino and servo sg90
1.jpg (27.47 KiB) Просмотров: 400

2.jpg
псевдо динамик на ардуино

3.jpg
динамик на ардуино
3.jpg (65.35 KiB) Просмотров: 400



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

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

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

4.jpg
динамик на ардуино и servo sg90
4.jpg (49.53 KiB) Просмотров: 400

Arduino and Servo SG90 Dynamic 1.JPG
собранный прототип динамика на ардуино

Arduino and Servo SG90 Dynamic 5.JPG
arduino fake speaker



Аватар пользователя
 
Сообщений: 729
Зарегистрирован: 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
параллельное соединение серводвигателей Servo SG90



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

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

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

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



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

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

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

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




Вернуться в Проекты на Ардуино

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

Сейчас этот форум просматривают: Google [Bot] и гости: 2