• Программирование МК AVR на языке assembler в среде Linux

    • Tutorial

    Введение


    Ни для кого не секрет, что микроконтроллеры семейства AVR прочно вошли в практику домашних поделок. Кроме того, уже несколько лет наблюдается массовое (на грани эпидемии) увлечение отладочными платами типа Arduino, построенными на базе все тех же AVR. Не буду судить, хорошо это или плохо, ибо статей на эту тему на ресурсе более чем достаточно. Хочу уберечь и моего читателя от споров на тему «что такое Arduino и хорошо это или плохо». Статья не об этом.

    Рано или поздно для любого «ардуиньщика» (при условии что он хочет выйти на более высокий профессиональный уровень) наступает момент когда в рамках платформы Arduino ему становится тесно и он начинает задумываться о том а что же в действительности происходит под капотом. И ответы на все его вопросы уже есть, например в виде замечательного курса «AVR. Учебный курс» от глубокоуважаемого DIHALT. Если вы пользователь OS Windows, то и недостатка в инструментах разработки у вас не будет, достаточно бесплатной Atmel Studio, закрывающей все вопросы разработки ПО для МК AVR.

    Хоть я и тимлид в коллективе разработчиков ПО прикладного уровня, вопросы «железа» которое в нашей конторе делается на базе AVR с недавних пор стали интересовать меня очень остро. Возникло желание хорошо разобраться во всех аспектах разработки ПО для МК. И так как я являюсь убежденным приверженцем использования в разработке OS на базе ядра Linux, меня заинтересовал вопрос, а как там в линуксах: можно/нельзя ли писать и отлаживать ПО, зашивать его в кристалл с тем же (или примерно тем же) уровнем удобства, который нам доступен в Windows. Тех кого тоже интересует этот вопрос, и в особенности тех, кому тема поста кажется надуманной, приглашаю под кат.
    Читать дальше →
  • Как я писал код для Arduino с помощью Python


    Картинка для привлечения внимания

    На днях появилась подработка, поступил заказ записать скетч на ардуино. Простенький, но объёмный. С повторяющимися блоками. Нужно было управлять каждым портом Arduino Mega отдельно, при получении команды по Uart. Отправляешь символ — и светодиод (к примеру) загорается на определенное время. Написал скетч на 2 команды, скинул заказчику для тестов, получил предоплату. Дальше, нужно было масштабировать на все порты.

    Для начала я честно попробовал руками. Написав первые 26 #define, энтузиазм иссяк. Я пошел подышать свежим воздухом, и вспомнил, что у меня на ПК (Win 7 x64), уже установлен Python 3.6 из дистрибутива Anaconda. Кстати, это наиболее удобный способ установки Python`а на Windows, т.к. всё уже включено и настроено по умолчанию, и есть пакетный менеджер.

    Итак, приступим.
    Читать дальше →
  • Умный дом из старого смартфона или антипаттерны домашней автоматизации

    Здравствуйте, дорогие читатели! Очередная история о том, как менеджер самого среднего звена, сдувая пыль с залежавшихся железок на полке, творит такое, от чего у профессионалов всех мастей боль в глазах. ¡Но, это работает, amigo!



    Признаюсь, в этот раз я все хотел сделать правильно. Взял Raspbery Pi с полки. Пирожок тот самый, что я уже использовал в своем роботе-газонокосилке: ссылка на пост и ссылка на другой пост. Взял mosquitto, все должно было работать на mqtt, но от себя никуда не убежишь. Под катом море граблей, велосипедов, плохой пайки, сплошной ад для перфекциониста.
    Читать дальше →
  • Устройства в помощь больному БАС (ALS Technology Guide)

    • Перевод

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

    Может быть полезна всем, у кого стоит задача помочь полностью или частично парализованным людям, людям с нарушениями в моторике, больным БАС, ДЦП, шейникам.

    * некоторые фрагменты пропущены, так как имеют отношение к медицинскому страхованию и ассоциациям, актуальным исключительно в США
    Читать дальше →
  • Компьютерная мышка как точный датчик

      Задача: быстро сделать датчик линейного перемещения из компьютерной мышки.

      В обычных мышках прячется высокочувствительный оптический датчик. Там скрывается своя маленькая «камера» и процессор обработки, который отслеживает передвижения малейших точек на поверхности. В топовых мышках разрешающая способность составляет всего 3 мкм!



      С какими подмышиными камнями мы столкнулись, плюс техническая часть, расскажем дальше!
      Читать дальше →
    • Умная фитолампа на Arduino

        Создание прототипа адаптивной фитолампы на Arduino


        Эта статья будет посвящена созданию прототипа светодиодной лампы для досветки растений. Конечно, это не просто лампа иначе зачем писать об этом на geektimes? Фитолампа управляется с помощью контроллера Arduino и имеет на борту датчик освещенности ( для адаптивной регулировки яркостью), LED драйвер для управления яркостью по средствам ШИМ, радиомодуль 433 Mhz и конечно bluetooth ( по тому что с ним все становится круче...) на самом деле для управления с телефона из разработанного приложения под Android. Также я немного затрону вопрос побора годных светодиодов, источников питания и как они себя показали на протяжении 6 месяцев эксплуатации. С момента зарождения идеи меня интересовал вопрос создания мелкосерийного производства, но об этом ниже.


        Читать дальше →
      • Реклама помогает поддерживать и развивать наши сервисы

        Подробнее
        Реклама
      • Умный дом: боремся (чуть-чуть) с жарой энергоэффективно


          А как же склад с Mail.ru DIYMeetup??
          1 июля прошел DIY Meetup, на который я подавал заявку с темой «Организация домашнего склада».

          Довольно много людей проявило интерес к моей теме и при голосовании я даже занял не последнее место в десятке, так что Mail.ru пригласили меня с этой темой выступить. К сожалению, у меня не было возможности принять участие. В итоге, когда было опубликовано расписание и моего доклада там не оказалось — мне начали писать в личку с просьбой написать статью на тему склада. В общем-то как раз и планировал в эти выходные заняться. Но наконец-то появившееся жаркое солнце напомнило мне, что есть более актуальный проект, о котором сегодня и пойдет речь. О складе я расскажу в следующей статье.
          Stay tuned

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

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

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

          Причина вполне очевидна — энергия, которая теперь не греет помещение непосредственно, тратится на нагрев штор/жалюзи. А куда денется энергия нагретых штор? Конечно же в помещение.

          В итоге в помещении стало темно, но прохладнее не стало. Как же быть? Конечно же повесить жалюзи снаружи…
          Но...
        • Автоматическое освещение комнаты на базе контроллера Аrduino

          • Tutorial
          Добрый день уважаемые читатели, продолжая тему внедрения контроллеров Arduino, хотел бы с вами поделиться своей версией проекта автоматического освещения комнаты. Статья предусмотрена скорее для таких же как я новичков, чем для опытных радиолюбителей. Возможно, для кого-то эта статья станет основой для своих собственных проектов, ну а мне будет приятно прочитать строгую критику, ваши варианты исполнения или просто поддержку в комментариях.
          Читать дальше →
        • Arduino <-> STM32 HAL, или туда и обратно

            …. а потом еще раз туда, и еще раз обратно… В общем “тудов” и “обратнов” у меня было достаточно много.



            Свой проект GPS Logger’a я начал на платформе Ардуино. Постепенно я вырос до контроллера STM32F103, но код остался на базе клона ардуины — stm32duino. Что именно я строю, зачем, какие библиотеки использую и прочие вопросы по самому устройству я сегодня оставлю за кадром — все это я описывал в упомянутых статьях (есть еще третья часть про билдсистему). Сегодняшняя тема — переезд на HAL (он же STM32Cube).

            Время от времени в комментариях к моим статьям, а также в личных беседах с коллегами по цеху возникает вопрос “а почему ардуино? Есть же HAL!”. Сначала я отмахивался, мол, у меня уже код на ардуиновских библиотеках, не хочу переписывать. И еще мне HAL не понравился своим некрасивым и громоздким стилем. Но врожденное любопытство подстегнуло все таки посмотреть еще разок на HAL с разных сторон.

            Я провел несколько месяцев пробуя разные подходы, библиотеки и платформы. В итоге я пришел к выводу, что HAL хоть и громоздкий, но, в целом, заслуживает внимания. С ним можно добиться некоторых вещей, чего нельзя сделать используя только ардуино подход (например DMA). В итоге я переписал свой проект используя HAL (не весь, часть все же осталась на Arduino, но тоже поверх HAL) о чем и хочу рассказать в этой статье.
            Читать дальше →
          • 3D принтер 3D Старт — настройка слайсера SLIC3R для Repetier-Host



              В этой статье пойдёт речь о настройках, улучшающих качество печати 3D принтера 3D Старт. Настраивать будем слайсер. Мы будем использовать Slic3r — на сегодняшний день он является одним из самых мощных и доработанных модулей для формирования G-кода, необходимого для вывода 3D-модели на печать 3D-принтером. Все настройки придется подбирать самостоятельно. Для разных моделей по — разному. Покажу немного на черепашке и других модельках. Первая модель при стандартных настройках получилась без детализации совсем. Кривая, как педаль. Если нужна очень хорошая детализация, например, для барельефов или значков, нужно сменить сопло на 0,1.
              Читать дальше →
            Самое читаемое