Микроконтроллеры и с чем их едят, для ВСЕХ!

0

Декабрь 21, 2015

Подготовка к мероприятию MeetUp по микроконтроллерам в CADR

Подготовка к мероприятию MeetUp по микроконтроллерам в CADR

В субботу, 2015-12-05, в стенах Нижегородского радиотехнического колледжа, а именно в помещении хайтек-сообщества, работающего на базе НРТК, прошла встреча (так называемый «meet-up»), посвящённая теме микроконтроллеров.
На встрече присутствовали как люди практикующие, использующие микроконтроллеры для решения задач на регулярной основе, так и просто интересующиеся. Мероприятие проходило в неформальной форме, в аудитории 054 (051). Формат мероприятия был выбран так, чтобы слушатели могли быть активными участниками.

Артём Кузнецов рассказывает о троичном компьютере "СЕТУНЬ"

Артём Кузнецов рассказывает о троичном компьютере «СЕТУНЬ»

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

Также в ходе обсуждения был упомянут отечественный компьютер «СЕТУНЬ», разработанный в 1961 году и использующий троичную систему исчисления – как пример нестандартного подхода к организации вычислений.

Во второй части презентации Артём рассказал об архитектуре микроконтроллеров AVR, их достоинствах и сферах использования.
После теоретической части мероприятия, участники рассказали о своих разработках с использованием микроконтроллеров.

Евгений демонстрирует разработанное устройство

Евгений демонстрирует разработанное устройство

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

Евгений подробно рассказал о принципах работы устройства, включая схему и прошивку. Устройство позволяет управлять 4-мя любыми нагрузками, с допустимым током до 30А и напряжением до 240В (ограничение накладывается реле, применяемым в устройства), по команде от компьютера. В качестве примера Евгений привёл управление теплицей.

Устройство в разобранном виде

Устройство в разобранном виде


Прошивка устройства написан на языке C, в проприетарной платной среде разработки CodeVisionAVR. При написании прошивки использовались стандартные библиотеки, поставляемые вместе с CodeVisionAVR.
По словам Евгения, данная IDE предоставляет ряд интересных возможностей – например, позволяет генерировать шаблон проекта на основе параметров, задаваемых через графический интерфейс специального мастера создания проектов.
Работа с разработанной платой осуществляется через программатор, сделанный также Евгением.
После Евгения выступил Артём Кузнецов, и показал отладочную плату на базе микроконтроллера ATMega32, созданную им несколько лет назад для изучения разработки под микроконтроллеры семейства AVR, и для тестирования решений, перед использованием их в более масштабных проектах (таких, как лазерный гравировщик, над которым Артём с друзьями работает сейчас.)
Тестовое устройство на AVR-микроконтроллере, разработанное Артёмом

Тестовое устройство на AVR-микроконтроллере, разработанное Артёмом

Работа с отладочной платой осуществляется с помощью самодельного программатора, созданного на базе чипа ATMega8. Было решено делать программатор вручную, так как этот вариант был дешевле. К тому же, схемы и прошивки программатора свободно доступны в интернете, так что изготовление своего варианта не составило большого труда. С другой стороны, сейчас можно купить программатор на AliExpress за 150 р.
Подключается устройство к компьютеру по USB, для преобразования USB в UART на плате используется микросхема FT232.
На плате установлены: пьезо-излучатель звуковой, кнопки для внешних прерываний, 8 светодиодов для индикации, потенциометр, 4-х разрядный 8-ми сегментный индикатор и 3 сдвиговых регистра.
Для устройства Артёмом была продемонстрирована тестовая прошивка, которая проверяет элементы платы (моргает светодиодами, издаёт звуковой сигнал), и позволяет считывать данные с потенциометра.
Плата разведена в EAGLE.

Проект "Контроль доступа к кладовке" – дверной замок с Bluetooth-управлением.

Проект «Контроль доступа к кладовке» – дверной замок с Bluetooth-управлением.

Кроме этого, Артём продемонстрировал одно из практических применений микроконтроллеров, проект «Контроль доступа к кладовке» – управление дверным замком по Bluetooth. Благодаря этому устройству, можно открыть дверь с Android-устройства по Bluetooth, нажав всего одну кнопку.
Замок для проекта был куплен на AliExpress примерно за 700р.

В целом, встреча прошла оживлённо, и позволила участникам обменяться опытом и идеями. Надеемся, что это – не последнее мероприятие подобного рода.
Доклады участников были записаны на видео; после обработки видео-материала, записи будут выложены в публичный доступ.
Больше фотографий с мероприятия можно найти здесь: https://gmg.cadr.nntc.nnov.ru/u/avp/collection/mcu-2015-meetup/

Презентация нашего 3D-принтера на конференции для преподавателей СПО в НИРО

0

Апрель 16, 2015

 

Делигация НРТК на конференции в НИРО

Делегация НРТК на конференции в НИРО

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

P.s.
Очень интересно и полезно было пообщаться с ребятами из Арзамаса, которые так же как и мы, приехали с выставкой проектов от своего колледжа. Они презентовали блок управления токарным и фрезерным станком а так же показывали эмулятор станка для проверки программы. Мы много интересного узнали о принципах металлообработки и нашли много общего с 3D-печатью.

Интернет вещей. Обзор концепции и фреймворка IoTivity

0

Март 9, 2015

Участник Нижегородского Hi-Tech сообщества CADR, Артем Попцов, рассказывает сотрудникам вычислительного центра НРТК (nntc.nnov.ru) и участникам сообщества CADR (cadrspace.ru) о современной концепции — «Интернет вещей».

Аккаунт НРТК на github.com

0

Февраль 19, 2015

У НРТК появился свой аккаунт на самом крупном веб-сервисе для хостинга IT-проектов и их совместной разработки — GitHub.

Теперь все исходные коды интересных IT-проектов будут под надёжным версионным контролем и все желающие смогут использовать их в соответствии с лицензией GNU/GPL.

Исходные коды проектов НРТК можно найти здесь: https://github.com/nntc

KTurtle и KTouch для Windows 7 на русском языке!

0

Апрель 30, 2014

Переключение системы команд к KTourtle на Русский Лого

Переключение системы команд к KTourtle на Русский Лого

Недавно нас попросили помочь настроить 10 ноутбуков в одной из школ Нижнего Новгорода. Ноутбуки оказались под Windows 7, а все остальные компьютеры в сети и на местах в классах были на Simple Linux. Соответстенно, нас попросили «зарядить» ноутбуки тем же софтом, что и на компьтерах в классах.
Среди всем уже известных LibreOffice, Gimp, InkScape, VLC,  Blender, Кумир оказались широко используемые в этой школе KTourtle, KTouch и KolourPaint. Это программы из пакета KDEEdu проекта KDE. И мы по первости оказались в растерянности. Как установить графическую среду KDE на Windows?

Оказалось все гараздо проще чем мы думали. Инструкций по установке среды KDE в Windows очень много в интернете. На наш взгляд одной из самых толковых является эта:

http://techbase.kde.org/Projects/KDE_on_Windows/Installation_%28ru%29

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

Выбор пакетов и языков локализации для установки

Выбор пакетов и языков локализации для установки

  1. Произведите установку KDE и набора программ из раздела KDEEdu на один из компьютеров (после выбора пакетов не забудьте зайти в разделы «Language Packages» и «Spelling Packages» где нужно отметить по пакету с приставкой -ru )
  2. После полной установки копируйте папку KDE из каталога C:\Users\student\AppData\Temp\ на флешку
  3. На следующем компьютере запустите программу устаноки KDE и не переходя на второй этам скопируйте с флешки папку KDE в каталог C:\Users\student\AppData\Temp\

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

Посте установки вы заметите что при запуке KTourtle и KTouch русского языка нет ни в интерфейсе ни в выборе языка команд Лого. Это нормально! Теперь нам понадобиться «включить» русский язык! Для этого:

  1. Перейдите в каталог C:\Users\student\AppData\Roaming\.kde\share\config
  2. Откройте с помощью блокнота файл kdeglobals
  3. Сделайте его похожим на нашь пример ниже:

[$Version]
update_info=kded.upd:kde3.0
[Locale]
Country=RU
Language=RU
[General]
font=Tahoma
menuFont=Tahoma

После этого вы смело можете запускать KTourtle и в меню Настройки — Язык Лого Выбирать параметр RU!

Поздравляем, у вас на компьютере с Windows появились приложения из набора KDEEdu!
P.s.
Очень жаль, что в репозитории KDE для Windows до сих пор нет САМОГО замечательного фидеоредактора как KDEnLive :( ((

В НРТК собрали свой 3D-принтер

1

Март 27, 2014

3 дня назад к нам в НРТК из Китая пришел 3D-принтер. Модель RepRap Mendel. Полный комплект для сборки упакованный в пластик.

 

Распаковали и задумались!

Распаковали и задумались!

К нам пришла посылка из Китая!

К нам пришла посылка из Китая!

Первый день мы потратили на сборку «железной» части принтера. Мы в четвером собирали его почти 8 часов. Если вы собираетесь заказывать такой комплект — готовьтесь к большому количеству мелких деталей и скурпулезной процедуре чтения мануалов. Первая половина, когда вы соединяете крупные части каркаса, проходит легко, но вот когда надо выяснить как крепяться направляющие, какими винтиками что крепится, где крепить блок питания, куда ставьть сервоприводы — это уже занимает много времени!
Лучше этим заниматься вкомпании.
Начинаем собирать!

Начинаем собирать!

Готовый вариант 3D-принтера

Готовый вариант 3D-принтера

Второй день мы в двоем с Никитой Блынским потратили на электронную часть принтера. Провода к плате Melzi мы подключили быстро. А вот дальше началась засада. Мы никак не могли понять есть ли на микроконтроллере Atmega 1284p прошивка или нет. И это, блин, никак не выяснишь.
Я потратил 4 часа что бы заставить собираться прошивку из исходников с диска, который шел с этим принтером. Постоянно получая в среде Arduino ошибку при сборке.
В итоге мы скачали Melzi-Sprinter с сайта RepRap и с определенными танцами с бубном и перелинковской бибилиотек нам удалось скомпилировать прошивку, залить на микроконтроллер и она заработала!!! (Спасибо Никите, он сделал львиную часть работы по адаптации этой прошивки к нашим условиям…)
Готовый вариант 3D-принтера с подключенной электроникой

Готовый вариант 3D-принтера с подключенной электроникой

Дальше было тоже не очень просто, а точнее не очень понятно. Мы уже знали что в качестве программной части нужно использовать Repetie. Он есть в версии для Windows и для Linux. Для Linux он устанавливается в обвязке в Mono библиотеками и средой запуска. Мы его поставили на Ubuntu 14.04. Запустили, соединились с принтером. О счастье!!! Мы смогли подвигать экструдером по разным осям, запарковать его, повыдавливать пластик!!! Оно заработало и это было счастье!!! :) Но, все оказалось не так просто. Мы смоделировали деталь в среде Blender и выгрузили деталь в STL-формате. Сделали ее слайсинг в slic3r. И вот мы загрузили gcode инструкции для печати, нажимаем кнопку «Печать». Принтер паркует экструдер по осям, начинает греть экстудер и стол и вот уже должен начать печатать. И тут опа, кучка ошибок в окне программы и ничего дальше не происходит :(

Делаем в Blender модель для первой печати на нашем 3D-принтере

Делаем модель для первой печати на нашем 3D-принтере в средел Blender

Пришлось попробовать в Windows. Странно, но в Windows оно работает примерно с таким е списком ошибок. Но печатает. С этим вопросом пока разбираемся, но думаю дело в кривом Mono-модуле работы с последовательными интерфейсами.

Модель, сделаннай в Blender загружена в Repetier

Модель создана в Blender, выгружена в формате STL и «отслейсенна» с помощью slic3r готова для печати

Мы тут уже напечатали несколько деталек. Спасибо Борису Терещенкову за консультации и моток пластика!!!
Процесс печати намного увлекательнее 5D-кинотеатров! :)

Процесс печати намного увлекательнее 5D-кинотеатров! :)

Процесс печати нашей модели

Процесс печати нашей модели

Одна из первых моделей напечатанных на нашем 3D-принтере

Одна из первых моделей напечатанных на нашем 3D-принтере.
Есть некоторые проблемы с настройками и печатью выше 5 см. Мы рботаем над этим :)

Из текущего:
* Пока не можем печатать детали выше 5 см. Экструдер начинает возить прямо по детали и срывает ее со стола. С Слайсере есть параметры для компенсации погрешности перемещения экструдера по оси Z — подбираем нужные значения.

* Не можем отправлять задания на печать из repetier из Linux. Разбираемся как это исправить

* Детали очень часто отрываются от стола во время печати. Не понятно, то ли это из-за низкой температуры стола, то ли из-за высокой. Мажем стол клеем-карандашом — ситуация лучше, но все равно отрывает :(

Новые плакаты нашего авторства

0

Декабрь 5, 2013

К нам из типографии приехали плакаты. Все плакаты авторства преподавателе Нижегородского радиотехнического колледжа! Это наша отдельная гордость.

Вот несколько плакатов для Вычислительного Центра, которые нам особо нравятся в бумажном формате :)

Массовое управление группой компьютеров

0

Сентябрь 10, 2013

Массовое управление группой компьютеров с помощью Terminator и ssh

Массовое управление группой компьютеров с помощью Terminator и ssh

Как всегда в начале учебного года перед нами встала задача обновления программного обеспечения и операционных систем на компьютерах колледжа. А их у нас 7 по 12-14 компьютеров, и это не считая компьютеров на местах. Сами понимаете задача не для слабонервных.
Но в этом году мы освоили новый инструмент и называется он Terminator! Это замечательная вещь представляет из себя виртуальный терминал который может делиться по желанию на любое количество окон и принимает вводимые вами команды с клавиатуры идентично в каждое окно!
Мы почувствовав себя всемогущими сделали в сети сервер удаленной загрузки дистрибутива PMagick. Теперь достаточно включить компьютеры в режиме загрузки о сети, на них автоматически закачивается и запускается мини-дистрибутив Linux и мы можем получить к компьютеру доступ по ssh. Так же на борту этого дистрибутива есть такие замечательные программы как G4L и прочие утилиты для работы с винчестером, сетью, восстановления загрузчика и прочее и прочее.
Запустив Terminator у себя на компьютере мы можем подключиться одновременно ко всем компьютерам в кабинете и дать им всем одну и ту же команду на загрузку и распаковку образа уже готовой ОС.
А дальше все стандартно. Так же даем команды на восстановление загрузчика одной или нескольких ОС и кабинет готов. А вы можете расслабиться, почитать тематические журналы (LinuxFormat), провести пару лекций для студентов или заняться изучением новых методов программирование на Java для платформы Android.

Массовое управление компьютерами с помощью Terminator

http://www.youtube.com/watch?v=toq4-zGL41E

Семинар по графическим системам Xorg, Wayland и Mir

0

Июнь 25, 2013

В субботу 22 июня при участии Нижегородской Группы Пользователей Linux, сотрудников вычислительного центра и студентов вузов Нижнего Новгорода прошел семинар по Графическим сиситемам Xorg, Wayland и Mir.

к.т.н. Бессонов Сергей Геннадьевич рассказал нам о том что из себя представляет уже существующая и широко распространенная графическая система Xorg. Мы посмотрели что планируется в Wayland и чем занимается Canonical при разработке Mir.

Запись семинара можно посмотреть по ссылке: http://video.nnlug.ru/2013/Xorg_Waylad_Mir.ogv
[Версия на YouTube]

UTF8 vs ASCII in json_encode()

0

Апрель 22, 2013

Автор: Блынский Никита
студент 4 курса колледжа

Здравствуйте. Я хочу рассказать о решении проблемы, с которой я столкнулся: недавно, при разработке проекта, возникла проблема с получением данных от WEB-сервера в формате JSON.
JSON — простой иерархический формат, независимый от языка и платформы. JSON предлагается как альтернатива XML.
Конечно, на все 100% заменить XML он не может, т.к. не поддерживает схем проверки, не может самостоятельно информировать о своей кодировке и не имеет понятия атрибутов, но легко его заменит там, где этими недостатками можно пренебречь. Также как и XML, JSON является самодокументирующимся форматом, описывающим структуру данных и не занимающихся их представлением.

Проблема

Проблема заключается в том, что PHP-функция json_encode() возвращает набор данных JSON, содержащий набор ASCII-символов кириллической фразы, вместо самой фразы в кодировке UTF-8.

Давайте разберем пример :
Пусть php массив будет выглядеть так :

Результатом «обёртывания» данного массива функцией json_encode() будет следующий набор JSON данных:

{
 "name":"\u0418\u0432\u0430\u043d",
 "fam":"\u041f\u0435\u0442\u0440\u043e\u0432"
}  

Решение

Как мы видим, кириллица не отображается в сформированном JSON наборе. После долгих безуспешных поисков в интернете, я решил написать функцию, которая будет переписывать коды ASCII в utf8.

Моя функция приминает 1 параметр — массив данных для формирования JSON. Внутри этой функции происходит преобразование принятого массива в JSON-набор из ASCII-символов. После этого в данном наборе происходит замена кодов ASCII на соответствующие им кириллические буквы. Сформируем JSON с помощью функции json_encode_fix_ASCII() :

 

И что же мы получаем ?

{
 "name":"Иван",
 "fam":"Петров"
}

 

Получился JSON с русскими буквами !
Теперь его можно парсить js скриптом либо другим более удобным для вас способом.

Данный способ мне пригодился для формирования JSON для AJAX запросов при построении приложений с WEB-интерфейсом на платформах ZendFramework и Drupal.

 

Исходный код функции

function json_encode_fix_ASCII($str) {
     $arr_replace_utf = array('\u0410', '\u0430','\u0411','\u0431',
     '\u0412','\u0432', '\u0413','\u0433','\u0414','\u0434','\u0415',
     '\u0435','\u0401','\u0451','\u0416','\u0436','\u0417','\u0437',
     '\u0418','\u0438','\u0419','\u0439','\u041a','\u043a','\u041b',
     '\u043b','\u041c','\u043c','\u041d','\u043d','\u041e','\u043e',
     '\u041f','\u043f','\u0420','\u0440','\u0421','\u0441','\u0422',
     '\u0442','\u0423','\u0443','\u0424','\u0444','\u0425','\u0445',
     '\u0426','\u0446','\u0427','\u0447','\u0428','\u0448','\u0429',
     '\u0449','\u042a','\u044a','\u042b','\u044b','\u042c','\u044c',
     '\u042d','\u044d','\u042e','\u044e','\u042f','\u044f');


     $arr_replace_cyr = array('А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г',
     'Д', 'д', 'Е', 'е', 'Ё', 'ё', 'Ж','ж','З','з','И','и','Й','й',
     'К','к','Л','л','М','м','Н','н','О','о','П','п','Р','р','С','с',
     'Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш',
     'Щ','щ','Ъ','ъ','Ы','ы','Ь','ь','Э','э','Ю','ю','Я','я');


     $str1 = json_encode($str);
     $str2 = str_replace($arr_replace_utf,$arr_replace_cyr,$str1);
     return $str2;
}