Фигурки на настольный футбол своими руками. Настольный футбол своими руками. Контроллер на серверной стороне

Чтобы сделать умный настольный футбол, нам понадобится:

  • обычный глупый настольный футбол — 1шт.,
  • контроллер Arduino — 1шт.,
  • лазер — 2шт.,
  • фоторезистор — 2шт.,
  • несколько заинтересованных людей,
  • свободные выходные.

Предыстория

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

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

  • А давайте сделаем электронную очередь!
  • И чтобы стол сам голы считал!
  • И мог определить кто из нас круче!
  • И смски пусть присылает, что освободился!

И все разбежались гуглить.

День 1

В пятницу вечером группа единомышленников-футболопоклонников собралась возле виновника торжества - стола - на совещание. Поделились нагугленным, определились с основными требованиями и технологиями, распределили роли, повертели в руках выпрошенный у начальства микроконтроллер.

День 2

Первым делом в субботу утром развинтили стол. Чтобы научить его отслеживать забитые голы, прицепили 2 лазера и 2 фоторезистора на ворота и контроллер Arduino посередине. Систему придумали такую: когда в область между лазером и фоторезистором попадает мяч, контроллер фиксирует изменение напряжения на сенсоре. Так, изменение напряжения является следствием изменения сопротивления на фоторезисторе. Принципиальная схема изображена ниже.

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

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

Arduino:

Лазеры:

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

  • Режимы игры 1x1, 2x2.
  • Уровни игроков.
  • Коллекционирование достижений игроков.
  • Ведение личных и командных рейтингов.
  • Звуковое сопровождение игры.

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

Разработка велась параллельно по трем веткам:

  1. Клиентская сторона — Angular.js, Bootstrap.
  2. Создали основные страницы приложения, оформили дизайн, реализовали взаимодействие с сервером через Rest API и Socket.io. Адаптировали верстку под мобильные устройства.
  3. Серверная сторона — Node.js, Socket.io, MongoDB.
  4. Создали структуру проекта, разработали модель данных, настроили взаимосвязь между клиентом и сервером, разграничение по правам доступа. Реализовали логику по расчёту статистики, коллекционированию достижений, ведению рейтингов. Сделали оповещение клиента о возникающих событиях при помощи Socket.io.
  5. Взаимосвязь между Arduino и сервером.
  6. Написали прослойку между контроллером и сервером.

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

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

Конечно же, было бы правильнее организовать беспроводную передачу данных между Adruino и сервером, используя wi-fi или bluetooth модули для взаимодействия с сервером. Или даже использовать Raspberry Pi как сервер для нашего приложения. Но у нас не было ни первого, ни второго, ни третьего, зато был компот старый компьютер, который все еще мог послужить нам в качестве сервера. Поэтому наш сервер соединен со столом при помощи USB кабеля, и все общение между Arduino и сервером происходит через COM-порт.

Arduino получает с порта сигналы о включении/выключении лазеров и, в свою очередь, отправляет сигналы о зафиксированных голах на сервер.

Скетч для Arduino:

Контроллер на серверной стороне:

Здесь мониторим порт, к которому подключён Arduino. При получении команды, генерируем то или иное событие. Для запуска и остановки Arduino у нас есть две специальных функции start и stop, которые управляют включением и выключением лазеров.

Пример обработки событий:

Таким образом, к концу второго дня мы получили рабочую базовую функциональность клиента и сервера и готовую прослойку по взаимодействию с Arduino.

День 3

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

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

Наконец, все собрано, подключено, запуск - заработало!

Приступили к функциональному тестированию. Ладно-ладно, играли в футбол, чего уж тут)

Парочка багфиксингов, небольшой допил и...PROFIT! Умный футбол готов.

Итог

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

Надеемся статья была хоть сколько-нибудь полезной и вдохновит вас на собственные эксперименты. Всем удачи!

Основание игры (см. рис.) - фанера размером 1160x580x20 мм. Из нее же изготовляются и боковые стенки высотой 160 мм. В стенках сверлятся отверстия, через которые будут продеваться стержни, «управляющие» игроками. Конструкция скрепляется клеем и шурупами, а углы усиливаются металлическими угольниками. Чтобы мяч не задерживался в углах, вклейте в них треугольные брусочки.

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

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

А - игровое поле; В - управляющий стержень с опорой: 1 - опора, 2 - металлическая пластина, 3 - трубка, 4 - штифт, 5 - пластиковая втулка. 6 - фетровое кольцо, 7 - кольцо-ограничитель; В - размещение игроков: 1 - линия вратаря, 2 - защитники, 3 - полузащитники, 4 - нападающие. X - расстояние продольного движения стержня.

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

Фигуры футболистов сделайте из фанеры толщиной 5 мм и прикрепите их к стержням болтиками М3.

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

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

а - резинка подложенная под ножки, чтобы они не сдвигались при игре;
б - торцевая часть ножки;
в - длинная боковина;
г - днище - поле;
д - короткая боковина;
е - часть ножки;
ж - упорное кольцо;
з - рукоятка управления «игроком».

Столик для игры сделайте из дощечек толщиной 15 мм, скрепив их, как показано на рисунке. Дощечки возьмите от ящиков, в которых перевозят мебель, холодильники или консервы. Их надо тщательно обстругать, лучше всего обработать с помощью рубанка и перед тем, как собрать, просверлить отверстия для ручек, с помощью которых вы будете управлять игроками. Из тех же дощечек сделайте ножки стола.
Способ крепления - самый простой - на шурупах.

Круглые рукоятки выстругайте из реек сечением 12х12 мм. На один их конец наденьте резиновые ручки, сделанные из старого шланга, а посредине - на расстояниях, указанных на чертеже, посадите ограничители, сделав их из кусков того же резинового водопроводного шланга.
Материалы:
Доски толщиной 15, шириной 110 и длиной 800 мм - 2 шт., доски размерами 15х110х470 мм - 2 шт., то же размерами 700х100х20 мм - 8 шт., круглые рейки диаметром 12 мм и длиной 600 мм - 8 шт., лист фанеры размером 800x70 мм - 1 шт., куски дерева и проволоки диаметром 3 мм - для изготовления «игроков» и ворот.

В одном иностранном блоге мы с сыном увидели идею сделать настольный футбол.

Поскольку сыну пока еще 3 с половиной года не хотелось бы тратиться на большой настольный футбол решили сделать эту игрушку своими руками.

Поделки для детей своими руками - это оказалость проще простого) Итак, что же нам понадобилось:

Трубочки длинные и толстые;

Обувная коробка;

Упаковка разноцветных прищепок;

Разноцветная клейкая лента;

Деревянные шпажки;

Ножницы.

Немного комментариев по некоторым принадлежностям.

1. Трубочки. Мы купили толстые трубочки за счет зазора в прищепках, но если зазор в прищепке маленький, то можно и тонкие трубочки.

Трубочки должны быть длинными.

2. Разноцветные прищепки. Хотели купить деревянные прищепки и украсить их декоративным скотчем, но их не оказалось в магазине, поэтому подошли и пластиковые.

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

4. Обувная коробка. У нас коробка от детской обуви, поэтому получился совсем мини-футбол. Исходя из своего опыта советовали бы брать лучше коробку от взрослой обуви, подлиннее она и поле для игры больше будет.

5. Разноцветный скотч. Это чудо штука просто. Сын с удовольствием украшал коробку (дизайн выбирал сам, так что вот такое футбольное поле у нас получилось). Мы взяли скотч Fashion Angels . Можно украсить и бумагой разноцветной. Я забыла на работе клей, так что все, что не делается - все к лучше. Скотчем потом Даня украсил не только футбол, а и свои ящики для игрушек, столик и уже даже хотел украшать мой мобильный.

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

А вот наши эмоции после во время игры в футбол:)

P.S. Видео и фото сделаны на мобильный телефон - приносим извинения за качество.

Поделки с детьми - это всегда увлекательно и весело:)

Плюсы

Свернуть
  • - экономия средств на покупке настольного футбола
    - улыбка и радость на лице ребенка
    - дополнительная возможность увлекательно провести время с детками