Бесполезная коробка своими руками: Про Ардуино и не только: Бесполезная коробка на ATmega328P

Про Ардуино и не только: Бесполезная коробка на ATmega328P

Бесполезная коробка на ATmega328P

Последнее время у меня в блоге одни микроконтроллеры, программаторы и загрузчики. Надо бы отвлечься и написать о чем-то, что можно собрать своими руками. Думаю, «бесполезная коробка» отлично подойдет для этого: эта забавная поделка обязательно понравится и ребенку, и взрослому, а сделать ее под силу каждому.

Необходимые компоненты

Для сборки бесполезной коробки потребуются:

  • Собственно коробочка. Ее можно сделать из дерева или фанеры.
  • Микроконтроллер ATmega328P. Можно использовать и Ардуино, но она будет значительно быстрее сажать батарею.
  • Тумблер.
  • Два сервопривода. Я использую самые дешевые SG90.
  • Батарейки/аккумулятор. Нам нужно 5-6 вольт.
  • Полевой транзистор (у меня под рукой только IRF540, он вполне подходит).
  • Сопротивление в несколько кОм, номинал особой роли не играет.

Прежде чем перейти к описанию изготовления бесполезной коробки я приведу несколько соображений, которых я придерживался. Во-первых, не хотелось бы устанавливать в такой игрушке дополнительный выключатель для управления ее питанием. То есть коробка должна быть всегда включена и готова к работе. Значит нужно позаботиться об энергосбережении в режиме ожидания. Поэтому желательно использовать именно отдельный микроконтроллер, а не Ардуино, так как он позволяет добиться значительного снижения энергопотребления. Я решил использовать ATmega328P с тактированием от внутреннего RC-генератора 8МГц. В режиме сна он потребляет менее 1мкА. Если вы планируете использовать Ардуино, то я бы порекомендовал Pro Mini 8MHz, из нее нужно выпаять светодиод-индикатор питания и запитать ее через пин 5V (в обход стабилизатора).

Если Ардуино / микроконтроллер можно перевести в режим энергосбережения, то картину портят сервоприводы: даже в режиме простоя они потребляют несколько миллиампер. Здесь-то и пригодится транзистор, с его помощью можно отключать питание сервоприводов пока микроконтроллер спит. Полевой транзистор удобен тем, что он управляется не током, а напряжением, потому весьма экономичен. Но, думаю, для этой задачи можно подобрать и биполярный транзистор.

Изготовление коробки

Для изготовления коробки подойдет фанера 6мм. Мне приятнее работать с деревом, поэтому я выстрогал дощечку указанной толщины из осины. Размеры коробки прикиньте сами, чтобы внутри уместились все компоненты. Главное требование: ширина коробки должна быть достаточной для размещения в ней сервопривода, чтобы его рычаг находился на одном уровне с тумблером, то есть посередине ширины коробки. Остальные размеры на ваше усмотрение.

Детали я выпилил на лобзиковом станке:

Детали для сборки бесполезной коробки

Рычаг, который выключает тумблер, я склеил из трех отдельных частей. Если делать его из фанеры, то он может быть и цельным. Чтобы определиться с размерами и формой рычага я установил тумблер в обрезке доски и приклеил к ней сервопривод на двусторонний скотч. Затем, соединив детали будущего рычага струбцинами, подобрал подходящую форму, чтобы он свободно поворачивался и доставал до тумблера:

Выбор подходящей формы для рычага
Готовый рычаг для выключения тумблера

Другой рычаг должен поднимать крышку, с его изготовлением нет ничего сложного. Можно было бы обойтись и пластиковым рычагом, что идет в комплекте с SG90, но он для этого коротковат.

Сами сервоприводы отлично держатся в коробке на двустороннем скотче.

Отдельно можно упомянуть о креплении рычагов к сервоприводам. К сервам хорошо подходят штатные пластиковые рычаги. Остается только соединить их с деревянными деталями. Я рассматривал разные варианты их соединения, в итоге остановился на следующем: в деревянной рейке просверлил отверстие для вала сервопривода и вырезал углубление по форме пластикового рычага. Вклеил в это углубление рычаг, сверху приклеил вторую рейку. Пластиковый рычаг оказался внутри деревянной «оправы». После высыхания клея я довел рычаг до ума на шлифовальном станке:

Петли для крышки я купил на Aliexress, у нас таких маленьких я не нашел. Чтобы крышка всегда была прикрыта, ее нужно подтянуть пружиной или резинкой:

Резинка удерживает крышку в закрытом состоянии

И, наконец, дно коробки я посадил на винты. Гайки под них установлены по углам коробки. Можно использовать вместо них маленькие гвозди, кому как нравится.

Дно коробки прикручивается винтами
Внутри игрушки

Схема и питание коробки

Нам нужно управлять работой двух сервоприводов и отслеживать состояние тумблера. Для этого подключим их к микроконтроллеру по следующей схеме:

Схема бесполезной коробки на ATmega328P

Как уже отмечалось, в моей коробке работает микроконтроллер ATmega328P. Я развел и вытравил под него плату (мои схема и разводка доступны в EasyEDA по ссылке: https://easyeda.com/VladimirTsibrov/uselessbox-on-atmega328p), сделал разъемы для подключения сервоприводов, питания и тумблера, а также вывел пины RX, TX и Reset. Подключившись к ним, можно заливать скетчи в микроконтроллер, не извлекая его из платы.

Эта же схема для тех, кто предпочитает Ардуино и схемы fritzing:

Схема для Ардуино

Отслеживать переключения тумблера удобно при помощи внешнего прерывания, поэтому он подключен к пину 2. Для управления сервоприводами нужны выводы, поддерживающие PWM, а для управления их питанием подойдет любой вывод. Я использовал пины 9, 10 и A5 для удобства разводки платы. Вы можете выбрать другие, внеся соответствующие изменения в скетч.

Для питания подойдут 4 «пальчиковые» батарейки. Учтите, что 6 вольт — это максимально допустимое напряжение для AVR микроконтроллеров, превышать его нельзя. А даташит и вовсе не рекомендует допускать длительную работу микроконтроллера при напряжении питания 6В. В режиме сна моя коробка потребляет около 0,2мкА. Я установил в нее щелочные батарейки, думаю, их хватит надолго.

Алгоритм работы и скетч

Алгоритм работы коробки можно описать примерно так:

1. В течение нескольких секунд ожидаем переключения тумблера. Дождавшись, переходим к пункту 4.

2. По истечении времени ожидания отключаем питание сервоприводов и переводим микроконтроллер в спящий режим.

3. Выход из спящего режима возможен по внешнему прерыванию. Таким образом при переключении тумблера микроконтроллер проснется, включит питание сервоприводов и мы снова окажемся на пункте 1.

4. Необходимо переключить тумблер.

4.1 Если микроконтроллер только что вышел из сна, то переключаем тумблер без эффектов. Так незнакомый с коробкой человек сразу поймет ее смысл. Возвращаемся к пункту 1.

4.2 Если это уже не первое переключение тумблера игроком после пробуждения микроконтроллера, то:

4.2.1 разнообразим поведение коробки эффектами (приоткрыть, похлопать крышкой и т.п.), после чего возвращаемся к пункту 4;

4.2.2 или переключим тумблер и вернемся к пункту 1.

5. Опять же чтобы разнообразить поведение коробки, после каждого переключения тумблера засекается время реакции игрока. Если игрок несколько раз подряд переключает тумблер за короткий промежуток времени, то рычаг не убирается, крышка не закрывается, а коробка переключает тумблер без эффектов. Это происходит до тех пор, пока игрок не сбавит темп.

Скетч, реализующий описанное поведение, можно скачать здесь. Разумеется, нужно будет самостоятельно подобрать позиции для сервоприводов и вписать их в скетч.

А вот и видео с получившейся игрушкой:

Как сделать бесполезную роботизированную коробку URoboBox, чертеж, прошивка

Многие из вас наверняка знают и видели гаджет под названием «Бесполезная коробка».

Но коробочка эта, вовсе не бесполезная, игра с ней дает немало положительных эмоций.

Решив позабавить своих детей, друзей и знакомых, я сделал URoboBox.

Это моя версия легендарной коробки.

Наткнулся в сети на такую штуку:

https://www.youtube.com/watch?v=mOPPas21Kbk

И еще вариант продвинутый вариант от LEGO:

В интернете также нашел инструкцию как собрать самостоятельно URoboBox – бесполезную роботизированную коробку.

URoboBox – Useless Robotic Box (Бесполезная Роботизированная Коробка).

Коробочка получилась простая, с минимальной начинкой доступной каждому. Для тех, кто хочет сделать такую коробку, прилагаю подробную инструкцию по сборке и все необходимые файлы. Для начала давайте посмотрим что получилось.

URoboBox в действии:

URoboBox может работать в двух режимах, случайный выбор движений и по порядку.

Коробочка имеет 7 движений для отключения тумблера, можно добавлять свои движения.

Если рычаг по каким-то причинам не может выключить тумблер, то после трех попыток коробочка переходит в режим ожидания.

Работа продолжится после отключение тумблера вручную.

Далее идет часть для тех кто желает собрать такую коробочку самостоятельно.

Работа URoboBox изнутри:

Корпус и рычаг вырезаны лазером из фанеры толщиной 4 мм.

Вы можете использовать любой другой материал, например, пластик, оргстекло.

Но толщина материала не должна превышать 4 мм, в противном случае, вам придется изменить чертежи.

Чертежи нарисованы в программе CorelDRAW X6.

Следуйте инструкции и у вас всё получится.

ВНИМАНИЕ: Вовремя сборки внимательно смотрите на фотографии и располагайте детали именно так, как они расположены на фото.

Необходимые компоненты:

  1. Плата Arduino. Я использую Arduino Mega, вы можете использовать любую другую.
  2. Тумблер с двумя положениями. Диаметр втулки с резьбой не должен превышать 6 мм.
  3. Серво. Я использую TowerPro g9. Если вы будете использовать другие серво, вам придется изменить чертежи крепления серво.
  4. Элементы питания.
  5. Супер клей. Маленькие тюбики, желательно гель.
  6. Шесть маленьких саморезов диаметром до 2.5 мм.
  7. Сверло 2 мм, 1 мм. Дрель или шуруповерт.

Инструкция по сборке:

Крепление для Arduino.

  1. Возьмите необходимые детали. Расположите их точно также как на фото (рис. 1).
  2. Переверните боковую стенку, поставьте детали крепления (гантельки) в прямоугольные отверстия (рис. 2).
  3. Сделайте отметки с двух сторон у каждой «гантельки», примерно посередине, между прямоугольными отверстиями (рис. 2 и рис. 3).
  4. Поочередно, установите «гантельки» с обратной (внутренней стороны) и просверлите отверстия (сверло 2 мм) в местах указанных точками на рисунке (рис. 3). Сверлите таким образом, чтобы сверло вошло в стенку «гантельки» прямо по центру. Диаметр сверла зависит от диаметра самореза.
  5. Закрепите «гантельки» саморезами (рис. 4, рис. 5).
  6. Возьмите пластинку для крепления Arduino. Приложите к ней плату так, чтобы совпали отверстия для креплений. Отметьте где будет находиться гнездо USB и куда оно направлено (рис. 6).
  7. Нанесите клей на паз «гантелек» (рис. 7), приложите пластину крепления Ардуино к «гантелькам» и дождитесь пока она приклеится.

Вот что у вас должно получиться: 

Корпус

  1. Разложите детали так, как показано на фото (рис. 8). Синими стрелками указаны основные элементы деталей, убедитесь, что ваши детали лежат также.
  2. Склейте скотчем: дно, левый торец, заднюю стенку и правый торец (видео 2). Соблюдайте расположение деталей.
    3. Нанесите клей на торцы пазов дна и передней стенки (рис. 9). Прижмите переднюю стенку и дождитесь высыхания клея. У вас должно получиться так (видео 3).
  3. Склейте скотчем: дно, левый торец, переднюю стенку и правый торец. Нанесите клей на торцы пазов дна и задней стенки (рис. 10).
  4. Прижмите заднюю стенку соблюдая расположение деталей и дождитесь высыхания клея. Вот что у вас должно получиться (видео 4).
  5. Со стороны правого торца, намажьте клеем торцы пазов задней стенки, дна и передней стенки. Аккуратно вставьте правый торец в пазы и дождитесь засыхания клея.
  6. Левый торец приклеивать не нужно.

Вот что должно получится:

Левая верхняя крышка:

  1. Возьмите корпус, левую крышку и 2 крючка (рис. 11).
  2. Приклейте крючки. Крючок в корпусе должен быть направлен прорезью в сторону левого торца коробки. Крючок на крышке должен быть направлен прорезью в сторону правого торца (рис. 12), (рис. 13).
  3. Возьмите канцелярскую скрепку, распрямите её и откусите кусачками два куска по 3 см. Загните оба отрезка как показано на рисунке (рис. 14).
  4. Уберите стенку левого торца, приложите правую верхнюю крышка как показано на рисунке (рис. 13) и просверлите отверстие (сверло 1 мм) в указанных на картинке местах (рис. 15). Сверло должно пройти сквозь боковые стенки и в середину торца верхней крышки.
  5. Вставьте в просверленные отверстия скобы из канцелярской скрепки (рис. 16).
  6. Загните каждую скобу так, чтобы «свободный» конец был направлен внутрь корпуса (рис. 17).
  7. Возьмите резинку для денег, сложите её в двое, закрутите на нужное число оборотов и наденьте на крючки (рис. 18).

Вот что у вас должно получиться:

Крепление серво, рычага, тумблер, завершение сборки:

  1. Возьмите крепление для серво и сам сервопривод (рис. 19).
  2. Вставьте серво в прямоугольное отверстие, при этом вал серво должен быть ближе к верхнему краю крепления. Нижняя часть крепления обозначена отверстием (рис. 20, рис. 21). Закрепите серво шурупами или винтиками M2 (пример на фото), предварительно просверлив отверстия (сверло 2 мм).
  3. Возьмите две части рычага (рис. 22), склейте их или соедините винтиками (пример на фото). Прикрутите качалку от серво точно также, как на фото (рис. 23).
  4. Поставьте серво в положение 0 градусов и закрепите рычаг на серво. Прямая часть рычага должна быть направлена вниз (рис. 24).
  5. Возьмите тумблер, провода штекера и сопротивление 10 кОм. Припаяйте провода и сопротивление как на картинке (рис. 25).
  6. Закрепите тумблер в правой верхней крышке как на картинке (рис. 26).
  7. Если у вас не Arduino Mega, тогда изготовьте вот такой провод (рис. 27).
  8. Подключите все компоненты к ардуино, смотрите схему (рис. 28, рис. 29, рис. 30).
  9. Закрепите Ардуино. Установите крепление с серво таким образом, чтобы вал серво был направлен в сторону задней стенки. Блок с батареями можно разместить на стенке левого торца (рис. 31, рис. 32).
  10. Закрепите верхнюю правую крышку и левый торец при помощи шурупов. Предварительно, под шурупы просверлите отверстия (сверло 2 мм) (рис. 33).

Вот что у вас должно получиться:

Настройка программы:

Откройте код для URoboBox. В самом начале кода, вы увидите раздел настроек.

  1. Укажите пины на которых подключены серво (пин 3) и тумблер (пин 2).
  2. Укажите минимальное положение рычага, по умолчанию 10. Максимальное положение рычага, в диапазоне от 90 до 110. Укажите такой градус, при котором в максимальном положении рычаг будет выключать тумблер.
  3. Укажите пин для светодиода подсветки.
  4. Выберите режим работы URoboBox, 1 – Выбор движений в случайном порядке, 2 – Движения идут по порядку.
  5. Общее число движений. Измените это число, если вы добавляли свои движения, укажите общее число движений.
  6. Настройте движение Shake, читайте описание в коде.

Файлы проекта:

Код URoboBox для Arduino (СКАЧАТЬ)

Архив с файлом чертежей URoboBox для лазерной резки. Файл создан в программе CorelDRAW X6. (СКАЧАТЬ)

А еще есть робот неваляшка

Робот-собака своими руками:

Радио-управляемая машина на ТВ пульте:

Источник

GF Ручная коробка памяти для парня, но парень сказал: «Это бесполезная чепуха»

Последние статьи

Вам знакомо это чувство, когда вы встаете на учительский стол в классе, достаете гитару и поете тройку -минутная песня для вашей любви, только для того, чтобы получить озадаченное лицо и ответ «Кто ты?»

Нет? Ну, у одной девушки из Гонконга точно есть, только все гораздо хуже.


Реклама


Подарок на 6-месячную годовщину

Эта девушка была в отношениях со своим парнем в течение шести месяцев и хотела отметить это событие, сделав подарок для своего парня своими руками.

Подарком была «взрывная коробка памяти». Звучит так, как если бы вы подарили врагу, но на самом деле это невероятно приятный подарок.

Когда подарочную коробку открывают, ее стенки складываются и становятся одной большой многослойной картой с фотографиями, наклейками и милыми сообщениями.

Изображение: ET Today

Согласно ET Today, сделать это — трудоемкая задача, но девушка была полна решимости сделать что-то памятное для своего парня.

Вы, наверное, думаете: « Ой, шо шо ».

Изображение: Instagram (memoryboxeg)

Если только ты не ее парень.

«Бесполезный хлам»

Когда ее парень видел, как она покупает все материалы для подарка, он спрашивал, почему ей так нравится покупать «мусор».


Реклама


Но романтика не обходится без препятствий, поэтому девушка проявила настойчивость и продолжила делать коробку, надеясь, что ее парень будет тронут подарком.

Она заполнила коробку фотографиями их самых счастливых моментов, романтическими сообщениями и украшениями.

Но когда она отдала его своему парню, он взглянул на него и сказал: «Это бесполезная ерунда».

Изображение: Giphy

Девушка была, мягко говоря, в шоке и расплакалась.

Даже когда она позже описала, сколько времени и усилий она вложила в подарок для него, ее бойфренд остался равнодушным и даже повторил свои чувства, сказав: «Ну, это действительно вздор. Что я могу с этим сделать?»

Естественно, девушка была убита горем. Как кто-то может говорить что-то настолько жестокое после всех усилий, которые я приложил, чтобы показать им свою признательность?

Ее бойфренд определенно поднимает практичность на совершенно новый уровень. Не хотелось бы спрашивать, что он подарил ей на день рождения. Наверное, тостер или часы.


Реклама


Пост в Facebook

Задаваясь вопросом, была ли это нормальная реакция или она сходит с ума, девушка поделилась своим опытом в посте на Facebook.

Она сказала: «Обычно, когда я делаю для него какие-либо открытки, он просто игнорирует их и даже не читает сообщения, которые я написала внутри, пока я не открою их для него. Ребята, вы думаете, я тупой? Он потратил столько времени, чтобы сделать это для него, но в конце концов ему это даже не нравится. Мне нужно было просто перестать дарить ему подарки».

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

Если только у вас нет холодного черного камня вместо сердца, я уверен, что мы все можем согласиться, что единственная вещь, которая здесь «бесполезна», — это ее бойфренд.

Пожалуйста, вынесите мусор.

Useless Box DIY Kit Бесполезная машина Подарок на день рождения Игрушка Geek Gadget Fun Office Home Desk Decor

Описание продукта

Useless Box DIY Kit Бесполезная машина Подарок на день рождения Игрушка Geek Gadget Fun Office Home Desk Decor

Описание:
. Акриловые+электронные детали
Размер в собранном виде: около 140*80*60 мм
Требуемая батарея: 2 батарейки AA 1,5 В (НЕ ВКЛЮЧЕНЫ)

Особенности:
Бесконечное веселье: Совершенно бесполезная коробка, которая обеспечивает бесконечное веселье! С этой вечной машиной каждый раз, когда вы включаете выключатель, мизинец выскакивает и выключается!
Набор «Сделай сам»: бесполезный набор «Сделай сам» не поставляется в собранном виде. Отличный подарок геймеру. Идеально подходит в качестве крутого подарка гаджета для подростков.

ПРИМЕЧАНИЕ:
На пластины (поверхность коробки) нанесена защитная пластиковая пленка. Вы можете отклеить их или нет.
Опасность удушья – мелкие детали. НЕ подходит для детей младше 3 лет.

В пакет включено:
1 X Бесполезная коробка DIY Kit

Более подробные фотографии:

Дополнительная информация

При заказе на Alexnld.com вы получите подтверждение по электронной почте. Как только ваш заказ будет отправлен, вам будет отправлена ​​электронная почта с информацией об отслеживании доставки вашего заказа. Вы можете выбрать предпочтительный способ доставки на странице корзины в процессе оформления заказа. Мы предлагаем 3 способа международной доставки:

1.  Авиапочта  – Бесплатная экономичная доставка без отслеживания через национальные почтовые службы ( Почта Израиля, Почта Гонконга, Почта Сингапура, Почта Китая, Почта Нидерландов, Почта Швейцарии, Почта Швеции, USPS, Королевская почта и т. д. )
2.  Авиапочта зарегистрирована  – Отслеживаемая доставка через национальные почтовые службы ( Почта Израиля, Почта Гонконга, Почта Сингапура, Почта Китая, PostNL, Почта Швейцарии, Почта Швеции, USPS, Королевская почта и т.  д. )
3.  Ускоренная доставка Доставка  — Экспресс-доставка с курьерской доставкой ( DHL, UPS, FedEx, TNT )

Время доставки

Авиапочта и зарегистрированная авиапочта Район Расчетное время доставки
США, Канада 7-25 рабочих дней
Австралия, Новая Зеландия, Сингапур, Объединенные Арабские Эмираты 10-25 рабочих дней
Великобритания, Франция, Испания, Германия, Нидерланды, Япония, Бельгия, Дания, Финляндия, Ирландия, Израиль, Норвегия, Португалия, Швеция, Швейцария 10-25 рабочих дней
Италия, Бразилия, Россия, ЮАР 10-45 рабочих дней
Другие страны 10-35 рабочих дней
Ускоренная доставка 3-10 рабочих дней по всему миру

Мы принимаем оплату через PayPal,и с помощью кредитной карты.

Оплата с помощью PayPal / кредитной карты —

ПРИМЕЧАНИЕ: Ваш заказ будет отправлен на ваш адрес PayPal. Убедитесь, что вы выбрали или ввели правильный адрес доставки.

1) Войдите в свою учетную запись или используйте кредитную карту Express.

2) Введите данные своей карты, заказ будет отправлен на ваш адрес PayPal. и нажмите Отправить.

3) Ваш платеж будет обработан, и квитанция будет отправлена ​​на ваш почтовый ящик.

Возврат

Если по какой-либо причине вы не полностью удовлетворены своей покупкой, вы можете вернуть ее нам для полного возврата средств в течение 15 дней с даты доставки . Все возвращенные товары должны быть в новом и неиспользованном состоянии, со всеми прикрепленными оригинальными бирками и этикетками.

Процесс возврата

Чтобы вернуть товар, отправьте электронное письмо в нашу службу поддержки по адресу sales@alexnld. com, чтобы получить номер разрешения на возврат товара (RMA). После получения номера RMA надежно поместите товар в оригинальную упаковку и отправьте возврат по следующему адресу:

Alex NLD
Attn: Returns
RMA #
HaGiborim St 8
Tiberias, 14388
Israel

Обратите внимание, вы будете нести ответственность за стоимость обратной доставки. Мы настоятельно рекомендуем вам использовать отслеживаемый метод для отправки вашего возврата по почте.

Все покупатели должны связаться с нами и получить номер разрешения на возврат товара (RMA), прежде чем отправлять нам что-либо. Мы не несем ответственности за возвращенные товары без предварительного уведомления.

Возврат

После получения вашего возврата и проверки состояния вашего товара, мы обработаем ваш возврат на кредитную/дебетовую карту или счет PayPal, который использовался для размещения первоначального заказа.

Пожалуйста, подождите не менее семи (7) дней с момента получения вашего товара, чтобы обработать ваш возврат. Возмещение средств может занять 1-2 платежных цикла, прежде чем они появятся в выписке по вашей кредитной карте, в зависимости от компании, выпустившей вашу кредитную карту. Мы сообщим вам по электронной почте, когда ваш возврат будет обработан.

Исключения

Если товар окажется поврежденным или дефектным при получении, мы просим вас связаться с нами в течение 15 дней с даты доставки, чтобы организовать возврат или обмен без физического возврата товара.

Пожалуйста, предоставьте нам следующее:

1. Фотографии передней и задней сторон упаковочной коробки;
2. Фото, видео или скриншот бракованного товара или бракованной части посылки.

Наша служба поддержки клиентов свяжется с вами, чтобы организовать возврат или повторную отправку без физического возврата товара.

Гарантийное и ремонтное обслуживание

Если какой-либо из приобретенных у нас товаров окажется дефектным в течение 1 года с момента получения, вы имеете право на гарантийный ремонт.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *