Форум автозвука и установки музыки в автомобиль
Страница 16 из 23 ПерваяПервая ... 6121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 229

Corsa: Оттенки серого

  1. #151
    Активист Бригадир
    Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 122041 Аватар для IlSan
    Регистрация
    27.08.2010
    Город/село
    23
    Сообщений
    778
    Спасибо (Раздал)
    2762
    Спасибо (Получил)
    1464

    Re: Corsa: Оттенки серого

    Ром, я те говорил, про сей саб...Немного не в темку ,10" Кикера (2х2 Ома), Псих, "тянул" хорошо, а с АИЕ-шной 10" (заказывал 2х4 Ома), в 19-ти литрах, ваще здорово и очень "вкусненько" получилось (удивительно, но АИЕ-шка играет "мясистие" Кикера и при этом гораздо скорострельней)! Ну и ещё один плюсик "получился", уровень мидов, в отношении к сабику, приходилось прибирать или "вытягивать" саб по отношению к мидам, теперь все гейны "по-нолям"!


  2. # 0+

    Если Вы впервые на нашем Форуме:

    1. Обратите внимание на список полезных тем в первом сообщении.
    2. Термины и наиболее популярные модели в сообщениях подсвечиваются быстрыми подсказками и ссылками на соответствующие статьи в МагВикипедии и Каталоге.
    3. Для изучения Форума не обязательно регистрироваться - практически весь профильный контент, включая файлы, картинки и видео, открыты для гостей.

    С наилучшими пожеланиями,
    Администрация Форума автозвука Магнитола


     

  3. #152
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Цитата Сообщение от x-diz Посмотреть сообщение
    не, так это не то
    Лёгкий саб 2+2

    я взял в итоге VIBE BA10-V4
    Нажмите на изображение для увеличения
Название: 01.jpg
Просмотров: 0
Размер:	127.0 Кб
ID:	1152612Нажмите на изображение для увеличения
Название: 02.jpg
Просмотров: 0
Размер:	115.0 Кб
ID:	1152614Нажмите на изображение для увеличения
Название: 09.jpg
Просмотров: 0
Размер:	131.4 Кб
ID:	1152616

    Сабвуферный динамик 10 дюймов Vibe BA 10. Лаборатория. Групповой тест.
    Сабвуфер калибра 10" VIBE BA10-V4. Одноклассники



  4. #153
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Цитата Сообщение от IlSan Посмотреть сообщение
    Ром, я те говорил, про сей саб...Немного не в темку ,10" Кикера (2х2 Ома), Псих, "тянул" хорошо, а с АИЕ-шной 10" (заказывал 2х4 Ома), в 19-ти литрах, ваще здорово и очень "вкусненько" получилось (удивительно, но АИЕ-шка играет "мясистие" Кикера и при этом гораздо скорострельней)! Ну и ещё один плюсик "получился", уровень мидов, в отношении к сабику, приходилось прибирать или "вытягивать" саб по отношению к мидам, теперь все гейны "по-нолям"!
    Саш, у меня при первом включении, чтоб хоть как то услышать саб впринципе, пришлось его в +5. Если через недельку так и не разыграется - буду менять


  5. #154
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Нажмите на изображение для увеличения
Название: 852bfe9s-960.jpg
Просмотров: 0
Размер:	225.2 Кб
ID:	1154658
    пашти готово!



  6. #155
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Итак, проект реализации управления источником штатными средствами полностью реализован, код отлажен, работа безупречная!
    Подробный отчет:

    Начнем с линии питания.
    Адаптер (теперь можно называть его так) имеет две параллельные линии питания с двумя реле.
    1) первая линия стандартная, реле управляется ремотом с ГУ
    2) вторая линия с реле, которое управляется самой ардуино
    Нажмите на изображение для увеличения
Название: 43cc899s-960.jpg
Просмотров: 0
Размер:	150.6 Кб
ID:	1157214

    Сделано это для того, чтобы ввести задержку на выключение источника. Пошел в магазин, на заправку, к тещё, посцать или еще куда, машину заглушил....при этом плеер автоматом встал на паузу и ждет тебя час! Пришел назад, вставил ключ, завел машину - плеер автоматом продолжил играть с заданного времени. Вот видео реализации этого алгоритма, тест на телике:


    Теперь о том, как это создавалось. Исходные данные: ардуино нано, DC-DC понижайка и рассыпуха резюков со всякой мелочью:
    Нажмите на изображение для увеличения
Название: ef4c899s-960.jpg
Просмотров: 0
Размер:	190.9 Кб
ID:	1157216

    Понижайкой выставляем напряжение на входе в ардуино 9В (говорят так лучше)
    Нажмите на изображение для увеличения
Название: 4cc899s-960.jpg
Просмотров: 0
Размер:	212.4 Кб
ID:	1157218

    Дальше полная схема такова:
    Нажмите на изображение для увеличения
Название: e2cc899s-960.jpg
Просмотров: 0
Размер:	163.1 Кб
ID:	1157220

    Сначала собираем схему приемника (в левом верхнем углу), чтобы считать команды с пульта:
    Нажмите на изображение для увеличения
Название: 4acc899s-960.jpg
Просмотров: 0
Размер:	180.9 Кб
ID:	1157222
    В конечной сборке приемник не нужен.

    Красивый корпус позаимствовал от акустики Airtone BSA-17CS:
    Нажмите на изображение для увеличения
Название: 2acc899s-960.jpg
Просмотров: 156
Размер:	39.6 Кб
ID:	1157224

    Его дербаним, удаляем штатную клеммную колодку и ставим маленькую, причем с другой стороны:
    Нажмите на изображение для увеличения
Название: 6acc899s-960.jpg
Просмотров: 0
Размер:	223.0 Кб
ID:	1157226

    Туда же впихyем невпихyемое (всё остальное по схеме)
    Нажмите на изображение для увеличения
Название: 16cc899s-960.jpg
Просмотров: 0
Размер:	263.4 Кб
ID:	1157228

    Конечный вид макаранного монстра с крышкой и без:
    Нажмите на изображение для увеличения
Название: 56cc899s-960.jpg
Просмотров: 0
Размер:	154.2 Кб
ID:	1157230Нажмите на изображение для увеличения
Название: 59cc899s-960.jpg
Просмотров: 0
Размер:	195.1 Кб
ID:	1157232

    По факту имеем следующее изделие с практически заводским видом: клеммная колодка закрыта крышкой - хрен замкнешь, по бокам выведен вход для лепестка, ик-светодио и жгут к рулевому адаптеру. Все жгуты в ленте TESA - очень классная!
    Нажмите на изображение для увеличения
Название: 35cc899s-960.jpg
Просмотров: 0
Размер:	184.7 Кб
ID:	1157234Нажмите на изображение для увеличения
Название: cdcc899s-960.jpg
Просмотров: 0
Размер:	133.5 Кб
ID:	1157236

    Идем в машину, меняем лепесток:
    Нажмите на изображение для увеличения
Название: 7cc899s-960.jpg
Просмотров: 0
Размер:	220.2 Кб
ID:	1157238

    На силовой кронштейн за бардачком могучими хомутами лепим адаптер:
    Нажмите на изображение для увеличения
Название: b7cc899s-960.jpg
Просмотров: 0
Размер:	242.5 Кб
ID:	1157240Нажмите на изображение для увеличения
Название: c2c899s-960.jpg
Просмотров: 0
Размер:	172.5 Кб
ID:	1157242

    Подключаем к нему питания, ремот с ГУ и выход питания плеером. Вся надёжно - вилочки-фигилочки
    Нажмите на изображение для увеличения
Название: e02c899s-960.jpg
Просмотров: 0
Размер:	277.3 Кб
ID:	1157244Нажмите на изображение для увеличения
Название: d42c899s-960.jpg
Просмотров: 0
Размер:	279.3 Кб
ID:	1157246

    ИК-приемник плеера клеим на бардачок сзажи, напротив адаптера:
    Нажмите на изображение для увеличения
Название: 22c899s-960.jpg
Просмотров: 0
Размер:	219.1 Кб
ID:	1157248

    Т.е. вся коммутация по сути стационарная, бардачок просто ставится назад, а сообщается с адаптером по воздуху, никаких проводов:
    Нажмите на изображение для увеличения
