Как сделать свой процессинг

Обновлено: 08.07.2024

Хотелось ли вам сделать свою игру? А управлять собственной игрой с собственного джойстика?

Если да, то вы по адресу!

Что такое Processing?

Processing – это язык программирования, основанный на Java. С помощью него легко можно “оживить” показания датчиков, а из скучных цифр устроить красочную анимацию.

Кстати, Arduino IDE написана на Processing.

Поехали!

Так как Processing не предназначен для создания игр, от сложных проектов придется отказаться.

А вот небольшую игру из 90ых накодить – пожалуйста.

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

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

Начнем с необходимых сегодня компонентов. Их немного:

  • Arduino UNO – для считывания показаний с джойстика и передачи их в Processing через Serial port.
  • Модуль Джойстик – для управления платформой.
  • Компьютер с установленными Arduino IDE и Processing .

Схема джойстика

  • Vcc – подключается к выводу в 5V
  • VER или X – подключается к A0
  • HOR или Y – подключается к А1
  • SEL или SW – подключается к 2
  • Gnd – подключается к земле

Готовый джойстик

Сейчас нужно подумать, как же связать Arduino и компьютер. Для этого и существует Serial port. Помните – мы использовали Serial monitor в Arduino IDE для просмотра показаний с датчиков? Теперь с помощью передачи данных с джойстика в Serial мы сможем управлять платформой. Осталось разобраться с тем, каким образом мы будем это делать.

Алгоритм

  • Джойстик – пишем код на Arduino IDE, с помощью которого считываем показания с джойстика.
  • Serial – отправляем показания джойстика в Processing с помощью Serial.
  • Processing – обрабатываем поступившие показания и пишем код игры на Processing.

Джойстик и Serial

Открываем Arduino IDE и пишем код.

Протокол?

Возможности Serial port ограничены передачей только одного показания, а показаний то у нас целых три – ось Х, ось Y и кнопка. Для этого и нужны протоколы связи. Что такое протокол?

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

Так и с устройствами. Они не могут понимать друг друга без протокола связи. Он устанавливает правила общения между устройствами и позволяет им понимать друг друга. Если хочется более полного и “мудреного” объяснения загляните в Википедию.

Вернемся к скетчу. Данные с джойстика отправляются в виде:

ОсьY, ОсьX, Кнопка *Переход на другую строку*

Это и есть наш протокол. Осталось научить Processing его распознавать.

Processing

Теперь нужно открыть Processing.

Начнем с “дешифровки” нашего протокола.

Код

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

Игра

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

Пояснения

Структура игры состоит из методов или функций, которые взаимодействуя друг с другом, создают игру. А метод draw выводит на экран картинку производимых действий.

Так как Processing не предназначен для создания игр, в нем нет функции о соприкосновении объектов друг с другом, поэтому пришлось определять момент столкновения по координатам, что несколько сложнее.

Каждое действие должно подлежать описанию, а для того чтобы определить действия используются переменные, которые меняют свое значение в соответствии с выполняемым сейчас действием. К примеру – при запуске игры значение переменной start равно нулю, в это время на экране мы видим надпись “Press the button!”, а при нажатии кнопки, значение переменной start становится равным единице и начинается игра.

Итог

Ура! Получился Арканоид V1.0. Я собираюсь дальше улучшать его и привести к канонам настоящего Арканоида с бонусами и уровнями, с кирпичами и блоками.

Геймплей Арканоида можно посмотреть на видео.

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

Прикрепленные файлы:

Симилячник Опубликована: 18.08.2016 0 1


Вознаградить Я собрал 0 1

Любая духовная практика ориентирована на рассмотрение пространства, внутри которого находится человек. Человек сам создает и поддерживает свое пространство.

Для наглядности выше сказанное можно представить следующим образом: каждый человек находится внутри какого-то дома. У одного – это огромный дворец, у другого – жалкая лачуга. Однако ни обладатель дворца, ни житель хижины не имеют никого представления о том строении, внутри которого находятся и не могут его изменять, достраивать, перестраивать и так далее. Они так же не могут воздействовать на предметы, находящиеся внутри жилища (кровати, шкафы, стулья, столы и так далее).

