20

E-Learning. Часть 15. Два сенсора в одной плоскости

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


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


О чем этот пост: будет проведена проверка предположения о том, что два сенсора на разных МК (В каждом 3 осевой гироскоп и 3 осевой акселерометр) в одной плоскости при одинаковых воздействиях будут показывать примерно одинаковые показания.


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


Зачем это надо?

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


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


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


Задачи:

1) Подготовить скетч для вывода данных для трех осей гироскопа\акселерометра (отдельные тесты по 3 значения). 500000 БОД. Задержка 50 мс. Один скетч, чтобы управлять сенсорами и в ESP32 и в Arduino MEGA 2560. Сенсоры BMI160. Данные без дополнительной обработки, только то, что сенсор выдает по умолчанию. Сам скетч отсюда. Я его лишь немного доработал.

E-Learning. Часть 15. Два сенсора в одной плоскости Исследования, Esp32, Arduino, Гироскоп, Акселерометр, Гифка, Видео, Длиннопост

2) Одновременно вывести значения через Плоттер по последовательному соединению.

3) Покрутить вдоль крена, тангажа и рыскания.

4) Сравнить визуально графики.


Схема включения:

E-Learning. Часть 15. Два сенсора в одной плоскости Исследования, Esp32, Arduino, Гироскоп, Акселерометр, Гифка, Видео, Длиннопост

Поехали. Гироскоп:

И еще раз.

Акселерометр:

Вполне.

E-Learning. Часть 15. Два сенсора в одной плоскости Исследования, Esp32, Arduino, Гироскоп, Акселерометр, Гифка, Видео, Длиннопост

Дубликаты не найдены

0

Может сейчас глупость спрошу, а график строился какой утилитой? Уж больно верхний бар на штатный ардуиновский смахивает

раскрыть ветку 3
0

Он и есть. Инструменты - Плоттер по последовательному соединению в верхнем меню. Или Ctrl+Shift+L.

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

раскрыть ветку 2
0

Благодарствую, боярин

раскрыть ветку 1
Похожие посты
171

Печка из старого утюга для запекания паяльной пасты

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

Для пайки компонентов поверхностного монтажа smd-smt вам понадобится специальная печь для оплавления паяльной пасты.

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

Но вот проблема! Такой девайс не из дешевых, а при мелкосерийном, да и просто аккуратном любительском производстве совершенно не заменим !

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

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

Для этой «установки» вам понадобятся следующие детали и компоненты

✔ Деревянное основание

✔ Старый утюг с толстой подошвой

✔ WiFi модуль Wemos D1mini

✔ Твердотельное реле 25А

✔ Драйвер термопары, например MAX6675

✔ OLED дисплей с разрешением 128x64 пикселей

И немного рассыпухи в виде тактовых кнопок, потенциометра на 10 кОм, резисторов 10 кОм, конденсаторов 0,1µ и проводов.

В место wifi модуля можно использовать любую другую плату arduino с минимальными переделками кода. Просто автор — фанат ESP8266 и ESP32 😉

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

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

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

Сборка

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

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

Плюсы и минусы конструкции


✔ работает как часы

✔ легко собрать

✔ очень низкая стоимость

✔ очень быстрая пайка плат

✔ маленький размер, который подойдет каждому радиолюбителю


✖ работает только для одной стороны печатной платы

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

✖ печатная плата должна быть удалена сразу после завершения процесса оплавления флюса во избежания расслоения

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

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

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

Схема и печатная плата

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

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

Все остальные компоненты просто подключаются через разъемы к плате. Источник питания 5 В, термопара и твердотельное реле вешаются на GPIO и подключаются через эти винтовые клеммы. Значение R1 составляет 10 кОм, значение С1 равно 0,1 мкФ, а сопротивление потенциометра также равно 10 кОм. При желании, вам не понадобится эта плата, вы можете подключить всё с помощью нескольких проводов.

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

А вот и ссылка на оригинальную прошивку и печатную плату в Eagle.

Попробуйте сделать свою реализацию, это действительно просто 😅 а нам будет интересно увидеть вашу реализацию такой печки

Печка из старого утюга для запекания паяльной пасты Печатная плата, Arduino, Esp32, Лазерный утюг, Видео, Длиннопост

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

Показать полностью 5 2
61

GSM PPP протокол для ESP32 под Arduino IDE

Общая информация:

Большинство GSM модулей могут работать с интернетом не только через AT команды, а и через PPP (Point-to-Point Protocol).  Стандартные GSM модемы для компьютеров работают именно по PPP. Когда вы поключаете модем к компьютеру, то он стандартными AT командами переходит в режим PPP и потом вешается на сетевой протокол через PPPOS (PPP over serial) и таким образом может использоваться как нормальное подключение к интернету (как WiFi или Ethernet). Но библиотеки для работы с PPP довольно большие и перенести их так просто на любой контроллер  типа Arduino, STM не получится. Поэтому на контроллерах обычно используют AT команды.


Для чего он мне понадобился:

Когда я захотел добавить возможность на ESP32 обновлять прошивку с сервера через GSM, то столкнулся с тем, что загрузить файлы больше десятков килобайт через AT команды просто не удается. Тогда я сделал закачку файла по кусочкам с проверкой целостности каждого пакета. Таким образом конечно можно закачивать прошивку, но очень медленно это происходит (на загрузку 700кБ у меня уходило от 40 минут до несколько часов) и очень часто происходи сбой работы AT команд, а если еще в этот момент будет кто-то звонить или придет SMS, то вобще все плохо.


Порывшись в интернете я нашел очень мало примеров реализаций PPP под контроллеры, вот ссылки:

для ESP32 под esp-idf:

https://github.com/espressif/esp-idf/tree/master/examples/pr...

и на базе стандартного примера https://github.com/loboris/ESP32-PPPOS-EXAMPLE

для STM32F4:

https://habr.com/ru/post/419037/


Получается, что в ESP32 есть готовые библиотеки для работы с PPP,  но все примеры под esp-idf. Конечно же я проверил эти примеры, но я привык в Arduino IDE работать.  Поэтому я просто взял эти исходники и адаптировал под Arduino IDE. Я использовал версию arduino-esp32 1.02. Не все функции с esp-idf работали так как надо в arduino, но все получилось. Я специально убрал автоматическую обработку и отправку AT команд для входа в PPP и сделал ручной ввод, чтоб потом можно было добавить свой стэк AT команд или прикрутить библиотеку TinyGSM


Ссылка на код  - https://github.com/levkovigor/pppos_client


Что еще можно сделать:

1) Для обновления прошивки нужно при скачивание файла (отрезав Header) записывать его в SPIFFS и по окончании скачивание делать обновление (в Arduino IDE есть такой пример)

2) Можно попробовать соединить WiFi точку доступа с PPPOS - получится что-то вроде WiFi GSM роутера.

Пишите ваши идеи

Показать полностью
189

Подключение 7-дюймового экрана с тачскрином (Waveshare) к Arduino

Появилась у меня задача сделать один проект с экраном 7 дюймов с тачскрином. До этого я работал только со стандартными экранчиками под ардуинку не более 4.5 дюймов, которых много есть различных моделей в магазинах. А вот с экранами побольше выбора почти нет, да и информации мало. После долгих изучений я нашел 3 варианта:

1) делать проект на Raspberry, но выйдет намного дороже по комплектующим

2) использовать дисплей Nextion, но он тоже не дешевый и я хочу сделать проект на ESP32 с возможностью удаленной прошивки контроллера по воздуху, а с Nextion такое, как я понял, не получится.

3) с использованием контроллера RA8875


Первые два варианта я оставил как запасные, если не удастся с третим. По поводу RA8875 - есть отдельно готовый модуль от Adafruit https://www.adafruit.com/product/1590, но стоит он тоже многовато, а с учетом того, что нужно еще и экран покупать, то выйдет дороговато. А есть уже готовые модули с этим контроллером и экраном с тачскрином (резистивным или емкостным). Я остановился на таком варианте https://www.waveshare.com/7inch-capacitive-touch-lcd-c.htm

Подключение 7-дюймового экрана с тачскрином (Waveshare) к Arduino Arduino, Esp32, Tft, Тачскрин, Gt811, Ra8875, Длиннопост

И вот приехал мне этот дисплей с алишки за 47$ как раз перед Новым годом. Сразу же запаял штырьки в правый нижний блок (2х7), так как подключать я его собирался по SPI, а слева выводы под паралельный интерфейс. Библиотеку взял https://github.com/adafruit/Adafruit_RA8875 Но сразу ничего не получилось. Пришлось изучать даташити на этот контроллер и искать информацию в интернете. И вот я наткнулся на одну статью (https://github.com/sumotoy/RA8875/wiki/Various-RA8875-based-...), где написано, что на этом дисплее не выведен SPI и подключить его не получится. Я уже расстроился и подумал, что придется пилить на Raspberry, но продолжил изучать даташиты. Сравнив схемы этого модуля и модуля Adafruit я увидел, что все сходится и SPI там выведен. Но тут выведены еще контакты PS, SIFS0,1, I2CA0,1. Изначально я их не подключил, но в даташите написано, что есть несколько режимов работы контроллера RA8875 - паралельный интерфейс, SPI 3-wire, SPI 4-wire, I2C. И в зависимости от того, какой режим используется надо эти контакты завести на VCC или GND.


И так в случае SPI 4-wire схема подключения такая:

PS - VCC

SIFS0 - GND

SIFS1 - VCC

IICA0 - GND

IICA1 - GND

SDO - MISO

SDI - MOSI

SCL - SCL

CS - любой цифровой выход

LCD_RST - любой цифровой выход

RS_INT - любой цифровой вход


После такого подключения экран заработал:

Подключение 7-дюймового экрана с тачскрином (Waveshare) к Arduino Arduino, Esp32, Tft, Тачскрин, Gt811, Ra8875, Длиннопост

Сразу хочу уточнить, что ESP32 работает на 3.3В, но если вы захотите подключить экран к Arduino , которая работает на 5В, то нужно согласование уровней, а то можете спалить дисплей (http://we.easyelectronics.ru/Shematech/soglasovanie-logiches...)


После этого начал разбираться с тачскрином. В этой же библиотеке Adafruit_RA8875 есть возможность работы с тачскрином, а на контроллер RA8875 должны быть заведены контакты тачскрина Y+, Y-, X+, X- Но это сработает только в случае резистивного тача. А у меня модуль с емкостным и контакты его заведены на контроллер GT811. И тут опять возникла проблема: нет ни одной библиотеки для подключения этого контроллера к ардуино. Подключается он по I2C  - 4 нижних контакта на этой же колодке (2х7):


SDA - I2C_SDA

SCL - I2C_SCL

СT_RST - любой цифровой выход

CT_INT - любой цифровой вход


Пришлось опять читать даташиты и искать в интернете информацию. Была найдена библиотека на GT811 для контроллера GD32 - аналог STM32 (https://github.com/pysco68/waveshare-hid/blob/master/src/gt8...) Детально ее изучив, переписал на простую библиотеку под ардуино https://github.com/levkovigor/GT811

На данном тачскрине можно отслеживать до 5 одновременных касаний.


Теперь остается только откалибровать координаты тачскрина относительно координат экрана и можно пилить проект.

Показать полностью 1
86

E-Learning. Часть 14. Тестирование ESP32

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


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


О чем этот пост: о переходе со схемы ESP8266 на ESP32 и небольшом анализе минимальной\максимальной частоты приема на конечном сервере.


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


Задачи:

1. Замерить частоту передачи данных по проводу (по COM-порту). В зависимости от величины БОД и формата пакета.

2. Замерить частоту передачи при беспроводной доставке UDP пакетов.

3. Оценить нижнюю и верхнюю границу частоты передачи данных на разных аппаратных точках доступа Wi-Fi.

4. Оценить на сколько плавает частота передачи данных.


Что я использовал:

1. Замер питания. USB тестер (замерял 3 часа работы - итог 300 ма ест ESP32):

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

2. Роутер tp-link tl-wr841n-300mbit.

3. Sony Experia ZL.

4. Программатор для ESP32.

5. Ноутбук Lenovo Z580 в качестве сервера приема данных.

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост
E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Поехали.

Часть 1. Проводные тесты


Для начала надо прошить нашу плату. Вот так


Тест 1: Передача строки

Serial.println("-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83,-0.83");

Тест 2: Таже самая строка, но без минусов.

Тест 3: Serial.println("-0.83,-0.83,-0.83,-0.83,-0.83,-0.83");

Тест 4: Тоже самое, но без минусов.


Тест 1 передает по одному значению с каждого датчика на руке. 6 осей. 18 сенсоров максимум. Итого 108 значений. Значения с минусом передаются медленнее. Ибо знак минус это тоже информация, которую нужно передать.

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

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

Плюс питоновкой реализации в том, что мы не ограничены фиксированными значениями, которые предлагает arduino ide.


При значении более 2500000 БОД на первом и втором тесте вылазят ошибки. При более 3000000 уже и короткая строка не успевает.

Такие тесты нужны узнать что экономнее - передавать на сервер по одному значению или все сразу. Если сравнивать значения на одну ось, то получается что все данные сразу передавать выгоднее примерно на 3% +-. Окей, хорошо.

Стабильные результаты при 2000000 БОД хуже 3070000 БОД в среднем на чуть более 60%.

При этом верхняя граница для частоты данных (1 Герц считаю как все сенсоры за 1 секунду передали каждый по 6 значений данных на каждую свою ось, итого 108 цифр).


Вывод по части 1:

300 Гц у нас в кармане. (хотя и 60 хватает так-то)

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Часть 2. Беспроводные тесты.


От POST запросов я отказался. Получилось переслать UDP пакеты.

Прошивка для ESP32

Сервер приема и сохранения данных на Python 2.7 (Сам код я разбирать не буду, главное что он считает реальное число Гц принятых на ноутбуке).


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


1) tp-link tl-wr841n

2) Sony Experia старенькую уже.


Так же стоит учитывать, что больше ничем другим эти точки доступа не занимались. Даже к интернету не подключены. И симки не было в телефоне. Пробовал еще на своем рабочем D-Link DIR-815/AC, но результаты в конце (да и данные были некорректно собраны для него).


Сами собранные данные (21 599) последовательных данных на каждую выборку):

1) Данные tp-link tl-wr841n

2) Данные Sony Experia


Код для анализа данных в Jupyter Notebok (Язык Python 2.7)


1) Строим гистограмму и функцию плотности вероятности. (tp-link tl-wr841n)

Общая:

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Отдельно выделил центральный пик, который составляет 97.87% (21 139) от всех данных.

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Это значит, что большинство значений более 1290 Гц!

Левый промежуток 0.04 % (8).

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Правый 2.09 % (452)

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Среднее значение 1348.184777

Разброс  191.242387

Минимальное  310.000000

Максимальное  3966.000000


Что ж, воодушевляет. Посмотрим чем удивит мобилка.

2) Общая

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Центральная (считал как средняя плюс-минус половину разброса). 94.67 % (20448)

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Левая 2.65 % (573)

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Правая 2.68 % (578)

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

Можно заметить, что иногда частота время от времени удваивается от среднего значения в 2-3% случаев. С чем связано не знаю.


0 mean 1155.241446