Название: b22c899s-960.jpg
Просмотров: 0
Размер:	93.3 Кб
ID:	1157250

    Ну и очень советую глянуть видео, как это всё работает. А работает безупречно:


    Ну и тем, кто понимает, либо кому может однажды понадобится, под спойлером полный код программы:

    Осторожно, C++

    #include <IRremote.h> // подключаем ИК-библиотеку
    IRsend irsend; // по умолчанию 3й выход для ИК-диода

    int remin; // объявляем ремотИн
    int remout = 5; // объявляем ремотАут и назначаем ему порт 5
    bool rem_state=false; // статус ремоут
    unsigned long rem_Time; // время ремоута

    int button1; // кнопка лепестка
    int button1_state = 0; // статус кнопки лепестка
    unsigned long button1_Time; //время нажатия кнопки на лепестке

    int wheel; // кнопки руля
    int wheel_state = 0; // статус кнопки руля
    int wheel2_state = 0; // статус кнопки 2 руля
    int wheel3_state = 0; // статус кнопки громкости вверх
    int wheel4_state = 0; //статус кнопки громкости вниз
    int wheel5_state = 0; // статус кнопки меню
    unsigned long wheel_Time; //время нажатия кнопки руля
    unsigned long wheel2_Time; //время нажатия кнопки 2 руля
    unsigned long wheel3_Time; //время кнопки громкости вверх
    unsigned long wheel4_Time; //время кнопки громкости вниз
    unsigned long wheel5_Time; //время кнопки меню

    void setup() {
    // Serial.begin (9600);
    pinMode(button1,INPUT); // лепесток = вход
    pinMode(remout, OUTPUT); // ремАут - выход
    pinMode(remin,INPUT); // ремИн - вход
    digitalWrite(remout, LOW); // задаем начальное состояние реле "выключено"
    pinMode(wheel,INPUT); // рулевой адаптер - вход

    }

    void loop() {


    remin=analogRead(A2); // считываем показания на входе ремоута
    button1=analogRead(A0); // считываю напряжение на входе с лепестка
    wheel=analogRead(A4); // показания с адаптера руля

    //------------------------------скетч выполнения программы REMOTE и команды play/pause--------------------

    if(remin > 100) // если ремоут приходит - замыкаем реле
    {
    digitalWrite(remout, HIGH);

    rem_Time = millis();

    if (!rem_state) // если ремоут приходит - посылаем команду play
    {
    irsend.sendNEC(0x20202FD, 32);
    rem_state=true;
    }
    }

    if(remin < 100) // если ремоут пропадает, отключаем реле через 1 час
    {

    if(millis() - rem_Time > 3600000)
    {
    digitalWrite(remout, LOW);
    }

    if (rem_state) // если ремоут пропадает, посылаем команду PAUSE
    {
    irsend.sendNEC(0x20202FD, 32);
    rem_state=false;
    }
    }

    //----------------------------скетч передачи команд с лепестка-------------------------------


    if (button1 < 840 && button1 > 820 && button1_state==0) // фиксируем время, когда последний раз кнопка была отпущена
    {
    button1_Time = millis();
    }

    if (millis()-button1_Time > 10 && millis()-button1_Time < 500 && button1 < 1015 && button1 > 1000) // если было короткое нажатие кнопки
    {
    button1_state=1; // статус кнопки: "было короткое нажатие"
    }

    if (button1 < 840 && button1 > 820 && button1_state==1 && wheel < 330 && wheel > 320) // если кнопка отпущена, но короткое нажатие было, посылаем сигнал
    {
    irsend.sendNEC(0x202B04F, 32);
    button1_state=0; //обнуляем статус кнопки
    }

    if ( millis()- button1_Time > 300 && button1 < 1015 && button1 > 1000 && button1_state==1) // если зафиксировано долгое нажатие, посылаем сигнал пульта

    {
    irsend.sendNEC(0x20242BD, 32);
    button1_state=2; // статус кнопки: зажата
    }

    if (button1 < 840 && button1 > 820 && button1_state==2) // если кнопка была зажата, но уже отпущена - обнуляем статус кнопки
    {
    button1_state=0;

    }

    if (button1 < 1000 && button1 > 980) // если лепесток повернут вперед, посылаем команду вверх
    {irsend.sendNEC(0x202D02F, 32);
    delay (100);
    }

    if(button1 < 970 && button1 > 945) // если лепесток повернут назад, посылаем команду вниз
    {irsend.sendNEC(0x202708F, 32);
    delay (100);
    }
    //----------------------------скетч передачи команд с руля---------------------------------

    //volume up----------------------------------

    if (wheel < 330 && wheel > 320 && wheel3_state==0)
    {
    wheel3_Time = millis();
    }

    if (millis()-wheel3_Time > 10 && millis()-wheel3_Time < 600 && wheel < 275 && wheel > 265)
    {
    wheel3_state=1;
    }

    if (wheel < 330 && wheel > 320 && wheel3_state==1)
    {
    irsend.sendNEC(0x202A857, 32); //громкость вверх 1 раз
    wheel3_state=0;
    }

    if ( millis()- wheel3_Time > 600 && wheel < 275 && wheel > 265 && wheel3_state==1)

    {
    irsend.sendNEC(0x202A857, 32); //громкость вверх, если кнопка зажата
    wheel3_state=2;
    }

    if (wheel < 275 && wheel > 265 && wheel3_state==2)

    {
    irsend.sendNEC(0x202A857, 32); //громкость вверх, если кнопка все еще зажата
    }
    if (wheel < 330 && wheel > 320 && wheel3_state==2)
    {
    wheel3_state=0;
    }

    //volume down----------------------------------------------

    if (wheel < 330 && wheel > 320 && wheel4_state==0)
    {
    wheel4_Time = millis();
    }

    if (millis()-wheel4_Time > 20 && millis()-wheel4_Time <= 600 && wheel < 290 && wheel > 280)
    {
    wheel4_state=1;
    }

    if (wheel < 330 && wheel > 320 && wheel4_state==1)
    {
    irsend.sendNEC(0x20238C7, 32);
    wheel4_state=0;
    }

    if ( millis()- wheel4_Time > 600 && wheel < 290 && wheel > 280 && wheel4_state==1)

    {
    irsend.sendNEC(0x20238C7, 32);
    wheel4_state=2;
    }

    if (wheel < 290 && wheel > 280 && wheel4_state==2)

    {
    irsend.sendNEC(0x20238C7, 32);
    }
    if (wheel < 330 && wheel > 320 && wheel4_state==2)
    {
    wheel4_state=0;
    }

    //next track & right--------------------------------------------------

    if (wheel < 330 && wheel > 320 && wheel_state==0)
    {
    wheel_Time = millis();
    }

    if (millis()-wheel_Time > 10 && millis()-wheel_Time < 600 && wheel < 231 && wheel > 225)
    {
    wheel_state=1;
    }

    if (wheel < 330 && wheel > 320 && wheel_state==1)
    {
    irsend.sendNEC(0x202F807, 32); // следующий трэк
    delay (200);
    wheel_state=0;
    }

    if ( millis()- wheel_Time > 600 && wheel < 231 && wheel > 225 && wheel_state==1) // если зафиксировано долгое нажатие, посылаем "RIGHT"

    {
    irsend.sendNEC(0x2028877, 32); //перемотка
    wheel_state=2;
    delay(500);
    }

    if (wheel < 231 && wheel > 225 && wheel_state==2)

    {
    irsend.sendNEC(0x2028877, 32); //перемотка
    delay(500);
    }
    if (wheel < 330 && wheel > 325 && wheel_state==2)
    {
    wheel_state=0;
    }

    //prev track & left----------------------------------------------

    if (wheel < 330 && wheel > 320 && wheel2_state==0)
    {
    wheel2_Time = millis();
    }

    if (millis()-wheel2_Time > 10 && millis()-wheel2_Time < 600 && wheel < 255 && wheel > 250)
    {
    wheel2_state=1;
    }

    if (wheel < 330 && wheel > 320 && wheel2_state==1)
    {
    irsend.sendNEC(0x2027887, 32); //предыдущий трэк
    delay (200);
    wheel2_state=0;
    }

    if ( millis()- wheel2_Time > 1000 && wheel < 255 && wheel > 250 && wheel2_state==1) // если зафиксировано долгое нажатие, посылаем "LEFT"

    {
    irsend.sendNEC(0x20208F7, 32); //перемотка назад
    wheel2_state=2;
    delay(500);
    }

    if (wheel < 255 && wheel > 250 && wheel2_state==2)

    {
    irsend.sendNEC(0x20208F7, 32); //перемотка назад
    delay(500);
    }
    if (wheel < 330 && wheel > 320 && wheel2_state==2) // если кнопка была зажата, но уже отпущена - обнуляем статус кнопки
    {
    wheel2_state=0;
    }

    // play-pause----------------------------------------

    if (wheel < 100 && wheel > 85)
    {irsend.sendNEC(0x20202FD, 32);
    delay (100);
    }

    // menu (home)-----------------------------------------
    if (wheel < 330 && wheel > 320 && wheel5_state==0)
    {
    wheel5_Time = millis();
    }

    if (millis()-wheel5_Time > 10 && millis()-wheel5_Time < 600 && wheel < 235 && wheel >= 232) // если было короткое нажатие кнопки
    {
    wheel5_state=1;
    }

    if (wheel < 330 && wheel > 320 && wheel5_state==1) // если кнопка отпущена, но короткое нажатие было, посылаем сигнал пульта "OK"
    {
    wheel5_state=0;
    }

    // menu (green)-----------------------------------------

    if ( millis()- wheel5_Time > 3000 && wheel < 235 && wheel >= 232 && wheel5_state==1)
    { irsend.sendNEC(0x20258A7, 32); // меню короткое нажатие+длинное
    wheel5_state=2;
    }

    if (wheel < 330 && wheel > 320 && wheel5_state==2) // фиксируем время, когда последний раз кнопка2 была отпущена
    {
    wheel5_state=0;
    }

    if ( button1 < 1015 && button1 > 1000 && wheel < 235 && wheel >= 232)
    { irsend.sendNEC(0x202DA25, 32); //меню "грин" длинное нажатие + лепесток
    delay (200);
    }

    }




    Доволен как слон! Хочу отметить, что это очень увлекательное занятие, я прям получил удовольствие во время изучения темы. Хотя и сжег 2 платы ардуино, ик-приемник с передатчиком и что то еще по мелочи Но куда без этого!


  7. #156
    маХЕРовый Начальник смены Array Репутация: лучше не знать Аватар для Rover
    Регистрация
    05.06.2006
    Город/село
    г. Жуковский
    Сообщений
    1,851
    Спасибо (Раздал)
    848
    Спасибо (Получил)
    4412

    Re: Corsa: Оттенки серого

    Цитата Сообщение от Андреичъ Посмотреть сообщение
    Начнем с линии питания.
    Адаптер (теперь можно называть его так) имеет две параллельные линии питания с двумя реле.
    1) первая линия стандартная, реле управляется ремотом с ГУ
    2) вторая линия с реле, которое управляется самой ардуино


    Сделано это для того, чтобы ввести задержку на выключение источника. Пошел в магазин, на заправку, к тещё, посцать или еще куда, машину заглушил....при этом плеер автоматом встал на паузу и ждет тебя час!
    А это вариант для тех, кому покупка Ардуино дорого , а программирование гемор:
    https://ru.aliexpress.com/item/32695951655.html


  8. #157
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Цитата Сообщение от Rover Посмотреть сообщение
    А это вариант для тех, кому покупка Ардуино дорого , а программирование гемор:
    https://ru.aliexpress.com/item/32695951655.html
    был еще и третий вариант, повторить то, что мне однажды Аркадий паял в Красную:
    Нажмите на изображение для увеличения
Название: 13940ccs-960.jpg
Просмотров: 0
Размер:	231.4 Кб
ID:	1157274
    Но фишка то как раз в том, что всё в одном устройстве


  9. #158
    Pioneer Мастер-приемщик
    Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 713154 Аватар для mohov_a
    Регистрация
    19.02.2012
    Город/село
    РФ
    Сообщений
    8,196
    Спасибо (Раздал)
    14162
    Спасибо (Получил)
    11886

    Re: Corsa: Оттенки серого

    КрасавчеГ!!! И паяльник пригодился! У меня лежит 2 таких плеера... Как думаешь в поло можно приспособить такой же вариант? У меня громкость, треки и мьют на руле. Как саб, ожил?


  10. #159
    Вечно пьяный Технический директор
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 1408230 Аватар для Андреичъ
    Регистрация
    01.08.2011
    Город/село
    МО
    Сообщений
    11,496
    Спасибо (Раздал)
    29213
    Спасибо (Получил)
    34852
    Автор

    Re: Corsa: Оттенки серого

    Цитата Сообщение от mohov_a Посмотреть сообщение
    Как думаешь в поло можно приспособить такой же вариант?
    А я не знаю, там кнопки резистивные или по КАН? в любом случае, можно конечно!

    ---------- Сообщение добавлено 28.07.2017 в 16:10 ----------

    Цитата Сообщение от mohov_a Посмотреть сообщение
    Как саб, ожил?
    ну можно и так сказать. я сейчас обкатываю еще один вариант с двумя Airtone S10, они 4-омные, но мотор по сути мидовый - они не прожорливые. по результату оставлю или вайб или две аиртошки


  11. #160
    Активист Установщик
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 11187
    Регистрация
    27.03.2017
    Город/село
    Москва
    Сообщений
    318
    Спасибо (Раздал)
    179
    Спасибо (Получил)
    138

    Re: Corsa: Оттенки серого

    Андреичъ программист Зачет!


Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  cc by-nc-sa