Пространство человека, создается им, как Духовным существом на духовном уровне. Человек, как правило, не осознает своего духовного начала, поэтому не воспринимает себя, как создателя собственного пространства и не имеет к нему доступа (не может его рассматривать и управлять им).

В каждый момент времени человек находится в каком-то пространстве.

Рассмотрение пространства возможно только с духовного уровня, поэтому если индивид отрицает свою духовную природу, он не может воспользоваться процессингом и другими духовными методиками.

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

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

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

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

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

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

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

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

Однако, вне зависимости от того, как человек относится к своему пространству, оно есть у каждого. (У каждого есть дом, внутри которого он живет).

Границы пространства задаются фиксированными идеями.

Фиксированная идея – это мысль. Мысль невидима и неощутима. Ее невозможно осязать. Человек не видит фиксированные идеи, поэтому он и не воспринимает границы своего пространства.

Идея – это рабочий инструмент для Духовного существа. Посредством идей Духовное существо проявляет себя в общей реальности, формирует эту реальность и воздействует на нее.

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

То есть — осознанно и произвольно созданные человеком идеи не связывают его внимание.

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

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

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

Человек, как правило, не хочет смотреть на области, в которых реальность противоречит фиксированным идеям, задающим , ограничивающим его пространство. Для него фиксированные идеи – данность, абсолютное знание, которое никогда не пересматривается. Для того чтобы сохранить фиксированные идеи (границы своего пространства), индивид отказывается воспринимать реальность, проявления которой не соответствуют смысловой нагрузке фиксированных идей. Так формируются зоны неконфронта.

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

Все, что связано с зонами неконфронта, индивид не может честно обозначать и концептуализировать. (Концептуализировать — формировать понятие, осмыслять, занимать определенную точку зрения).

Для того чтобы обойти нежелание человека смотреть и честно рассматривать область проблемы и позволить ему осуществить концептуализацию явления, лежащего в основе проблемы,

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

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

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

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

В точках зашифрованы идеи.

Идеи, образующие пространство, в котором оказался индивид (углы комнаты) всегда фиксированные.

Тем, чем индивид управляет, он может обладать. По отношению к тому, чем обладает, индивид занимает причинную позицию. Причинная позиция – это позиция Создателя. Заняв позицию Создателя, индивид может это рассмотреть и рассоздать.

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

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

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

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

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

Игровая структура формируется сразу же после того, как игрок изъявляет свое желание принять участие в игре и входит на игровую площадку.

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

А вновь прибывший игрок в свою очередь создает энное количество копий шаблона игры и помещает их всем участникам игры в их пространства. (В нашем примере новый игрок создает миллион копий шаблона игры и помещает свой шаблон каждому из участников игры).

Но Духовное существо одновременно создает и воспринимает прошлое, настоящее и будущее. Поэтому создает игровую структуру оно одновременно в прошлом, настоящем и будущем. (Человек живет в линейном формате времени и может проявлять себя только в настоящем моменте и управлять только настоящим. Прошлым для него является то, что уже произошло, и на что он не может больше повлиять. Будущим – то, что должно произойти. Из настоящего момента человек может опосредованно влиять на будущее своим действием, или бездействием).

1. Поток из настоящего в настоящее
2. Поток из настоящего в будущее.
3. Поток из настоящего в прошлое.
4. Поток из будущего в будущее.
5. Поток из будущего в настоящее.
6. Поток из будущего в прошлое.
7. Поток из прошлого в прошлое.
8. Поток из прошлого в настоящее.
9. Поток из прошлого в будущее.

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

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

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

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

Сущности, обслуживающие игровую структуру выполняют разные функции – одни обслуживают кубы, другие голографические линии. Их можно обрабатывать по раздельности, или вместе (кому как удобнее).

Сущности делятся на:

- сущностей, отвечающих за сохранность игровой структуры (за кубы и голографические линии)

- сущностей, охраняющих сущностей, отвечающих за сохранность игровой структуры — охранников

- сущностей ремонтирующих сущностей, отвечающих за сохранность игровой структуры – ремонтеров

- сущностей резидентов – отслеживающих как другие участники игры следуют программам игровых структур, как они их выполняют.

Каждая разновидность сущностей имеет своих клонов. Сущность клон – сущность идентичная по качествам и свойствам своей сущности – прототипу. Создается для того, чтобы заменить сущность — прототип в случае, если первая не может больше выполнять возложенные на нее функции (в случае ее порчи, гибели и так далее ).

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

Услышав эту команду, ваши сущности возвратятся в ваше пространство, а чужие отправятся в пространство своих хозяев.

Разгон сущностей следует производить по девяти магическим потокам.

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

Индивид является полноправным хозяином своего пространства. Поэтому если сущности не торопятся выполнять его приказы, значит, он сам саботирует свои решения и удерживает их. В этом случае следует прояснить, зачем индивид пытается сохранить пространство, которое рассоздает, и на какие дивиденды от этого он рассчитывает. Как правило, оказывается, что индивид запрещает другим освободиться от игры, так как боится, что другие в результате станут намного успешнее, чем он сам, и всем будет видна его несостоятельность и не успешность. То есть, для того, чтобы скрыть свое истинное положение (истинное лицо), он продолжает поддерживать проигрышную игру. Однако, ограничивая других, он ограничивает и себя. Для наглядности эту ситуацию можно представить следующим образом: духовное существо – это солнце. Солнце не может светить сегментарно, оно светит по всему периметру. Если духовное существо блокирует какие-то возможности и способности у других, то в той же степени оно блокирует эти возможности и способности и для себя. В результате свечение по всему периметру солнца становится менее ярким. Окружность солнца не разбивается на чередующиеся участки темноты и яркого света.

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

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

На этом рассоздание изначально обозначенного пространства считается завершенным.

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

  1. Пространство, в котором вы находились в момент…
  2. Пространство, в котором вы находитесь сейчас.
  3. Пространство, в котором вы находились до того, как…
  4. Пространство, в котором вы находитесь сейчас.
  5. Пространство, в котором вы оказались после того, как…
  6. Пространство, в котором вы находитесь сейчас.
  7. Пространство, в котором вы могли бы находиться вместо того, как …
  8. Пространство, в котором вы находитесь сейчас.

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

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

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

Другая интересная тенденция заключается в том, что на рынок вышли серьезные иностранные игроки. А это, в свою очередь, создает дополнительные предпосылки для перехода на аутсорсинг процессинговых услуг крупных российских банков. В США и Европе наиболее распространенной практикой является передача процессинга банковских карт на аутсорсинг. Западная идеология строится на том, что банковский бизнес - это одно, а процессинг - нечто иное. К примеру, во всей Европе на полмиллиарда карточек приходится около 70 процессинговых центров, причем как независимых, так и принадлежащих крупнейшим банкам-эмитентам наподобие британского Barclays.

По оценкам McKinsey, о рентабельности собственного процессинга в банке можно говорить, если среднегодовое количество обслуживаемых транзакций превысило 500 млн. Пока этот рубеж не достигнут, аутсорсинг процессинга - единственное экономически эффективное решение, считают представители Global Payments Russia. Эксперты компании утверждают, что многие западные финансовые организации отдают предпочтение затратам на профильный бизнес, т.е. на развитие собственно банковских продуктов и услуг. И с точки зрения западного банковского стратегического инвестора, ситуация, когда российский банк имеет собственный процессинговый центр, не способствует увеличению капитализации этого банка, а, наоборот, отрицательно влияет на его общую стоимость, подчеркивают эксперты Global Payments Russia. Имеющиеся на балансе нематериальные активы только усиливают неэффективность всего этого бизнеса.

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

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

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

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

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

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

КОГДА ИМИДЖ СИЛЬНЕЕ ЭКОНОМИИ

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

Почему, несмотря на мировую практику и достаточно показательные преимущества использования аутсор-синговых схем на российском рынке, доминирует процессинг in-house, т.е. банки предпочитают создавать собственные процессинговые центры?

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

Так, реально обозримый срок окупаемости - три года. Количество эмитированных карт должно составлять 100-300 тыс. Число операций -100-120 тыс. в месяц. Терминальная сеть банка должна насчитывать 100-300 банкоматов.

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

ПЛЮСЫ СОБСТВЕННОГО ПРОЦЕССИНГА

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

Компании, предоставляющие аутсорсинговые услуги, как правило, обслуживают сразу несколько клиентов. Можно предположить ситуацию, когда одновременно сразу всем клиентам аут-сорсера понадобится модернизация их систем или внедрение новых проектов. Понятно, что либо кому-то будет отказано в реализации их запросов, либо задержится срок исполнения заказа. Маловероятно, что компания-аутсорсер обладает такими ресурсами, которые способны в любой момент обслужить клиента в максимально сжатые сроки и при этом 90% времени не использоваться собственно по назначению. Это чрезвычайно дорого.

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

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

ГОДОВОЙ ОТЧЕТ 2021

Узнайте, когда делать переходные проводки по новым ФСБУ, чтобы они не попали в отчетность за 2021 год.

Только 4 февраля пошаговый разбор заполнения годового отчета с учетом новых ФСБУ на большом вебинаре с одним из лучших спикеров по бухучету, аудитором, главным методологом ГК Energy Consulting А. Рабиновичем.


Здравствуйте, дорогие друзья! С сегодняшнего дня мы начинаем изучать взаимодействие платформы Arduino с программной средой Processing.

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

Весь урок будет разбит на 6 частей:

Общая часть

Давайте же разберемся что такое Processing, как его настроить и запустить!

Processing — это открытый язык программирования, основанный на java с простым и понятным си-подобным синтаксисом. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.

В принципе, также можно создавать даже 3D-аппликации (в том числе и игры), ведь processing имеет средства поддержки OpenGL. Все эти возможности, в совокупности с большим количеством функций и очень логичным синтаксисом, делают этот язык идеальным для обучения и прививания интереса к программированию.

Имеются инструменты для построения графических примитивов, 3D-объектов, работа со светом, текстом, инструментами трансформации. Также мы можем импортировать и эскпортировать файлы аудио/видео/звуковых форматов, обрабатывать события мыши/клавиатуры, работать со сторонними библиотеками (openGL, PDF, DXF), работать с сетью.

Как видите, этот язык очень богат разнообразными функциями и инструментами. Хотелось бы показать несколько примеров работы Arduino и Processing.





Как Вы видите, интерфейс приложений получается очень интересным и эффектным. Все зависит только от Вашей фантазии и желания.

Теперь давайте познакомимся с данным языком подробнее. Для начала скачиваем среду разработки PDE (Processing Development Evironment) с официального сайта. Перейдя на сайт, нажимаем на кнопку Dowload Processing


Затем скачиваем, нажав на свою операционную систему


После того, как архив загрузился, распаковываем его в удобную папку. И из распакованной папки запускаем файл под названием processing.exe

Перед нами открывается вот такое окно:


Не правда ли знакомый интерфейс? А все потому, что среда для Arduino как раз основана на этой среде.

Также, как и в Arduino IDE, в Processing'е есть две основные функции:

Пример

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

Нам нужны следующие компоненты:


Для начала собираем вот такую схему:


У меня получилось вот так:



Теперь открываем Arduino IDE и вставляем следующий скетч:

Подробно на этом останавливаться не будем, т.к. предполагается, что начав изучать графическую среду PDE, Вы уже изучили Arduino и понимаете смысл кода. Скажу только то, что в этом коде считывается значение с аналогового входа A0(potPin). И это значение записывается в цифровом диапазоне в переменную val. Которую затем мы отправляем в последовательный порт.

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

Перед тем как запустить, давайте разберемся с кодом.

  • Импортируем Serial библиотеку
  • Создаем объект Serial под названием port
  • Создаем переменную float типа val. Это значение мы будем получать с Arduino. То самое значение, которое меняется с изменением сопротивления потенциометра
  • Так же как и в Arduino IDE, в Processing'e имеется функция setup() . Первым делом, в этой функции, надо создать наше рабочее окно. Создаем окно с размерами 300х300 пикселей
  • Инициализируем наш порт. Также как в Arduino Serial.begin. Только немного иначе. У меня Arduino подключено к порту "COM3" (у Вас этот порт может быть другим).
  • Теперь проверяем, поступает ли на наш порт что-нибудь. ('\n') - символ, означающий перевод на новую строку.
  • Функция drow() (как и loop() в Arduino IDE), работает как бесконечный цикл обновления экрана. Функция background(R,G,B), где R-красный, G-зеленый, B-синий цвета. Меняет фон созданного нами окна. В данном случае, мы будем менять только зеленый цвет, от черного, до ярко-зеленного.
  • Следующая функция serialEvent(Serial port). Данная функция вызывается автоматически, при поступлении новых данных на порт, основываясь на buferUntil который мы указали в функцииsetup().
  • Теперь мы считываем значение, которое приходит на наш порт, преобразуем его к типу с плавающей точкой, и записываем его в переменную val. Мы считываем полностью всю строку, до прихода символа '\n'.

Теперь давайте запустим нашу программу. И посмотрим что у нас получилось.

Видео работы такого устройства:

Как Вы видите, все очень красиво и просто. Давайте же теперь перейдем к экспериментам.

Эксперимент 1

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

Что нам нужно для эксперимента:


Собираем вот такую схему:


У меня получилось так:



Теперь надо изменить прошивку нашего Arduino. Для этого нужно вставить вот такой скетч в Arduino IDE:

Здесь, в принципе, все тоже самое что и в предыдущем скетче. Имеются три переменные, отвечающие за порт своего потенциометра (R,G,B). Мы считываем значение и отправляем. Но! На приемной стороне нам нужно понять, какое из значений соответствует какому цвету. Для этого разбиваем диапазон значений.

Например, для красного цвета, значения будут колебаться от 0 до 255. У зеленого цвета, от 256 до 511. И у синего от 512 до 767. Т.е на каждый цвет 256 значений.

Теперь открываем PDE и вставляем этот код:

Как Вы видите, в принципе все тоже самое. Но изменилось условие приема значений в функции serialEvent. Например. пришло значение. Записываем его в переменную val. Теперь, если это значение от 0 до 255, значит это пришло значение красного цвета. Записываем его в переменную R. Если приходят значения от 256 до 511, то программа понимает, что пришли значения зеленого цвета. Сопоставляет их с цифровым диапазоном, и записывает в переменную G. Тоже самое и с синим цветом.

Теперь, когда мы приняли значения красного, зеленого и синего цветов, нужно эти значения применить. Все это происходит в функции drow().

  • Меняет фон нашего окна, на цвет, который является суммой всех трех цветов.
  • Теперь добавляем квадрат c помощью функции rect(x,y,a,b), где x-начальная координата по xоси, y - начальная координата по y оси, a - ширина квадрата (в пикселях), b - высота квадрата. Начальные координаты отсчитываются от верхнего левого угла. Т.е в верхнем левом углу координаты X и Y равны 0.
    Квадрат будет иметь заливку, описанную в функцииfill(R,G,B).
  • По аналогии добавляем еще два квадрата. Со своими координатами и заливкой

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

Если запустить программу, то результат будет таков:

Эксперимент 2

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

Менять код Arduino мы не будем. Изменим только скетч Processing'a.

Как Вы видите, мы добавили 10 квадратов, разных размеров и цветов. Последний квадрат имеет самые маленькие размеры и его заливкой будет сумма всех цветов.

Давайте же посмотрим что у нас получилось:

Задание для самостоятельного выполнения

    Измените программу, чтобы при изменении сопротивлений потенциометров, менялась заливка не квадратов, а окружностей. А также заливка фона была суммой всех цветов. Функция для окружности ellipse(x,y,a,b); Где x и y - координаты центра окружности. А a и b - диаметры по оси X и Y соответственно. Вот чтобы получилось что-то типа этого.



Заключение

Это был первый урок в разделе "Arduino и Processing". Надеемся, что урок был для Вас полезен и понятен. Также надеемся, что выполнение заданий не вызовет трудностей, и Вы справитесь самостоятельно. Если же возникнут вопросы или проблемы, задавайте их либо в комментариях, либо на форуме.

Читайте также: