|
rss_habr
Среда, 01 Февраля 2023 г. 11:35 (ссылка)
![](https://habrastorage.org/webt/ra/5s/xz/ra5sxztz5sheedwza3oi7pp6b5q.jpeg)
Иногда возникает необходимость расширить функциональность какого-нибудь контроллера, например добавить ему цифровых и аналоговых входов или увеличить количество релейных и транзисторных выходов. Наиболее простой способ это сделать — использовать дополнительные блоки расширения, либо входящие в экосистему вашего контроллера, либо универсальные, предназначенные для работы с любым контроллером.
Подобные блоки могут поддерживать различные интерфейсы, наиболее популярным и демократичным из которых является RS485/ModbusRTU. Из всего разнообразия подобных устройств на AliExpress мне показалась интересной серия блоков MA0x-xxCXxxx0 с интерфейсами RS485/RS232 компании EBYTE.
В отличие от прочих подобных блоков расширения, изделия EBYTE имеют приличный внешний вид, вменяемую документацию, широкий модельный ряд и при этом вполне демократичную цену. Правда потом выяснилось, что производитель предоставляет только компьютерную утилиту для работы со своими блоками, а программирование Modbus RTU оставляет на откуп покупателя (а в интернете нет никаких примеров работы с этими блоками).
В результате мне пришлось провести исследовательскую работу, разобраться с железом MA01-AACX2240 и научится его программировать в составе контроллера на ESP32.
Обо всём этом мы и поговорим далее… Читать дальше → https://habr.com/ru/post/713558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713558
rss_habr
Четверг, 26 Января 2023 г. 17:40 (ссылка)
![](https://habrastorage.org/webt/sk/yl/ek/skylekvnny5pg5yy33bgppvyat8.jpeg)
От переводчика. Поскольку при переводе и публикации на Хабре некоторые разделы оригинального руководства были скомпонованы друг с другом, то нумерация частей оригинала и перевода не совпадает — у нас это 3-я часть, а в оригинале — 5-я.
В этой части автор переходит к самому интересному — управлению оборудованием с веб-страницы. В данном случае это светодиод, но по этому же принципу можно управлять любыми актуаторами, подключёнными к контроллеру.
Мы уже умеем работать с веб-страницами, хранить их на SD карте памяти, а теперь ещё научимся в динамике управлять подключённым оборудованием. Читать дальше → https://habr.com/ru/post/712120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=712120
rss_habr
Понедельник, 23 Января 2023 г. 17:01 (ссылка)
![](https://habrastorage.org/webt/zd/ck/ir/zdckiraclgh7vopoha8u6waapdc.jpeg)
Сегодня у нас на обзоре долгожданный контроллер NORVI Arita на ATmega2560. Долгожданный он потому, что большинство производителей, на мой взгляд незаслуженно, игнорируют замечательный микроконтроллер ATmega2560, и там где нужно и, самое главное, где не нужно, используют ESP32.
У ATmega2560 нет Wi-Fi, но зато есть «дубовая» 5-вольтовая логика, 4 хардверных Serial-а (на отдельных пинах), 53/69 (!) GPIO, 16 аналоговых входов, 15 портов с ШИМ, 4КБ «честной» EEPROM памяти, 40 мА нагрузочная способность пинов и прочие практически полезные прелести. На этом фоне ESP32 с его десятком рахитичных GPIO смотрится просто каким-то недоразумением.
В умелых руках ATmega2560, в совокупности с сетевым интерфейсом W5100/W5500 и картридером для microSD карт (до 32 ГБ), превращается в самодостаточное устройство с развитым (ничуть не хуже, чем на ESP32) веб-интерфейсом, огромными возможностями по управлению различным оборудованием, поддержкой сложной многослойной логики и коммуникаций с внешним миром по Ethernet, LoRa, nRF24 и т. д. и т. п.
Проблема только одна — на рынке нет Arduino Mega «с человеческим лицом», за редкими исключениями, с одним из которых я и приглашаю вас познакомиться… Читать дальше → https://habr.com/ru/post/711948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711948
rss_habr
Пятница, 20 Января 2023 г. 17:01 (ссылка)
![](https://habrastorage.org/webt/wi/hp/iy/wihpiyybwipv0mro2wzvruxckrw.jpeg)
От переводчика. Продолжаем изучать тему создания веб-серверов на Arduino и на микроконтроллерах вообще. В этой статье скомпанованы две части оригинального руководства — «Структура веб-страницы (HTML)» и «Arduino веб-сервер с SD картой».
Материал в этих уроках излагается последовательно и после прочтения этой статьи вы будете иметь начальное представление о внутреннем устройстве веб-страниц и принципе работы веб-сервера с SD картой в качестве хранилища этих страниц.
Другими словами, после (теоретического и практического) прохождения этих уроков, у вас появится общее представление о том, как это работает и некоторые навыки по созданию собственных веб-серверов на микроконтроллерах. Читать дальше → https://habr.com/ru/post/711042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711042
rss_habr
Понедельник, 16 Января 2023 г. 11:03 (ссылка)
![](https://habrastorage.org/webt/xc/a7/yc/xca7ycccea6xaypdr7p6vaiunwo.jpeg)
Некоторое время назад в моём блоге вышел цикл статей об устройстве и программировании Lavritech V7.1 Lite — ESP32 контроллера с необычной модульной архитектурой. Необычность архитектуры заключается в том, что функционал Lavritech V7.1 Lite можно набирать из отдельных модулей, как в конструкторе Lego. Я подробно рассмотрел как работу с внутренними модулями (вставляемые в специальные разъёмы, на манер плат IBM PC), так и с внешними блоками Wiren Board, на подключение которых рассчитан Lavritech V7.1 Lite.
Но в этих статьях остался нераскрытым один важный аспект — работа контроллера по интерфейсу RS485 при помощи подключаемых (внутренних) модулей. Я оставил эту тему для отдельной статьи ввиду её сложности и объёмности — и вот статья готова и нас ждёт увлекательное путешествие в мир DIY хардкора.
В качестве примера будем подключать электросчётчик SDM220 к модулю Lavritech RS485 V1 по RS485/Modbus RTU (плюс осциллограммы и рабочий код в подарок). Читать дальше → https://habr.com/ru/post/710374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710374
rss_habr
Четверг, 12 Января 2023 г. 17:01 (ссылка)
![](https://habrastorage.org/webt/q3/xf/ez/q3xfeztmxjwjpwsjub7shzdf5vw.jpeg)
От переводчика. В сети есть много информации о работе веб-серверов на микроконтроллерах, но она плохо структурирована и не отличается системным подходом к изложению материала. Среди прочих есть в интернете один замечательный, можно сказать культовый, туториал (руководство) по работе веб-серверов на Arduino от проекта Starting Electronics. Его авторам удалось невозможное: всего в нескольких уроках просто и доступно донести сложные вещи — как сам принцип работы веб-вервера, так и работу сопутствующих технологий (HTTP, HTML, CSS, Javascript, AJAX и т. д.) и причём сделать в практической плоскости.
Далее я предлагаю вашему вниманию перевод первых двух частей, скомпонованных в одну статью. Затем последует перевод и публикация и всех остальных частей (уроков) этого руководства. Читать дальше → https://habr.com/ru/post/709986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709986
rss_habr
Среда, 11 Января 2023 г. 11:01 (ссылка)
![](https://habrastorage.org/webt/wg/mz/js/wgmzjsm7-bkbboskzqfgysc3m08.jpeg)
Продолжаем изучение платы OLIMEX ESP32-EVB и сегодня мы поговорим о её программировании. Напомню, что на небольшой квадрат текстолита размером 75х75 мм компания OLIMEX умудрилась поместить микроконтроллер ESP32, Ethernet физику LAN8710A, microSD картридер, IR приёмник и передатчик, CAN трансивер, 2 реле, разъёмы расширения, подсистему зарядки и обслуживания аккумулятора и прочие элементы — все эти компоненты плотно «посажены» на нестандартные GPIO и имеют свои особенности работы
Далее мы попробуем со всем этим разобраться — в результате вы сможете легко и просто использовать ESP32-EVB в своих проектах, а заодно повысите свою квалификацию в программировании и понимание работы контроллеров на ESP32. Читать дальше → https://habr.com/ru/post/709238/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709238
rss_habr
Вторник, 03 Января 2023 г. 11:05 (ссылка)
![](https://habrastorage.org/webt/pc/io/i6/pcioi6vxmqm5eaatrvfqjxeufri.jpeg)
Сегодня мы рассмотрим один интересный контроллер из моей коллекции, это (широко известная в узких кругах) плата OLIMEX ESP32-EVB. Это одна из первых плат, построенных на основе ESP32, которая за прошедшие годы претерпела несколько ревизий и выпускается до сих пор, то есть при желании вы можете её заказать и использовать в своих проектах.
Плата производится компанией OLIMEX, которая обладает своим оригинальным «технологическим почерком» — на ESP32-EVB всё сделано немного не так, как у других производителей контроллеров — все эти особенности мы разберём в этой статье.
Кроме того, сама плата ESP32-EVB обладает довольно широкими возможностями: на фирменный красный квадрат текстолита размером всего 75х75 мм компания OLIMEX умудрилась поместить ESP32, LAN8710A, microSD картридер, IR приёмник и передатчик, CAN трансивер, 2 реле, разъёмы расширения, подсистему зарядки и обслуживания аккумулятора и прочие элементы — по плотности упаковки деталей на квадратный сантиметр платы ESP32-EVB находится на одном из первых мест среди рассмотренных мной контроллеров.
Программирование этого чуда тоже не совсем обычная задача — множество компонентов плотно «посажены» на нестандартные GPIO и имеют свои особенности работы, далее мы попробуем со всем этим разобраться — в результате вы сможете легко и просто использовать маленький технологический шедевр ESP32-EVB в своих проектах. Читать дальше → https://habr.com/ru/post/708578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=708578
rss_habr
Понедельник, 26 Декабря 2022 г. 11:05 (ссылка)
![](https://habrastorage.org/webt/4z/0b/ik/4z0bikyrxct7ijk9-m4ul6dokku.jpeg)
Сегодня мы поговорим о решении, достойном помещения в Книгу рекордов Гиннеса — это контроллер Kincony KC868-A128, имеющий на борту аж 128 цифровых входов и 128 транзисторных (MOSFET) выходов. Как говорится, «раззудись плечо, размахнись рука» — с такими ТТХ KC868-A128 может стать основой весьма нетривиальных проектов.
Обратной стороной таких впечатляющих возможностей является размер контроллера — он переходит все пределы и чем-то напоминает «крыло от Боинга». Это произведение креативной китайской мысли не влезет ни в один «бытовой» щиток, для его размещения нужен либо промышленный щит, либо какой-то отдельный бокс с автоматикой.
Но управляется KC868-A128 при помощи нашего любимого ESP32, что делает его доступным для самостоятельного программирования и включения в ваши DIY проекты по автоматизации. Далее мы подробно рассмотрим устройство KC868-A128 и создадим скетчи для управления всеми его 256-ю входами/выходами. Читать дальше → https://habr.com/ru/post/707410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707410
rss_habr
Вторник, 20 Декабря 2022 г. 11:01 (ссылка)
Приветствую всех!
На просторах можно найти немало материалов и рекомендаций касательно того, как подключить к микроконтроллеру дисплей от телефона, видеорегистратора или навигатора. А для более продвинутых электронщиков, имеющих мощные МК и не боящихся встретиться с интерфейсом LVDS, — от ноута или планшета.
![](https://habrastorage.org/webt/h6/zm/xu/h6zmxue7zx6_xkerbyylgfoh72u.jpeg)
А вот касательно «голых» ЖКИ информации традиционно маловато. Итак, в ходе данной статьи рассмотрим, как подключить такой экран, какие микросхемы контроллеров для них бывают, где такое применить. Традиционно будет много всякого интересного. Читать дальше → https://habr.com/ru/post/703326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=703326
rss_habr
Понедельник, 19 Декабря 2022 г. 15:12 (ссылка)
Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались. Читать далее https://habr.com/ru/post/706364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=706364
rss_habr
Среда, 14 Декабря 2022 г. 11:10 (ссылка)
В своей прошлой статье я писал про блокирующие способы обработки кнопки. Реакция была, наверное, больше положительная, чем отрицательная. Хотя минусов мне поднасовали… Но, тем не менее, я решил продолжить. И в этой статье я хочу поделиться с вами своим опытом по неблокирующей обработке кнопок на Arduino. Напишем несложную библиотеку в стиле Си. Но, боюсь, что закрыть свой гештальт этой статьей тоже не получится…
Чтобы сохранить общую концепцию, пришлось разобраться с обработкой прерываний таймеров-счетчиков в стиле Arduino. Если вы не сталкивались с этим, и работаете напрямую с регистрами, рекомендую посмотреть, как это выглядит. HAL-драйвер для STM32 в этом плане нервно курит в сторонке.
Заранее предупреждаю, что материал рассчитан для начинающих. Но комментарии от бывалых программистов микроконтроллеров только приветствуются. Читать дальше → https://habr.com/ru/post/703506/?utm_source=habrahabr&utm_medium=rss&utm_campaign=703506
rss_habr
Вторник, 06 Декабря 2022 г. 11:01 (ссылка)
![](https://habrastorage.org/webt/ku/wd/tl/kuwdtlnbpr976exrah7knd6mqoe.jpeg)
Пока мы с вами занимались контроллерами AlertBox (1, 2), подключали Wiren Board блоки на DIN-рейку и пытались полечиться при помощи ТГС-7А, компания Kincony тоже не теряла времени даром и выпустила ещё несколько контроллеров в своём неподражаемом форм-факторе «а-ля скейтборд, только колёсики приделать нужно».
На этот раз она нас порадовала концептуальным решением KC868-AI по организации сбора данных со множества (48 шт.) цифровых входов, плюс на плату добавлены приёмники инфракрасных сигналов (IR) и сигналов от радиомодулей на 433 МГц. Получилось что-то вроде универсального (Wi-Fi, Ethernet) умного (ESP32) гейта для сбора информации с какого-то объекта и передачи её для дальнейшей обработки в общую систему.
Ну а наличие интерфейсов RS485 и I2C и разъёма с 4-я свободными GPIO позволяет подключить к KC868-AI дополнительное оборудование, например, блок реле и сделать этот контроллер полноценным управляющим элементом вашей системы автоматизации.
Далее мы попробуем поподробнее разобраться с устройством KC868-AI и даже немного попрограммировать его в своё удовольствие. Читать дальше → https://habr.com/ru/post/703028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=703028
rss_habr
Пятница, 02 Декабря 2022 г. 11:15 (ссылка)
![image](https://habrastorage.org/webt/hv/8-/0u/hv8-0uvsm8-d8gsffrxaqydjj10.png)
В одной из своих прошлых статей я писал про подключение тактовой тактильной кнопки. И, казалось бы, такой простой вопрос, вызвал «бурю» в комментариях. Публика разделилась на два лагеря: на тех, кто все знает, но обычно молчит; и тех, кто не знает, и стесняется спросить. А я так и не понял, к какому лагерю отношусь!
Поиски в интернете по запросу «программирование кнопки для Arduino» выдает весьма противоречивый контент. Где-то код очень крутой, но из-за скудного описания не понятный. А где-то код очень простой, и от того не понятно, что с ним можно делать.
В общем, так бывает достаточно часто, когда простые (может даже и примитивные) задачи, на просторах интернетов освещены поверхностно. И это вполне закономерно. Те, кто только начинает что-то изучать, с радостью делятся новыми знаниями. Кем-то движет гордость за свои достижения, а у кого-то просто язык чешется. Но как только человек поднаторел в вопросе, груз профессионализма не позволяет ему писать про такие мелочи. Или нет на это свободного времени, или приходит чувство самодостаточности.
Вот я и решил собраться с мыслями и обобщить свой опыт программирования обработчика кнопки для Arduino. Если вам интересно пополнить/проверить свои знания в данном вопросе, ну или проверить мои знания, то приглашаю под кат.
Дисклеймер. Текст рассчитан на публику, которая только начинает познавать азы программирования контроллеров Arduino. Запрещено к просмотру людям с ослабленной психикой или психикой с долголетней инженерной выдержкой и беременным женщинам (это так, на всякий случай, а то мало ли… британские ученые пока до исследований на эту тему не добрались). Материал предназначен исключительно для просмотра лицам, не достигшим 21 года. Читать дальше → https://habr.com/ru/post/702000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=702000
|