Производим и собираем роботаAnton MoiseevПроизводство корпуса Робота Машинки из цифровой модели на доступных средствах цифрового производства (3д-печать, лазерная резка), закупка дополнительных компонент (плата, моторчики, датчики), сборка модели Робота Машики, программирование.
На слайдах:
- Виды цифрового производства: 3д-печать, лазерная резка, фрезерование
- Доступное цифровое производство: Фаблабы и ЦМИТы, услуги на рынке, домашний 3д-принтер
- Производство деталей для Робота Машинки: 3д-печать и лазерная резка пластика
- Покупка компонентов: микроконтроллерные платы, моторчики, провода, макетные платы, датчики
- Сборка модели, подключение электроники и питания
- Простая прошивка: Робот Машинка - Часовой
Программирование микроконтроллеров для управления роботамиAnton MoiseevИспользование микроконтроллерной платы ChipKIT WF32 для управления моторчиками и общения с датчиками.
R0boCamp2016 Михайло Ях'яєв: Використання Arduino для керування роборукою, аб...Lviv Startup ClubМихайло Ях'яєв: Використання Arduino для керування роборукою, або як програміст вчився працювати з залізом
7.13.7 Руководство пользователя Altistart 48 протокол ModbusIgor GolovinРазъем Modbus устройства плавного пуска Altistart 48 может быть использован для выполнения следующих функций:
• конфигурирование;
• настройка;
• управление;
• контроль.
ATS48 поддерживает:
• физическую среду RS485;
• режим Modbus RTU.
7.13.6 Руководство пользователя Altistart 48Igor GolovinРуководство пользователя Altistart 48 - в данном документе найдете для себя всю необходимую информацию по вводу в эксплуатацию устройства плавного пуска низкого напряжения.
Neets Product LinePRO.AVNeets deliver user-friendly AV Control Systems that is simple and reliable. Neets AV Control Systems makes it easy for users such as teachers and presenters to focus on their job instead of figuring out the AV system as it is designed to be intuitive and simple to operate.
Клуб изобретательства и робототехники ДОСААФ - 2016Anton MoiseevКлуб изобретательства и робототехники ДОСААФ, Нижний Новгород, осень 2016
http://dosaaf52region.ru/roboclub
2д моделирование в inkscape для производстваAnton MoiseevДвумерное моделирование в Inkscape для производства:
- основы векторной графики в Inkscape
- Inkscape для чертежей
- экспорт чертежей для лазерной резки и фрезерования
- экспорт для импорта в OpenSCAD для 3д-печати
7.13.6 Руководство пользователя Altistart 48Igor GolovinРуководство пользователя Altistart 48 - в данном документе найдете для себя всю необходимую информацию по вводу в эксплуатацию устройства плавного пуска низкого напряжения.
Neets Product LinePRO.AVNeets deliver user-friendly AV Control Systems that is simple and reliable. Neets AV Control Systems makes it easy for users such as teachers and presenters to focus on their job instead of figuring out the AV system as it is designed to be intuitive and simple to operate.
Клуб изобретательства и робототехники ДОСААФ - 2016Anton MoiseevКлуб изобретательства и робототехники ДОСААФ, Нижний Новгород, осень 2016
http://dosaaf52region.ru/roboclub
2д моделирование в inkscape для производстваAnton MoiseevДвумерное моделирование в Inkscape для производства:
- основы векторной графики в Inkscape
- Inkscape для чертежей
- экспорт чертежей для лазерной резки и фрезерования
- экспорт для импорта в OpenSCAD для 3д-печати
OpenSCAD: трёхмерное моделирование для школьников и программистовAnton MoiseevПростой урок OpenSCAD - сделаем модель робота и распечатаем её на 3д-принтере.
Клуб Робототехники и ТехТворчества в IT СлободеGoodKarma.meIT Слобода - клуб робототехники и технического творчества в Севастополе для детей 7-16 лет. http://goo.gl/vgQzdu
Увлекательные занятия проходят по направлениям «Сделай Сам», «Программирование роботов», «Схемотехника в Minecraft», «Робототехника Lego Mindstorms»
На занятиях детей учат думать, генерировать идеи, мастерить, программировать роботов, создавать полезные и актуальные вещи своими руками. Это возможность дать ребенку получать самые современные знания и полезные навыки в интересной и увлекательной форме.
Задача наших занятий — дать детям стимул к творчеству, научить нешаблонно мыслить, помочь самостоятельно построить в голове научную картину мира.
Занятия состоят из блоков теории, после каждого из которых, ребенку предоставляется возможность самостоятельно применить знания на практике.
А. Ефимов. Робототехника в России. Skolkovo Robotics CenterПрезентация А. Ефимова на дискуссионной панели "Робототехника в России", Иннопром, Екатеринбург 9 июля 2015
Заразительная робототехника на МикРобахАндрей АнтоновСлайды к докладу на международной научно-практической конференции «ОТ ИНФОРМАТИКИ В ШКОЛЕ К ТЕХНОСФЕРЕ ОБРАЗОВАНИЯ», 9-11 декабря 2015 года
Кружок по робототехнике. Занятие #1. Введение Alexander KolotovThis slide deck is used on very first lecture for kids who started robotics courses for the first year. It introduces kids to robotics.
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Tatiana VolkovaПредставляю Вашему вниманию свой перевод презентаций Bionic Arduino. Её автор — Тод Курт, известный по сайту и книге Hacking Roomba. Я считаю Bionic Arduino самой лучшей обучающей презентацией по основам программирования микроконтроллеров. Название «Arduino и бионика» не должно никого вводить в заблуждение — видимо, Тод выбрал его как наиболее интригующее, вся «бионика» там только в первой презентации и сводится к вопросу о киборгах.
Введение в Arduino
• Установка среды разработки
• Ваш первый скетч на Arduino
• Цифровые и аналоговые выходы
• Цифровые входы
• Как помигать светодиодом
• Как воспринять нажатие кнопки и узнать состояние переключателя
Все скетчи и файлы одним архивом:
http://robofreak.ru/bionic_arduino_rus.zip
Обзор современных микроконтроллеров и их архитектурIoT Community2-ая часть From Zero to IoT Hero: доклад - Обзор современных микроконтроллеров и их архитектур, Обзор архитектуры ARM.
1-ая часть доклада
Хотя ARM контроллеры можно встретить везде и повсюду, существует и достаточно активно используются и другие типы микроконтроллеров - например экосистема Arduino с контроллерами Atmel. Обзор и небольшое сравнение современных типов микроконтроллеров.
2-ая часть доклада
ARM - самая распространенная архитектура контроллеров для встраиваемых устройств. Почему так? Потому что они простые и очень эффективные. В докладе подробно разобрано, как они устроены.
Спикер: Александр Сурков
Контроллеры инфраструктуры. Докладчик: Богдан Вакулюк — ИМАГ.TrueConfКонтроллеры инфраструктуры — чтобы всех отыскать,
воедино созвать, и единою волей сковать:
- Возможности автоматизации переговорных комнат и систем ВКС.
- Основные сценарии автоматизации.
- Краткий обзор оборудования.
- Обзор сред программирования.
TMPA-2013 SmirnovIosif ItkinThe Specifics of Developing Software for Linux Controllers
Smirnov, М., Olonichev, V., Staroverov, B. ,
Kostroma State Technological University
Tessel. JavaScript на реальных устройствах. oelifantievДоклад на первом Ярославском форнтэнд-митапе.
Tessel - микроконтроллер, программируемый на JavaScript.
Лабиринт на Arduino, Вадим ИпполитовDevDayВсе мы привыкли писать программы, результаты работы которых можно увидеть и услышать. Хотите, чтобы их можно было ещё и потрогать? На примере создания электронной игры «Лабиринт» вы увидите, как не имея знаний и опыта сделать первый шаг в мир hardware.
Лабораторная работа по программирования pic32 ChipKIT Uno32 в среде ArduinoAnton MoiseevМетодические указания проведения лабораторных работ по программированию микроконтроллеров на Arduino-совместимой платформе PIC32 ChipKIT Uno32.
Составители: Автомобильный Институт (АМИ), Нижегородский государственный технический университет им Р.Е. Алексеева.
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...OnticoВ какой-то момент кто-то в интернете решил: всё, что мы можем вычислить, мы должны вычислить где-то на “большой мощной машине”. Так родилась заново идея “тонкого клиента”, поработившая сознание разработчиков современных веб-приложений. Всё, на что способно пользовательское приложение, в 90% кейсов сегодня - красиво отрисовать контент по данным, рассчитанным удаленной машиной в одном из дата-центров. При этом сложность расчетов и разнообразие данных растет быстрее, чем линейно, требуя все больше вычислительных ресурсов “больших мощных машин”, а также усилий по их проектированию, разработке, сопровождению, что в конечном счете приводит ко все более возрастающей стоимости владения. Однако, при этом растет разнообразие и, что немаловажно, мощность клиентских мобильных девайсов - основных потребителей того самого контента.
Парадокс заключается в том, что рост этот не приводит к очередной смене парадигмы разработки, никто не хочет переносить вычисления к клиенту и тем самым снижать возрастающие затраты эксплуатации. Отчасти это объясняется понятным образом: ресурсы мобильных устройств ограничены памятью и временем работы от аккумулятора, их хочется экономить.
Однако, чем дальше развивается эта аппаратно-программная история, тем всё менее убедительно выглядят такие аргументы. Пора запустить очередную фазу развития спирали - вернуться к разговору о новых “толстых клиентах” с новыми знаниями о том, как экономить исчерпаемые ресурсы их аппаратной части. И да - клиентов много, их вычисления нам ничего не стоят.
В этом докладе будет рассказано о том:
- почему уже хорошо перемещать вычисления к мобильному клиенту, а не нагружать серверную часть;
- какие средства доступны для разработчика на одной из мобильных платформ;
- какие трюки позволят сократить время вычислений и энергопотребление;
- почему быстро - не всегда энергоэффективно.
А также немного поговорим о вычислительной моде. Модные API прямо в телефоне:
- CNN (сверточная нейронная сеть) с железным ускорением.
- Металлические сети компараторов.
Решения МЗТА для комплексной автоматизацииМосковский завод тепловой автоматикиПодробная презентация программно-технического комплекса "Контар", производства МЗТА / Detailed presentation of the software and hardware complex "Kontar" production MZTA
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...Anton MoiseevБлеск и нищета современного ИИ, экономика ИИ, из истории кибернетики в СССР, философия ИИ - философия математики
Клуб изобретательства и робототехники РО ДОСААФ НО - 2019Anton MoiseevКлуб изобретательства и робототехники РО ДОСААФ НО - 2019
https://1i7.livejournal.com/tag/ДОСААФ
https://vk.com/robodosaaf
https://www.facebook.com/anton.moiseev.35
Цифровая микроэлектроника для математиков и программистов 2017Anton MoiseevИстория курса "Как пересечь пропасть от физики к программированию" в НГТУ им Алексеева http://1i7.livejournal.com/17550.html и последствия в цикле занятий Популярная робототехника в ДОСААФ http://1i7.livejournal.com/28866.html
Популярная робототехника и 3д-печатьAnton Moiseev«Популярная робототехника и 3д-печать», статья в сборнике материалов для учителей «Инженерная аксиология», в помощь работникам образовательных организаций, выпуск 2, Санкт-Петербург 2015, подготовленный к III Межрегиональной очно-заочной научно-практической конференции «Формирование престижа профессии инженера у современных школьников».
Антон Моисеев http://1i7.livejournal.com
Моделируем корпус Робота МашинкиAnton MoiseevУрок по моделированию корпуса Робота Машники в OpensSCAD и Inkscape для дальнешего производства на 3д-принтере и лазерной резкой из пластика.
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времениAnton MoiseevРегистрация виртуального хостинга на сервисе Amazon EC2 (Elastic compute cloud) по шагам.
Слоеный пирог в стиле техно или как создаются печатные платыAnton MoiseevСоздание печатных плат, пример в программе DipTrace. Автор: Дмитрий Корнев, НГТУ им Р.Е. Алексеева.
Writing in the ScienceAnton MoiseevThis document certifies that Anton Moiseev successfully completed an online course in Writing in the Sciences from Stanford University on November 22nd, 2013. The course was taught by Kristin L. Sainani and was taken through Stanford's OpenEdX online learning platform. However, the document notes that the online course does not confer any Stanford credits, grades, or degrees.
Тарификация и перспективы отмены внутрисетевого роуминга в РоссииAnton Moiseev22.08.2013, Москва, Аналитический центр при правительстве России,
Круглый стол "Взаимодействие регулятора и крупнейших операторов связи: инициативы и законотворчество".
Солонин Виталий Валентинович - Руководитель департамента беспроводных технологий
J'son& Partners Сonsulting, доклад "Тарификация и перспективы отмены внутрисетевого роуминга в России"
3. Настольные системы
(компьютеры, ноутбуки)
● Архитектуры: x86, x86_64
● Производители чипов: Intel, AMD
● Операционные системы: настольные
дистрибутивы Linux, Mac OS X, Windows XXX
● Устройства: стационарные компьютеры,
ноутбуки, серверы
4. Хай-энд мобильные чипы
(планшеты и смартфоны)
● Архитектуры: ARM, MIPS, Intel с X86 тоже
что-то пробует
● Операционные системы: Google Android,
iOS, мобильная Windows, Windows 10
● Устройства: планшеты, смартфоны;
гибридные ноутбуки, серверы с низким
энергопотреблением
5. Мид-энд чипы — хорошая производительность,
низкое потребление энергии
(роутеры)
● Архитектуры: MIPS, ARM
● Операционные системы: Linux + окружение
BusyBox
● Устройства: роутеры, встраиваемые
системы, где нужен Линукс, но не нужна
топовая графика или типа того
6. Микроконтроллеры
(стиральные машины)
● Архитектуры: AVR, MIPS, ARM
● Производители: Atmel ATmega8 (AVR), Microchip
PIC32 (MIPS), STMicroelectronics STM32 (ARM)
● Операционные системы: специализированная
прошивка без ОС, RTOS'ы
● Устройства: счетчики, стиральные машины,
бытовая техника, другие встраиваемые
системы, не требовательные к ресурсам
7. Из отечественного
● Эльбрус: своя архитектура и свое
производство (тянут десктоп с Linux,
военное применение)
● Байкал: лицензия ядра мид-энд MIPS,
производство в Азии
(высокопроизводительные встраиваемые
системы — станки с ЧПУ, планируют
массовый рынок)
20. На заказ
● Высокая точность, тонкие дорожки,
многослойные платы, большой тираж
● Автоматический монтаж компонент
(специальный корпус SMD)
● Резонит (Зеленоград), КБ Связь инжиниринг
(Дубна), Виптех (Нижний Новгород)
● Китай (с текущим курсом уже не так выгодно)
22. Языки описания аппаратного
обеспечения HDL (Verilog/VHDL)
● на заказ: Дизайн на HDL → завод в Азии →
чип ASIC (специализированная микросхема)
● дома: Дизайн на HDL → ПЛИС
● MIPSfpga: исходники промышленного чипа
PIC32MZ для запуска на ПЛИС
● opencores.org
● Есть линия в Зеленограде
24. Плата ChipKIT WF32
● $70 (~5000руб) на digilentinc.com, microchipdirect.com
● Совместима на программном уровне с платформой
Arduino
● Программирование на языке Си/С++
● WiFi, режимы USB хоста и USB-устройства, SD-карта
● Контроллер PIC32MX 80МГц
● 512Кб ПЗУ флеш, 128Кб ОЗУ
25. Порты (ножки или пины) ввода-вывода
● Осуществляют связь между программой и внешним
миром
● Пронумерованы от 0 до 41 (на WF32)
● Каждый порт может работать в режиме ввода или
вывода
● Цифровой режим: для порта определено два
значения 1 (HIGH - плюс) и 0 (LOW - минус)
● В режиме вывода программа записывает в указанный
порт единицу 1 и на порт подаётся напряжение плюс,
при записи 0 подаётся минус (земля/ground/GND)
26. Среда разработки MPIDE
● chipkit.net/started/install-chipkit-software/
● Свободное программное обеспечение
● Работает на Linux, Mac и Windows
● Предварительно необходимо установить
платформу Java: java.oracle.com
Драйвер платы:
● в Linux уже всё есть, хотя может потребоваться
дать права на доступ к устройству /dev/ttyUSBX
● в Windows 7: драйвер в архиве с MPIDE
● в Windows 8: при подключении платы разрешить
искать в интернете
33. Моторчик с коллекторным
двигателем
Без редуктора будет крутиться,
но машинка не поедет
Моторчик с редуктором
крутится медленнее, но тянет
больше нагрузки
55. ВАЖНО: не подключайте плату
через USB к компьютеру, если к
плате подключено внешнее
питание — в лучшем случае
лишитесь платы, в худшем — и
платы, и пары портов USB на
компьютере
58. Задача — ехать по черной линии:
ехать прямо по прямой линии и
поворачивать на поворотах
59. Датчик линии
● У датчика всего три провода: питание Vcc
(5В), земля GDN и сигнал OUT
● OUT=HIGH (т.е. логическая единица), если
поднести его к поверхности черного цвета,
OUT=LOW (т.е. логический ноль), если
поднести его к поверхности любого другого
цвета.
62. Робот умеет
● Ехать вперед
● Ехать назад
● Останавливаться
● Поворачивать налево
● Поворачивать направо
● Определять наличие линии на левом датчике
● Определять наличие линии на правом датчике
63. Алгоритм словами
● Если ни левый, ни правый датчик не видят линии
(линия между датчиками), едем вперёд.
● Иначе (линия есть под левым или под правым
датчиком или сразу под обоими) проверяем, есть ли
линия под правым датчиком.
● Если линия есть под правым датчиком, поворачиваем
направо.
● Иначе (значит линия под левым датчиком)
поворачиваем налево.
● Повторяем всё сначала
69. Блоки с условиями
if( условие ) {
// действия, если условие выполнено (ветка "да")
...
} else {
// действия, если условие не выполнено (ветка "нет")
...
}
70. Операторы сравнения —
булевы выражения для блоков if
● a == b : если a равно b, ПРАВДА, иначе ЛОЖЬ
● a != b : если a не равно b, ПРАВДА, иначе ЛОЖЬ
● a < b : если a меньше b, ПРАВДА, иначе ЛОЖЬ
● a > b : если a больше b, ПРАВДА, иначе ЛОЖЬ
● a <= b : если a меньше или равно b, ПРАВДА,
иначе ЛОЖЬ
● a >= b : если a больше или равно b, ПРАВДА,
иначе ЛОЖЬ
71. Сложные условия из нескольких
простых
● a && b (логическое И): если a ПРАВДА И b
ПРАВДА, ПРАВДА, иначе ЛОЖЬ
● a || b (логическое ИЛИ): если a ПРАВДА ИЛИ
b ПРАВДА, ПРАВДА, иначе ЛОЖЬ
● !a (логическое НЕ): если a ЛОЖЬ, ПРАВДА,
иначе ЛОЖЬ
72. Выражения для блоков условий
ПРАВДА, если левый датчик видит линию
( digitalRead(LINE_SENSOR_L) == 1 )
ПРАВДА, если левый датчик не видит линию
( digitalRead(LINE_SENSOR_L) == 0 )
ПРАВДА, если правый датчик видит линию
( digitalRead(LINE_SENSOR_R) == 1 )
ПРАВДА, если правый датчик не видит линию
( digitalRead(LINE_SENSOR_R) == 0 )
74. /**
* Сенсор линии: сенсор подключен к входной ножке и
* подает на нее сигнал:
* 1, если сенсор обнаружил линию (черный цвет),
* 0, если сенсор линию не видит (белый цвет).
*/
#define LINE_SENSOR_L 27
#define LINE_SENSOR_R 28
75. void setup() {
Serial.begin(9600);
Serial.println("Start Robot Car - the line follower!");
pinMode(MOTOR_LEFT_1, OUTPUT);
pinMode(MOTOR_LEFT_2, OUTPUT);
pinMode(MOTOR_LEFT_EN, OUTPUT);
pinMode(MOTOR_RIGHT_1, OUTPUT);
pinMode(MOTOR_RIGHT_2, OUTPUT);
pinMode(MOTOR_RIGHT_EN, OUTPUT);
76. // пин сенсора в режим ввода
pinMode(LINE_SENSOR_L, INPUT);
pinMode(LINE_SENSOR_R, INPUT);
// остановить моторы при старте
mleft_stop();
mright_stop();
}
77. void loop() {
if( digitalRead(LINE_SENSOR_L) == 0 &&
digitalRead(LINE_SENSOR_R) == 0 ) {
//Serial.println("Proverka linii: linii net na 2x datchikah");
// линии нет на обоих датчиках
// едем вперед
mleft_forward();
mright_forward();
78. } else {
// линия есть хотябы на одном из датчиков
Serial.println("linia na odnom is datchikov");
79. if( digitalRead(LINE_SENSOR_R) == 1 ) {
// линия под правым датчиком
Serial.println("praviy datchik -> povorot napravo");
// ненадолго остановимся, чтобы собраться с мыслями (для отладки)
mleft_stop();
mright_stop();
delay(1000);
// поворачиваем направо
mleft_forward();
mright_backward();
// поворачиваемся 400 миллисекунд, время получено эмпирически
delay(400);
80. } else {
// линии нет под правым датчиком, значит она под левым датчиком
Serial.println("leviy datchik -> povorot nalevo");
// ненадолго остановимся, чтобы собраться с мыслями (для отладки)
mleft_stop();
mright_stop();
delay(1000);
// повернуть налево
mleft_backward();
mright_forward();
// поворачиваемся 400 миллисекунд, время получено эмпирически
delay(400);
}
}
}