Архив за месяц: Май 2019

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.

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



Вертикальный мангал: тестируем противоестественный способ готовки шашлыка

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

бензпирен, бензапирен

Структурная формула бензпирена

Итак, первым и вероятно самым опасным врагом в еде с гриля принято считать бензапирен (еще его принято называть бензпиреном, и не следует путать с бензопиреном). Бензпирен — одно из соединений семейства полициклических углеводородов. Образуется оно при неполном сгорании органики. При горении дров, моторного топлива, яблок и ежового мяса образуется бензапирен. Чем сложнее исходная органика и чем хуже условия сгорания, тем больше образуется бензпирена. Так, от горения дров в непрогретой топке образуется больше бензпирена, чем от сгорания дизеля, а от дизеля больше, чем от бензина (у дизеля молекулярная цепочка длиннее и сложнее, чем у бензина), а природный газ генерирует совсем мало бензапирена, так как молекулы там короткие, легкие, сгорают практически без остатка.

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

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



Непослушные старики

непослушные старики, боровицкая башня, lincoln capital, тучка, облачко— Ричард, вы ведь уже бывали с супругой в России? — оторвавшись от чтения газеты, неожиданно поинтересовался Скоукрофт.

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

— Брент, а к чему этот вопрос? — Никсон все же ответил, собравшись с мыслями. — Да, мы с Тельмой уже как-то приезжали к Советам полуофициальным визитом, но все это было еще до моего президентства.

— Избиратели могут подумать, что вы продались Красной России, — медленно и аккуратно, по-военному отчеканивая каждое слово, произнес Скоукрофт.

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

Никсон побелел, но все же нашел в себе силы сохранить лицо.

— Ну, я… Спасибо, Том!

Президент США улыбнулся своей фирменной «лошадиной» улыбкой, и пилот скрылся в кабине, аккуратно притворив за собой дверь.

— Слушай, Брент, — продолжил Ричард, — мы же этот вопрос уже обсуждали. Общественность не очень в курсе моей первой поездки в Россию. И если это дело не афишировать, то никто о ней и не узнает.

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

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