Найти в Дзене
Димыч Поделкин

«Переносной поворотник». Часть 3 (Связь).

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

И так! У нас в подчинении есть 2 WiFi модуля (с исправленной схемой питания). Один из них — «мозг», владыка светодиодной матрицы, повелевающий светом и пикселем. Его настраиваем в режиме точки доступа WiFi и на нем же организуем веб-сервер. И называться он будет… «Палпатин» «Молния»! (Да да, для озвученных эпитетов название скромное, но ничего лучше не придумал). Второй — «мозг» перчатки. Хотелось бы назвать его «Зевсом», но мне кажется, это уже перебор))). Задача перчатки — подключение к известной нам WiFi точке доступа и по факту нажатия одной из кнопок отправлять серверу («Молнии») команду.

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

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

И тут поджидала еще одна неприятность. Светодиодная матрица очень требовательна к таймингам, ко всем временным задержкам, которые используются при передачи ей управляющей команды (погрешность ± 150 нано секунд, при передачи 1 бита информации, критичны для правильного отображения картинки, а таких бит необходимо передать 8 (бит на 1 цвет)*3(цвета)*256 (светодиодов)=6144). При работе с платформой ардуино, ничто не «отвлекало» контроллер от выполнения поставленной задачи по «засвечиванию» матрицы, тогда как WiFi модуль, как бы это банально не звучало, отвлекает работа WiFi, так как его работа в большем приоритете, нежели наши «хотелки». В результате, подстроившись под такие условия, мне удалось заставить модуль, более-менее адекватно, выводить картинку. Но ложка дегтя таки осталась, в виде «артефактов», рандомно вспыхивающих пикселей. С этим можно бороться, добавив видеокарту еще один контроллер для обработки изображения. Но пока-что придется «понять и простить» и работать с тем, что получилось.

На видео хорошо видны «артефакты» — рандомно вспыхивающие пиксели.

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