Arduino: один скетч под несколько платформ

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

robot, франкенштейнРазличия между микроконтроллерами и платформами обычно заключается в следующих моментах (список далеко не полный):

  • Конкретные пины у разных микроконтроллеров могут иметь различные функции. К примеру, на одном микроконтроллере пин за номером 1 умеет делать PWM, а на микроконтроллере другого типа нет.
  • Могут различаться разрядности АЦП (используем для analogRead) и ЦАП (используем для analogWrite, т.е. для ШИМ). На одном микроконтроллере разрядность 8бит (изменение от 0 и до 254), на другом 10бит (измерение от 0 и до 1023), а на третьем 12бит.
  • Могут кардинально различаться даже способы указания пинов. Так, для Atmel AVR применяется просто числовое указание пинов 1, 2, 3 и т.п. А для экосистемы ESP используется наименование пинов D1, D2, D3 и т.п.

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

Читать далее ...



Arduino IDE: разбираемся с меню Tools и некоторыми другими функциями.

Итальянцы молодцы. Запустили в мир DIY настоящего монстра. С появлением экосистемы Arduino весь рынок цифрового DIY получил мощнейший толчок. Тысячи, сотни тысяч, миллионы пользователей принялись покупать оригинальные и совместимые платы для их последующего программирования и использования в своих поделках. Причина такой популярности в первую очередь связывают с низким порогом для входа в эту среду. Вам не нужно тратить много денег на приобретение плат: открытый стандарт дал дорогу на рынок множеству последователей и копировщиков. Вам так же не стоит сильно заморачиваться над программированием: поставляемая «в комплекте» Arduino IDE упрощена настолько, насколько это возможно. Пользователь просто пишет код и не задумывается о настройках компилятора, о том, что программировать при помощи Arduino IDE можно разными программаторами, а иногда и вообще голые микросхемы.

И вот, наступает момент, когда стандартная Arduino IDE становится тесновата, а ее неудобство начинает просто выбешивать, особенно, если пользователь знаком с более продвинутыми средами разработки по другим платформам и языкам программирования. Кто-то начинает мигрировать на что-то более интересное, например, на Atom или VS.Code в смеси с PlatformIO, а кто-то старается выжать из Arduino IDE все, что только можно.

Сегодня я выступлю как раз в роли подобного «особо интересующегося персонажа» и попробую вместе с читателем разобраться чуть-чуть побольше в тонкостях Arduino IDE. Все ниженаписанное более-менее соответствует версии 1.8.9 Arduino IDE.

Читать далее ...



Как собрать велосипед самостоятельно…

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

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

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

Читать далее ...



При помощи чего удобно закачивать прошивки в модули ESP8266 от Ai-Thinker под Arduino и прочее?

Модули на основе ESP8266, пожалуй, мои безусловные фавориты, если речь идет об автоматизации с применением подключения по Wi-Fi. Модули обладают достаточной производительностью, чтобы работать в качестве самостоятельного контроллера, стабильны и дешевы. В основном я использую платки WeMos D1 Mini различных модификаций (просто Mini, Mini Lite, Mini Pro). В чем их преимущество кроме всего вышеперечисленного? Платки Mini невелики размером и программировать их можно просто подключив USB-кабелем к компьютеру. Но ведь не весь свет клином сошелся на WeMos, в природе существуют и другие производители, не менее популярные, например, Ai-Thinker.

esp, esp downloader, esp-downloader, esp8266, frogo pins

Два загрузчика прошивок и отладочные платы для ESP8266

Китайская компания Ai-Thinker точно так же, как и WeMos, подсела на модули ESP. В ее линейке на текущий момент не менее пятка модулей только на ESP8266, не говоря уже о более совершенных ESP32, да прочих GPS/LoRa устройств. Все они так же, как и продукция WeMos, дешевы и крохотного размера. Но есть у модулей от Ai-Thinker и определенные пользовательские недостатки. Они используют нестандартный шаг для ножек и никак не совместимы с распространенными штыревыми макетными платами. Более того, модули не имеют на борту интерфейса USB для легкого и безболезненного подключения к персональному компьютеру. Оба этих фактора вызывают мучительную боль, не дающую нормально сосредоточиться именно на разработке, вместо этого приходится заниматься сборкой программатора и прилаживанием контактов. Разумеется, производитель предлагает схему и способы подключения своих модулей, но очень не хочется изобретать каждый раз все заново. Тем более что у меня так и не запустилась предлагаемая схема.

Читать далее ...



Интернет-радио на основе Raspberry Pi. Проект длинною в полтора года.

internet-radio, raspberry, bbk, колонки, картина

Общий вид интернет-радио на Rasberry Pi

Некоторое время тому назад я купил одну плату Raspberry Pi 3 Model B. Побаловался с ней немного, но так и не решил, что же с ней такого можно сделать. Полезного и нужного. Для средств домашней автоматизации с головой хватает ESP8266, а для более серьезных задачек есть микросервера. Так и валялась плата у меня в столе, а я мучался в тщетных попытках придумать и сделать с ней хоть что-то.

И валялась она ровно до тех пор, пока я не наткнулся на проект по реализации интернет-радио как раз на платах семейства Raspberry Pi. Проект реализуется компьютерным энтузиастом и профессиональным программистом Бобом Ратбоном и насчитывает далеко не одну реализацию. Идея мне показалась весьма интересной. В моей загородной резиденции уже давно просится на покой старенькая мини-система от BBK, да и с радиоприемом в удалении от города есть некоторые проблемы. Интернет ловится отлично, а радио с ужасными помехами.

Ну, что же – решено, делать радио, так делать.

Читать далее ...



Отличная коптилка горячего копчения для мангала своими руками

Еще каких-то 30 лет тому назад горожане выезжали на свои дачные участки исключительно чтобы позаниматься сельским трудом, повыращивать картошку, морковку, да прочие углеводы. А вот нынче… Нынче мало кто утруждает себя копанием грядок. В гамаке полежать, газон покосить, да шашлычка пожарить, вот и весь досуг. И так выходные за выходными, месяц за месяцем и до того момента, как надоедает даже банальный шашлык. Хочется чего-нибудь эдакого.

коптильня, дешевая, решетка, крышка, металл

Одна из самых примитивных коптилень. Фото с ozon.ru.

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

Приобщиться к братству коптильщиков может любой. Достаточно только сгонять в местные промтовары и прикупить металлический ящик, гордо носящий имя «коптильня» и стоящий несусветных денег. И именно тут начинается проблема, с которой сталкивается, наверное, каждый начинающий коптильщик. Купить хорошую коптильню за разумные деньги практически невозможно.

Читать далее ...



Датчик света и цвета TCS3200 + Arduino Mega = что-то получается

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

TCS3200, colormeter, измеритель цвета, в корпусе, дисплей

Окончательный вид измерителя цвета на основе TCS3200 в корпусе.

Совершенно случайно, на глаза попался плата для Arduino с чипом TCS3200. Ознакомившись с описанием, я понял, что сенсор, установленный на плате — выполняет как раз ту самую работу, которую и необходимо автоматизировать. Сам чип TCS3200 производится некой компанией AMS, которая в спецификации на сенсор называется TAOS. Но не суть, суть, что компания занимается, в основном, разработкой как раз таких вот недорогих решений по «колометрии на чипе».

TCS3200, сенсор, color, sensor, проводники, микросхема, плата

Сенсор TCS3200 крупным планом. Если приглядеться, то видны не только тончайшие проводники но и отдельные группы фотодиодов.

Чип TCS3200 состоит из 64 фотодиодов, 16 из которых не покрыты цветными фильтрами, а остальные затенены по 16 штук с применением синего, зеленого и красного светофильтров. Что это значит? Это значит, что чип способен измерить отдельно каждый из RGB-цветов, плюс замерить общий световой поток. Помимо TCS3200 в аналогичных платах может встречаться чип немного попроще — TCS3210. У TCS3210, в отличии от TCS3200, всего 24 фотодиода, соответственно на каждый из цветов, включая просто белый свет, приходится по 6 отдельных фотодиодов. Другими словами, чувствительность и точность измерений у TCS3200 должна быть выше, чем у его собрата TCS3210.

Читать далее ...