1 std 165.123428

2 min 223.000000

3 max 3437.000000


1100 Гц выдает. Очень хорошо.

Мой D-Link DIR-815/AC при интернет серфинге и просмотре фильма с подцепленного на роутер жесткого диска (по FTP протоколу) среднее значение было 300 Гц (когда мало серфили, то 900 Гц).


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

E-Learning. Часть 14. Тестирование ESP32 Исследования, Esp32, Python, Длиннопост

В следующих постах:

1) О том как жить с плавающей частотой передачи данных.

2) Об автоматической корректировке взаимозависимых гироскопов+акселерометров.

3) О сборке макета углов Эйлера для тестирования гироскопов и акселерометрах.

Показать полностью 13
131

Часы с погодой RGB на LED P4 panel и ESP32.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Нам понадобится:

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Led RGB P4 panel. Поставляется обычно со всеми проводочками.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Модель панели.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

ESP32

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Источник питания - любой на 5V 6A.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Резистор 4.7 КОм паять на OE=LAT.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Припаиваем шлейф который идет в комплекте к ESP32.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Разъем панели = пин на esp32.

Все остальные пины GND панели соединяем с пинами esp32.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Для прошивки понадобится ардуино IDE.

Скетч + библиотеки: https://yadi.sk/d/BJWZ0oEA3ZQ2AA

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Вводите логин пароль от WiFi.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Для получения погоды нужно зарегистрироваться на сайте openweathermap.

Часы с погодой RGB на LED P4 panel и ESP32. Часы, Esp32, Погода, Arduino, Led, P4, Rgb, Длиннопост

Ну и выставляете часовой пояс.

О том  как подружить ESP 32 и Arduino IDE  я рассказывать не буду, есть куча инфы в инете.

Показать полностью 10
257

E-Learning. Образовательная робототехника. Часть 0. Вступление

Добрый день всем пикабушникам.

Меня зовут Игорь и я аспирант.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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


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

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Эти источники про ЭЭГ, но для поведенческой модели все еще проще.

a) Interactive neuro-educational technology to accelerate skill learning //2009 Annual International Conference of the IEEE Engineering in Medicine and Biology Society. – IEEE, 2009. – С. 4803-4807.

б) Real-time EEG-based brain-computer interface to a virtual avatar enhances cortical involvement in human treadmill walking. Sci Rep. 2017 Aug 21;7(1):8895. doi: 10.1038/s41598-017-09187-0.


В чем плюсы:

1) У нас есть проверяемая на качество модель.

2) Можно применять для массового обучения.

3) Легко передавать оцифрованный навык.

4) Можно сделать сеть подобных обучающих роботов, общающихся как в Интернете вещей (IoT).

5) С существующими законами легко сертифицируется и монетизируется.


В чем минусы:

1) Сложно обеспечить длительную мобильность подобного образовательного костюма.

2) Дорого.

3) Мозговыносящее программное обеспечение и прочие прелести технологического проекта.


Сразу скажу, что изначально я хотел сделать подключить и гироскопы, и акселерометры, и магнитометры, и мышечные датчики, и датчики кожно-гальванической реакции и ЭЭГ посматривал и много других. Зачем? Расскажу далее. Реальность же сделала примерно так:

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Я 2 месяца не мог подключить эти гироскопы по одной простой причине, на пришедших мне датчиках GY BMI160 была неправильно нанесена маркировка выходов, помогла только лупа и дельные советы еще одного руководителя лаборатории робототехники в городе.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Это правильный вариант.

После этого одна из первых версий перчатки для оцифровки движений руки выглядела уже так.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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

Почему? Да потому что на начало сбора оборудования я не имел представления об электроники, и был паяльник на 20 Ватт обычный. Плюс ко всему я обзванивал и писал по многим нашим фирмам необходимое оборудование и ценник был всегда от 200 000р до 3 500 000р за оборудование в сборе, которое еще и разбирать все равно надо.

А тут все с большим запасом вышло много меньше. 80 штук GY-BMI160 вышли всего в 31 200 рублей. Как я искал оборудование и составлял требования к ним - это отдельная история.

В общем я понял, что нужно делать дешево и сердито, попутно расплачиваясь мозговрывательством в обучении многим новым областям. Я даже успел получить сертификат по машинному обучению от Яндекса и МФТИ за это время.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Время шло, качество пайки росло.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

В этой версии до меня дошло, что нужно паять, а не соединительными проводами и макетной платной пользоваться, что проводов много. Что блютус это зло во плоти в этом проекте. Нужен Wi-Fi, а с ней и NodeMCU v3. Спустя полгода с момента прихода оборудования это было первой рабочей версией общей стоимостью около 4 тысяч рублей.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Очень долго не мог понять как по WiFi передавать данные. Особенно огорчило, что частота для 18 датчиков была 1,8 Герца реальная... Но потом когда я понял, что не надо для каждого датчика открывать и закрывать соединение, а можно сделать это всего 1 раз в начале - частота работы руки подскочила до 50-74 Гц.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Я еще устроен как ассистент преподавателя в университете и на этом фото провожу летнюю практику для студентов со своей рукой.

Я не знаю как тут вставлять ссылки на файлы, поэтому временно выложу на яндекс диск. Удалось собрать такую оцифровку движений руки. https://yadi.sk/d/rtUQF5GS3MertK

Схема расположения датчиков для этого съема такая:

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Сделано с помощью пейнта (вы ведь видите неповторимый характер этой программы в эскизе? :))

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

Где-то в этот момент успел выступить на Иннопроме 2017 с этой разработкой перед правительством Свердловской области, где просил 20 миллионов рублей и сразу получил их на карточку вечером (конечно же не получил, но сумма реальная и не я один был с такими заявками)

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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

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

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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

На освоение нового качества пайки мне потребовался месяц экспериментов и несколько датчиков, которые отправились в Вальгаллу.

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

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

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост

Это не законченная история, через два года я буду получать кандидата либо технических, либо физико-математических наук (третий кандидатский еще не сдан).


О чем я буду писать?

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


Чего я хочу?

Я хочу создать костюм для полного погружения в виртуальную и дополненную реальности для образовательных и реабилитационных целей. Сделать Web Of Skills.


О чем я могу написать?

1) Поступление в аспирантуру.

2) Проведение нормоконтроля студентов от лица нормоконтролера. (я в этом году принимал оформление дипломов у 5 академических групп).

3) Проведение работы в университете, чтобы на выходе получить качественный диплом.

4) Формирование научных интересов.

5) Сотрудничество с небольшими научными лабораториями.

6) Опыт общения с поставщиками оборудования как готового, так и по деталям.

7) Опыт выступления на Иннопроме.

8) Визуализация данных в Blender 3D и Unity 3D.

9) Коммерциализация продукта.

10) Интеллектуальная защита продукта.

11) Научный поиск информации.

12) Опыт самостоятельного обучения пайке.

13) Как учиться учиться. (за этот год я прочитал около 15 тысяч страниц, что в сумму дает более 30 тысяч прочитанной литературы от художки до специализированной. Пройдены курсы по юридической поддержке стартапов, управлению инновационными проектами, машинному обучению, математика для всех (да, это для гуманитариев, но когда начал работать с кватернионами, то понял что где-то есть пробел, но не знаю где), получил три свидетельства на программу ЭВМ, научился пайке с нуля и прочее).


О чем я не буду писать?

О политике как государственной, так и университетской.


Я не популяризатор науки, я её просто люблю и готов поделиться этой радостью с Вами.

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

E-Learning. Образовательная робототехника. Часть 0. Вступление Mocap, Arduino, Esp8266, Наука и техника, Аспирантура, Исследования, Длиннопост
Показать полностью 24
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: