Cube что это

Содержание скрыть

Fidget-куб: что это и как это работает?

Fidget-куб купить недорого в Москве с доставкой по всей России

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

Fidget-куб купить недорого в Москве с доставкой по всей России

Кому мы обязаны таким изобретением?

Первый континент, жители которого просто влюбились в эту игрушку — это Америка. Возможно именно потому, что её уроженцы — братья Марк и Мэттью Маклахлан — и создали такое гениально простое изобретение, одобренное впоследствии очень многими неврологами и психологами. Но первыми изобретение Antsy Labs — именно так знакомы многим браться-изобретатели — опробовали жители американского континента, и сразу поняли, насколько оно простое, а самое главное — действенное.

Fidget-куб купить недорого в Москве с доставкой по всей России

И в чем же его польза? Как оно работает?

Оно — просто лежит в руке. И уже за счёт этого человек успокаивается. Испытывать приятные ощущения — это одна из предпосылок того, что нам становится лучше. Кубик «Фиджет» сделан из материала, который приятен на ощупь, и прекрасно лежит в руке. Именно с этого начинается его действие.

Начинается, но не заканчивается. Мы ведь что делаем? Ходим из угла в угол, что-то нервно теребим, дети грызут ногти и т.д. Это всё — признаки нервного напряжения, и чем гиперактивнее человек это делает, тем больше он подвержен стрессу в данный момент. Именно на этом основано действие куба. В него встроены разные переключатели: кнопки, джойстик, крутящийся шарик и т.д. На это всё можно нажимать, это можно переключать. Занимаясь подобной работой человек очень быстро успокаивается, а успокоившись — принимает правильное решение.

Fidget-куб купить недорого в Москве с доставкой по всей России

Это — для взрослых. Но ведь детям тоже нужно развиваться! Fidget и на это способен. Когда ребенок крутит его в руках и работает со всеми кнопочками и переключателями, у него отлично развивается мелкая моторика, что, впоследствии, очень пригодится ему в жизни. Параллельно он избавляется от вредных привычек, например, грызть ногти, кусать губы и т.д.
Показательно то, что за всё время использования куба, к нему не было ни единого отрицательного отзыва. Это доказывает правдивость известной поговорки: всё гениальное — просто.

Устройство куба

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

1. Пять кнопок. Они издают звуки различной силы. Нажатие кнопок в сочетании со звуками действует успокаивающе. Если вы на работе, можно нажимать на тихие кнопки.
2. Переключатель, пощелкать которым — одно удовольствие! От этого не откажутся ни дети, ни взрослые. Ну а удовольствие — это главный фактор, перед которым отступает любой стресс.
3. Джойстик — элемент любой компьютерной игры. Как известно, любые игры действуют успокаивающе и заставляют отвлечься от нервных мыслей.
4. Шарик с колесиками. Если на него нажать — услышите щелчок. Шарик просто вращается, но именно эта простота и нужна для успокоения.
5. Диск, который может вращаться. Ещё один элемент, с которым можно работать до тех пор, пока на душе не станет светло и спокойно.
6. Выемка в кубе. А вот это уже взято от древних китайских нефритовых камней. Их ещё называли камнями успокоения, и у них была именно такая выемка.

Fidget-куб купить недорого в Москве с доставкой по всей России

Всё это — элементы, которыми можно как-то управлять: переключать, нажимать, вращать и так далее. Именно это очень быстро приводит к тому, что человек расслабляется и начинает на нервную ситуацию смотреть по-новому.

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

Можете даже не сомневаться. Имеются объективные мнения врачей — психологов и неврологов со всего мира. В дополнение к этому — десятки тысяч восторженных отзывов как детей, так и взрослых. Использовавшие кубик единодушно отмечают успокоение и вообще, стабилизацию работы нервной системы.
Но, в дополнение к психологической работе, кубик ещё проделывает иммунную! Каким образом? Очень просто: играя с кубиком, перекатывая его в ладонях, нажимая на кнопки и работая с переключателями человек сам активирует таким образом нервные точки, которые расположены на пальцах и руках человека. Таким образом мобилизуются защитные силы организма.

Fidget-куб купить недорого в Москве с доставкой по всей России

Что я покупаю: оригинал или подделку?

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

1. Вес. Оригинал тяжелее подделки. За счёт применения полимера soft touch, от оригинального кубика исходит тепло. Китайцы же не очень мудрствовали, и использовали самую обыкновенную резину, ощущения от которой, естественно, уже не те.
2. Материал изготовления кнопочек: в оригинале — качественная эластичная резина, в подделках — пластмасса.
3. Соответственно, звук в оригинале отличается от звука в копии продукта.
4. Упаковка: на оригинальной упаковке наклеена этикетка, содержащая штрих-код модели в системе EAN. Подделки упакованы в иных коробочках.
5. Цвет: вряд ли их можно отличить по цвету, так как у оригинала и у подделки цветовая палитра весьма неплоха.
6. Фиджет-куб, который выходит с китайских конвейеров, гораздо дешевле оригинала.

Fidget-куб купить недорого в Москве с доставкой по всей России

Заключение

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

Строим свой первый куб

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

Что такое куб?

Реляционные базы данных были спроектированы для осуществления тысяч параллельных транзакций, с сохранением производительности и целостности данных. По своей конструкции реляционные базы данных не дают эффективности в агрегировании и поиске при больших объемах данных. Чтобы агрегировать и возвратить большие объемы данных, реляционная база данных должна получить основанный на наборе запрос, информация для которого будет собрана и агрегирована «на лету». Такие реляционные запросы — очень затратные, поскольку опираются на множественные соединения и агрегатные функции; особенно малоэффективны агрегатные реляционные запросы при работе с большими массивами данных.

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

Куб — центральная конструкция данных в оперативной системе анализа данных OLAP аналитических служб SQL Server (SSAS). Кубы обычно строятся из основной реляционной базы данных, называемой моделью размерностей, но представляют собой отдельные технические сущности. Логически куб является складом данных, который составлен из размерностей (dimensions) и измерений (measures). Размерности содержат описательные признаки и иерархии, в то время как измерения — это факты, которые вы описываете в размерностях. Измерения объединены в логические сочетания, которые называются группами измерений. Вы привязываете размерности к группам измерений на основе признака — степени детализации.

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

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

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

Требования к программному обеспечению

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

Мой пример куба «Продажи через Интернет» будет построен на основе тестовой базы данных AdventureWorksDW 2005. Я буду строить тестовый куб из подмножества таблиц, найденных в тестовой базе данных, которые будут полезны для анализа данных о сбыте через Интернет. На рисунке 1 представлена основная схема таблиц базы данных. Поскольку я использую версию 2005, вы можете следовать моим указаниям, применяя либо SQL Server 2005, либо SQL Server 2008.

Рисунок 1. Подмножество витрины данных Adventure Works Internet Sales

Учебную базу данных Adventure WorksDW 2005 можно найти на сайте CodePlex: msftdbprodsamples.codeplex.com. Найдите ссылку «SQL Server 2005 product sample databases are still available» (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Учебная база данных содержится в файле AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

Как уже упоминалось, необходимо иметь доступ к экземпляру SQL Server 2008 или 2005, в том числе SSAS и к компонентам Business Intelligence Development Studio (BIDS). Я буду использовать SQL Server 2008, так что вы можете увидеть некоторые тонкие различия, если используете SQL Server 2005.

Создание проекта SSAS

Первое, что вы должны сделать, — это создать проект SSAS, используя BIDS. Найдите BIDS в меню Start и далее в меню Microsoft SQL Server 2008/2005 подпункт SQL Server Business Intelligence Development Studio. При нажатии на эту кнопку запустится BIDS c экраном заставки по умолчанию. Создайте новый проект SSAS, выбрав File, New, Project. Вы увидите диалоговое окно New Project (новый проект), которое показано на экране 1. Выберите папку проекта Analysis Services Project и задайте описание этому проекту «SQLMAG_MyFirstCube». Нажмите кнопку ОК.

Экран 1. Диалоговое окно для нового проекта BIDS

Когда проект будет создан, щелкните по нему правой кнопкой мыши в Solution Explorer и выберите в контекстном меню пункт свойств Properties. Теперь выберите раздел Deployment в левой части диалогового окна SQLMAG_MyFirstCube: Property Pages и проверьте установки значений для параметров Target Server и Database settings, как показано на экране 2. Если вы работаете в распределенной среде SQL Server, вам необходимо уточнить значение свойства Target Server именем сервера, на который вы собираетесь производить развертывание. Щелкните OK, когда вас устроят установленные значения параметров развертывания для данного проекта SSAS.

Экран 2. Целевой сервер и параметры базы данных

Определение источника данных

Первый объект, который нужно создать, — это источник данных. Объект источника данных обеспечивает схему и данные, используемые при построении связанных с кубом и расположенных в его основании объектов. Чтобы создать объект источника данных в BIDS, задействуйте мастер источников данных Data Source Wizard.

Начните работу мастера источника данных щелчком правой кнопкой мыши по папке Data Source на панели Solution Explorer, с выбора пункта New Data Source. Вы обнаружите, что создание объектов SSAS в BIDS имеет характер разработки. Сначала мастер проводит вас через процесс создания объекта и общие настройки. А затем вы открываете полученный объект SSAS в проектировщике и детально подстраиваете его, если нужно. Как только вы проходите экран приглашения, определите новое соединение с данными, нажимая кнопку New. Выберите и создайте новое соединение на основе Native OLEDB\SQL Server Native Client 10, указывающее на желательный для вас сервер SQL Server, который владеет нужным экземпляром базы данных. Вы можете использовать либо аутентификацию Windows, либо SQL Server, в зависимости от настроек окружающей среды SQL Server. Нажмите кнопку Test Connection, чтобы удостовериться, что вы правильно определили соединение с базой данных, а затем кнопку OK.

Далее следует Impersonation Infor­mation (информация о настрой­ке заимствования прав), которая, как и связь с данными, зависит от того, как устроена среда SQL Server. Заимствование прав — это контекст безопасности, на который полагается SSAS, обрабатывая свои объекты. Если вы управляете развертыванием на основном, единственном сервере (или ноутбуке), как, я полагаю, большинство читателей, вы можете просто выбрать вариант использования учетной записи службы Use the service account. Нажмите Next для завершения работы мастера источника данных и задайте AWDW2005 в качестве имени источника данных. Весьма удобно, что можно задействовать этот метод для целей тестирования, но в реальной производственной среде это не самая лучшая практика — использовать учетную запись службы. Лучше указать доменные учетные записи для заимствования прав подключения SSAS к источнику данных.

Представление источника данных

Для определенного вами источника данных на следующем шаге в процессе построения куба SSAS следует создать представление Data Source View (DSV). DSV обеспечивает возможность разделения схемы, которую ожидает ваш куб, от подобной схемы основной базы данных. В результате DSV можно использовать для того, чтобы расширить основную реляционную схему при построении куба. Некоторые из ключевых возможностей DSV для расширения схем источников данных включают именованные запросы, логические отношения между таблицами и именованные вычисляемые столбцы.

Пойдем дальше, щелкнем правой кнопкой мыши по папке DSV и выберем пункт New Data Source View, чтобы запустить мастер создания новых представлений DSV. В диалоговом окне, на шаге Select a Data Source, выберите соединение с реляционной базой данных и нажмите кнопку Next. Выберите таблицы FactInternetSales, DimProduct, DimTime, DimCustomer и щелкните кнопку с одиночной стрелкой направо, чтобы перенести эти таблицы в колонку Included. Наконец, кликните Next и завершите работу мастера, принимая имя по умолчанию и нажимая кнопку Finish.

На данном этапе у вас должно быть представление DSV, которое расположено под папкой Data Source Views в Solution Explorer. Выполните двойной щелчок по новому DSV, чтобы запустить конструктор DSV. Вы должны увидеть все четыре таблицы для данного DSV, как показано на рисунке 2.

Рисунок 2. Таблицы фактов и размерностей в конструкторе DSV

Создание размерностей базы данных

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

Размерности базы данных и куба обеспечивают изящное решение для концепции, известной как «ролевые размерности». Ролевые размерности применяются, когда вам необходимо использовать единственную размерность в кубе многократно. Дата — прекрасный пример в данном экземпляре куба: вы будете строить единственную размерность даты и ссылаться на нее один раз для каждой даты, для которой хотите анализировать продажи через Интернет. Календарная дата будет первой размерностью, которую вы создадите. Щелкните правой кнопкой мышки по папке Dimensions в Solution Explorer и выберите пункт New Dimension, чтобы запустить мастер размерностей Dimension Wizard. Выберите пункт Use an existing table и щелкните Next на шаге выбора метода создания Select Creation Method. На шаге определения источника информации Specify Source Information укажите таблицу DimTime в раскрывающемся списке Main table и нажмите кнопку Next. Теперь, на шаге выбора признака размерности Select Dimension Attributes, вам необходимо отобрать атрибуты размерности времени. Выберите каждый атрибут, как показано на экране 3.

Экран 3. Выбор атрибутов таблицы размерности DimTime

Нажмите Next. На завершающем шаге введите Dim Date в поле Name и нажмите кнопку Finish для завершения работы мастера размерности. Теперь вы должны увидеть новую размерность даты Dim Date, расположенную под папкой Dimensions в Solution Explorer.

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

Создание куба продаж по Интернету

Теперь, подготовив размерности базы данных, вы можете приступить к строительству куба. В Solution Explorer щелкните правой кнопкой мыши на папке Cubes и выберите New Cube для запуска мастера создания кубов Cube Wizard. В окне Select Creation Method выберите вариант использования существующих таблиц Use existing tables. Выберите таблицу FactInternetSales для Measure Group на шаге выбора таблицы групп измерения Select Measure Group Tables. Удалите флажок рядом с измерениями Promotion Key, Currency Key, Sales Territory Key и Revision Number на шаге Select Measures и нажмите Next.

На экране Select Existing Dimensions убедитесь, что все существующие размерности базы данных выбраны, чтобы использовать их далее как размерности куба. Поскольку мне хотелось бы сделать данный куб настолько простым, насколько это возможно, отмените выбор размерности FactInternetSales на шаге Select New Dimensions. Оставляя размерность FactInternetSales выбранной, вы создали бы то, что называется размерностью факта или вырожденной размерностью. Размерности факта — это размерности, которые были созданы с использованием основной таблицы фактов в противоположность традиционной таблице размерностей.

Нажмите кнопку Next, чтобы перей­ти к шагу Completing the Wizard, и введите «Мой первый куб» в поле имени куба. Нажмите кнопку Finish, чтобы завершить процесс работы мастера создания куба.

Развертывание и обработка куба

Теперь все готово к развертыванию и обработке первого куба. Щелкните правой кнопкой мыши по значку нового куба в Solution Explorer и выберите пункт Process. Вы увидите окно с сообщением о том, что содержание представляется устаревшим. Щелкните Yes для развертывания нового куба на целевом сервере SSAS. При развертывании куба вы посылаете файл XML for Analisis (XMLA) на целевой сервер SSAS, который создает куб на самом сервере. Как уже упоминалось, обработка куба заполняет его двоичные файлы на диске данными из основного источника, а также дополнительными метаданными, которые вы добавили (размерности, измерения и настройки куба).

Как только процесс развертывания будет завершен, появляется новое диалоговое окно Process Cube. Нажмите кнопку Run, чтобы начать процесс обработки куба, который открывается окном Process Progress. При завершении обработки нажмите кнопку Close (два раза, чтобы закрыть оба диалоговых окна) для завершения процессов развертывания и обработки куба.

Теперь вы построили, развернули и обработали свой первый куб. Вы можете просматривать этот новый куб, щелкая по нему правой кнопкой мыши в окне Solution Explorer и выбирая пункт Browse. Перетащите измерения в центр сводной таблицы, а атрибуты размерностей на строки и столбцы, чтобы исследовать свой новый куб. Обратите внимание, как быстро куб отрабатывает различные запросы с агрегированием. Теперь вы можете оценить неограниченную мощь и, значит, ценность для бизнеса, куба OLAP.

Начинаем работать в STM32CubeMX. Часть 1

Приветствую аудиторию хабра, и хочу предложить вашему вниманию первый пост, посвященный использованию среды разработки STM32CubeMX, написанный для тех, кто хочет начать изучение STM32 «с нуля».

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

1. Небольшое введение

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

Однако для освоения большей части материала будет достаточно любой, даже самой простой платы на STM32. Я рекомендую именно платы Discovery, т.к. они уже содержат отладчик ST-Link, и для работы вам понадобится только кабель MiniUSB. Для начала не нужен даже источник питания, плата питается через тот же кабель.

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

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

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

Ещё нам понадобится сам STM32CubeMX (скачивается бесплатно), и любая IDE для работы с проектом на С и поддержкой ST-Link. Их много, есть коммерческие, есть бесплатные, и я намеренно не буду приводить никаких названий. Каждый выбирает для себя.

2. Hello World, или управление светодиодом

Сначала вам нужно скачать и установить STM32CubeMX. Скачать можно бесплатно с сайта st.com. Скажу сразу, STM32CubeMX существует только в Windows-версии. Пишут, что нормально работает под wine, я лично не пробовал.

Заходим в File/New Project, выбираем нужный микроконтроллер. Для этого удобно пользоваться фильтрами в верхней части окна.

В нашем случае это STM32F746NGHx.

Далее настраиваем тактовый генератор. Во вкладке Pinout выбираем работу с внешним кварцем:

Во вкладке Clock Configuration в поле HCLK (MHz) пишем 216. В ответ получаем сообщение «No solution found using the current selected sources. Do yoy want to use other sources?» Отвечаем «OK» и выбираем источник HSE в мультиплексоре PLL Source Mux. Значения PLLM, PLLN и PLLP устанавливаем, как показано на рисунке. Проверяем, что HCLK = 216MHz.

Теперь надо сконфигурировать GPIO, управляющий светодиодом. Это порт PI1. На вкладке Pinout находим вывод PI1, кликаем на него и устанавливаем в значение GPIO_Output.

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

Попадаем в окно «Pin Configuration» и в поле User Label пишем «Led».

Сейчас можно сгенерировать код (Project/Generate Code). STM32CubeMX генерирует не только исходный код, но и файлы проекта для ряда популярных IDE. Обратим внимание, что в коде расставлены комментарии вида:

Свой код можно писать только в них, иначе при повторной генерации исходника ваш код будет затёрт.

Итак, находим цикл while(1) в main() и пишем в нём следующее:

Сейчас можно запустить проект. Подключаем плату и загружаем прошивку. Светодиод на плате должен мигать с частотой 1Гц.

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

3. Таймер и прерывания

Настроим таймер, например TIM1. Для этого во вкладке Pinout выбираем для этого таймера источник тактирования:

Источником тактирования стала внутренняя тактовая частота периферии, равная для нашего случая 108MHz. Уточнить это значение или изменить его путём деления главной тактовой частоты можно на вкладке Clock Configuration.

Теперь переходим на вкладку Configuration и настраиваем частоту срабатывания таймера. Нажимаем на кнопку TIM1 и в появившемся окне во вкладке Parameter Settings задаем значения Prescaler и Counter Period.

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

В нашем случае частота будет равна 216e6 / ((53999 + 1) * (1999 + 1)) = 2Hz. При этом частота мигания светодиода составит 1Hz, как в предыдущем примере.

Теперь на вкладке контроллера прерываний (NVIC Settings) нужно разрешить прерывание TIM1 Update:

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

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

4. Что дальше?

На этом я заканчиваю первую часть. Что планируется дальше? В следующей части я планирую описать работу с встроенным ЦАП и затронуть тему DMA. В качестве небольшого анонса: мы научимся генерировать вот такую красивую синусоиду:

(Эта синусоида не очень красивая, на самом деле, но будет лучше).

В дальнейших планах: работа с контроллерами USB (для начала в режиме VCP, виртуального COM-порта), контроллера Ethernet, АЦП, и, возможно, затронем тему использования FreeRTOS.

Робототехника и программирование для детей: модно, полезно и бесплатно

Робототехника и программирование для детей: модно, полезно и бесплатноФото: пресс-служба МЦК–КТИТС

Научиться делать роботов, писать коды программ и разрабатывать мобильные приложения дети в Казани могут абсолютно бесплатно. Межрегиональный центр компетенций — Казанский техникум информационных технологий и связи (далее МЦК-КТИТС) стал победителем конкурсного отбора Министерства просвещения Российской Федерации. При поддержке президента Республики Татарстан МЦК-КТИТС открыл на своей базе детский центр ИТ-творчества «IT-cube».

Обучение детей ведется сертифицированными педагогами по образовательным программам партнеров проекта — компаний Samsung, «Яндекс» и «1С», в лабораториях, оснащенных современным оборудованием. Проект рассчитан на 3 года, за это время более 2 тысяч детей и подростков изучат основы информационных технологий. Подробности в материале «Реального времени».

«IT-cube» — проект ранней профориентации

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

Так было до последнего времени, однако сейчас ситуация изменилась. МЦК-КТИТС в 2018 году выиграл грант Минпросвещения России и при поддержке президента Республики Татарстан открыл детский центр ИТ-творчества «IT-cube». Тем самым были созданы условия для успешного самоопределения школьников Казани.

За три года в «IT-cube» обучат 2000 детей и подростков

«IT-cube» в МЦК-КТИТС — это образовательные программы от партнеров проекта — Samsung, «Яндекс», «1С», «Крибрум», Lego Education. Это педагоги, прошедшие обучение в лучших научно-технических центрах, лаборатории с современным оборудованием, стильным дизайном, коворкинг-зоной и неограниченными возможностями для слушателей программ развития ИТ-творчества.

Особо актуальны образовательные направления «IT-cube» в связи с возрастающей потребностью в кадрах ИТ-отрасли. Полученные в центре ИТ–творчества знания не только позволят определить выбор будущей профессии, но и начать работать фрилансерами уже в школе.

«IT-cube» — это необычный кружок. Перед педагогами, которые в первую очередь являются наставниками, стоит задача, чтобы по окончании курса каждый ребенок подготовил и защитил свой проект. Здесь царит творческая и доверительная атмосфера, ребенок фантазирует и не боится ошибиться и получить «неуд». А это и есть главные условия для гениальных изобретений.

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

«IT-cube» проводит обучение детей в возрасте от 6 до 18 лет по шести направлениям — по числу граней куба. Это языки программирования Java и Python, системное администрирование, кибергигиена, мобильная робототехника и мобильная разработка VR\AR.

Помимо обучения, ребята активно участвуют в мастер-классах, олимпиадах, хакатонах и посещают лучшие ИТ-центры и предприятия, причем не только в Казани. В декабре группа лучших учеников по направлениям «Язык программирования Java» и «Системное администрирование» посетили инновационный центр Сколково.

Кого и чему научат в «IT-cube»?

Развитие робототехники в настоящее время включено в перечень приоритетных направлений технологического развития в сфере информационных технологий, которые определены правительством в рамках «Стратегии развития отрасли информационных технологий в РФ на 2014—2020 годы и на перспективу до 2025 года». Важным условием успешной подготовки инженерно-технических кадров в рамках обозначенной стратегии развития является внедрение инженерно-технического образования в систему воспитания школьников.

Мобильной робототехникой занимаются многие организации в Казани, предлагая свои услуги обучения детей. Существенным отличием занятий по мобильной робототехнике в «IT-cube» является целостная программа обучения — от игрушки к промышленному роботу, включающая в себя подготовку с 6 лет на Lego, WeDo 2.0, в более старшем возрасте на Arduino, завершение обучения — на программном оборудовании Studica, которое является официальным набором для соревнований WorldSkills.

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

Научиться собирать компьютер, осуществлять диагностику и устранять неисправности поможет курс «Системное администрирование».

Для детей постарше предлагается курс «Язык программирования Python» или «Язык программирования Java». Итогом годового курса станет самостоятельно разработанный проект.

Ребят с отличными знаниями математики и развитым алгоритмическим мышлением приглашают на занятия по направлению «Мобильная разработка VR\AR», где они познакомятся с принципами разработки дополненной реальности для мобильных устройств.

Как поступить в «IT-cube»?

Для того чтобы поступить в детский центр IT-творчества «IT-cube», достаточно подать заявку на сайте МЦК-КТИТС и пройти вступительное собеседование, которое позволит определиться с направлением.

Что даст обучение в «IT-cube»?

Итогом курса станет не только создание и презентация собственного проекта, но и профессиональное самоопределение ребенка и возможность продолжить образование в одном из ведущих техникумов РФ — МЦК-КТИТС. По всем программам в техникуме открыты близкие направления. МЦК-КТИТС является еще и тренировочной площадкой для подготовки российской сборной WorldSkills-2019 по ИТ–компетенциям.

Партнерский материал

Справка

Сегодня в МЦК-КТИТС по 12 специальностям обучаются свыше 1600 человек из разных регионов России. Студенты проходят практику на ведущих предприятиях отрасли, среди которых «Таттелеком», ICL, «Такснет» и «Барс Груп». Техникум оснащен современным новейшим оборудованием: на площади в 5 тыс. кв. м расположены учебные и лабораторные корпуса, мастерские, общежитие, тренажерный и актовый залы, библиотека.

МЦК-КТИТС — флагман международного движения рабочих профессий WorldSkills, а его студенты — победители европейских и мировых чемпионатов рабочих профессий. В копилке наград два серебра в чемпионатах EuroSkills Gothenburg — 2016 и WorldSkills Abu Dhabi — 2017, а также две золотые медали в чемпионате WorldSkills Budapest — 2018.

Межрегиональный центр компетенции — Казанский техникум информационных технологий и связи входит в топ-5 техникумов России по рейтингу Союза «Молодые профессионалы (Ворлдскиллс Россия)» и является первым в рейтинге лучших техникумов Татарстана.

Источники:

https://solunsun.ru/fidget-kub-chto-eto-i-kak-eto-rabotayet/
https://www.osp.ru/winitpro/2011/01/13008265
https://habr.com/ru/post/310742/
https://realnoevremya.ru/articles/133055-robototehnika-i-programmirovanie-dlya-detey-modno-polezno-i-besplatno