Search
Write a publication
Pull to refresh
1
0
Евгений @segrus

User

Send message

Ржавая очевидность

Reading time7 min
Views20K
Каждый ищет в языках программирования что-то своё: кому-то важна функциональная сторона, кому-то богатство библиотек, а другой сразу обратит внимание на длину ключевых слов. В данной статье я хотел бы рассказать, что особенно важно для меня в Rust — его очевидность. Не в том, что его легко изучить с нуля, а в том, как легко исследовать поведение кода, глядя на его фрагменты. Я перечислю особенности языка, позволяющие точно определить, что делает та или иная функция, вырванная из контекста.

Особенно отмечу, что не пытаюсь полностью описать язык, а только одну его сторону. Это мой личный взгляд на философию Rust, не обязательно совпадающий с официальной позицией разработчиков! Кроме того, Rust не будет очевиден пришельцу из других языков: кривая обучение довольно резкая, и не раз компилятор заставит вас мысленно сказать «wtf» на пути к просветлению.
Читать дальше →

Датчики и микроконтроллеры. Часть 1. Матчасть

Reading time19 min
Views215K
В эпоху готовых отладочных плат и тысяч готовых модулей к ним, где достаточно взять пару блоков, соединить их вместе, и получить нужный результат, далеко не каждый понимает основы схемотехники, почему и как это работает, а главное — что надо делать, если это работает не так.
Как раз открылся хаб Схемотехника, так что, как говорил Бьюфорд Бешеный Пёс Таннен
Здание суда уже строят, значит, пора кого-то вешать.

В этом цикле я расскажу о датчиках — как о немаловажном элементе системы управления неким объектом или тех. процессом.

Все свое повествование я буду вести касаемо практических вопросов реализации цифровых систем управления на базе микроконтроллеров.

Руководство не претендует на всеобщий обхват вопроса.
Хотя после того, как мой конспект перелез за 20 страниц текста, я решил разбить статью на следующие части:
  • Часть 1. Мат. часть. В ней мы рассмотрим датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассмотрим передаточные функции и динамические характеристики датчика, разберемся с его возможными подключениями.
  • Часть 2. Датчики климат-контроля. В ней я рассмотрю особенности работы с датчиками температуры, влажности, давления и газового состава
  • Часть 3. Датчики электрических величин. В ней я коснусь измерения тока и напряжения

Читать дальше →

НЕ Arduino за 55 центов

Reading time3 min
Views104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →

Программируем микроконтроллеры в QtCreator

Reading time9 min
Views25K


Почему-то в интернете мало документации про qbs, и я решил немного исправить эту ситуацию. Попробую описать в виде повествования, что необходимо сделать, что бы в QtCreator можно было компилировать (и не только) что угодно под что угодно.
Читать дальше →

Интернет Вещей (IoT) и водопровод

Reading time4 min
Views56K
После публикации про интернет вещей, нам пришло письмо с идеей применения модуля ESP-8266:

«Есть у компании Мастер-Кит очень интересная вещь – моторизированный шаровый кран. Данная модификация питается от напряжения от 3 до 6 вольт и замечательно открывает и закрывает подачу воды в бытовых трубопроводах.



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

Внимание привлек модуль ESP-8266,
Читать дальше →

Транзисторный усилитель класса А своими руками

Reading time6 min
Views265K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →

Электронный замок с беспроводным управлением на базе Energia Launchpad

Reading time12 min
Views38K


Глядя на множество хабро-статей на базе Arduino мне показалось несколько странным отсутствие интересных беспроводных решений из мира Energia Launchpad. Пора исправить эту вселенскую несправедливость!
Сегодня я познакомлю вас с отладочной платой CC3200-launchpad, расскажу об ее преимуществах перед ESP8266, подключу к ней пару launchpad по радиоканалу и буду щелкать большими советскими релюхами. Поехали!
Читать дальше →

Мультиклет R1 — первые тесты

Reading time10 min
Views76K
     Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
     Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.


Рис 1. Кремниевая пластина процессоров R1
Читать дальше →

SoC: поднимаем простой DMA на FPGA

Reading time14 min
Views55K


День добрый! В прошлой статье я описывал, как «поднять» с нуля SoC от Altera.
Мы остановились на том, что измерили пропускную способность между CPU и FPGA, когда копирование выполняется процессором.

В этом раз мы пойдем немного дальше и реализуем примитивный DMA в FPGA.
Кому интересно — добро пожаловать под кат.
Тут интересно

Программируемая Wi-Fi лампочка-ночник на ESP8266

Reading time3 min
Views60K
image

Нет ничего необычного в управлении светодиодами с помощью микроконтроллера. Даже такого странного, как ESP8266. Однако мне хотелось сделать законченный продукт. Что-то, что не было бы похоже на паука из проводов и радиодеталей.

Отмечу, что я — начинающий радиолюбитель, так что наверняка что-то сделал не слишком хорошо. Буду рад, если кто-то подскажет, что не так и почему надо делать иначе.

Существует целый ряд особенностей, связанных с контроллером ESP8622, с транзисторами, с мощными RGB-светодиодами, с 3D-печатью вообще и моделированием в частности и программированием всего этого счастья. Это обзорная статья, где я коротко покажу, что и как получилось, а если вы захотите, то раскрою подробнее запрошенные темы отдельными статьями.
Читать дальше →

Робот-пылесос своими руками

Reading time4 min
Views141K
Поделюсь опытом создания дешевого робота-пылесоса из подручных средств и всемогущего китайского магазина. Изначально планировал просто изучить среду Arduino, но это изучение переросло в пылесос.

Необходимые детали:
— много плотного картона (бесплатно);
аналог arduino (210 р);
— маленькая макетка (80 р);
— 2 уз-дальномера (300 р);
— контроллер моторов — H-мост (80 р);
2 мотор-редуктора с колесом (600 р);
— блок аккумуляторов на +18v и контроллер заряда;
— пара метров витой пары;
— турбина от пылесоса;
— компьютерный кулер.
Читать дальше →

Разрабатываем ИК-пульт ДУ для фотоаппарата

Reading time8 min
Views21K


После прочтения статьи на Хабре «Делаем ИК-пульт ДУ для фотоаппарата», захотелось поделиться опытом разработки ИК-пульта ДУ для фотоаппаратов в виде приложения под Android (от идеи до публикации).
Читать дальше →

Как я начинал работать с nRF24LE или ещё один способ запрограммировать этот чип

Reading time3 min
Views31K
Попали мне в руки чипы NRF24LE1E в модульном исполнении с маркировкой на пузе XL24LE1-D01.
Вот такие вот:

image

Взял я их на собственные эксперименты, но речь пойдёт не об этом. Выбор пал на этот чип, так как в нём уже есть свой процессор на базе 8051, что не может не радовать. Я бегло пролистал даташит, и вроде ничего не вызвало вопросов. Мол, получим — а там разберёмся. И вот модули у меня.
Читать дальше →

Wiren Board 4 — контроллер для автоматизации

Reading time4 min
Views60K
image

Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.

Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.

Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.

Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Читать дальше →

GPS контроль на бесплатном сервисе ViaLatM 2.0

Reading time2 min
Views10K
Эта статья подготовлена после кардинальной доработки сервиса VaiLatM (клиентской и серверной части). Кроме того, существенно доработано приложение для Android. Доработки проведены на основе пожеланий и запросов пользователей сервиса и приложения. Я благодарен всем, кто прислал идеи и пожелания по улучшению сервиса. Познакомиться с новым интерфейсом и возможностями можно по ссылке демо доступ к сервису на сайте www.euler2012.com. В этой статье я кратко опишу основные нововведения.

Новый интерфейс приложения


Новый интерфейс реализован в оконном стиле.

Читать дальше →

Спящий режим и автономное питание ESP8266

Reading time2 min
Views82K
Часто возникает вопрос с автономным питанием ныне уже популярного модуля ESP8266. Эта заметка без уникальных фотографий, но она рассказывает, как оно делается на Си и SDK от Espressif и сколько потребляет.


Читать дальше →

Протокол WS2812B на STM32 без пустых циклов и прерываний. И как сделать правильную радугу

Reading time6 min
Views104K


На Хабре уже есть пара статей о работе с RGB светодиодами WS2112B, но почему-то они все используют довольно архаичный способ формирования битовой последовательности. Способ заключается в формировании точных интервалов времени с помощью пустых программных циклов. Возможно, это издержки использования Arduino, но мы, конечно, уже давно перешли на ARM Cortex-M4 в лице STM32 и можем себе позволить сделать красивее.
Читать дальше →

Простое управление arduino через интернет

Reading time5 min
Views208K


Всем добрый день.

Около года назад я написал небольшую обзорную статью для управления Arduino через интернет, с помощью сервера NinjaBlocks. Это было довольно хорошее и удобное решение и оно отлично работало, пока в один прекрасный момент не начались проблемы с соединением. Попытки уговорить разработчиков через форум решить проблемы были напрасны — они просто игнорировали мои просьбы и не удосужились даже ответить, что было очень печально.

С того момента был просканирован весь интернет в поисках замены — и было найдено много очень интересных проектов, но они либо были слишком сложными в реализации и требовали значительных знаний в области программирования, либо были попросту неудобны. И вот тут и пришла мысль почему бы не сделать все самому.
Читать дальше →

Автоматический 3D сканер размера упаковки

Reading time3 min
Views24K
Поставили нам недавно вполне конкретную задачу, от склада одного из российских дистрибьюторов электронных компонентов, с которого мы отправляем свою продукцию нашим покупателем, среди множества других посылок. Ну, хорошо! Попробуем…. Тем более, еще некоторое время назад у нас в образцах появился такой ультразвуковой датчик для измерения расстояний. По цене он заметно отличался от широко распространенных, но производитель обещал лучшую точность измерения. Да и как раз в это время мы сделали собственную версию микроконтроллера, по функциям совместимую с Ардуино Леонардо, снабдив плату винтовыми разъемами, гнездами для LCD и рядом других примочек, рассчитанных на расширение возможностей модуля в дальнейшем.

Вот так вот выглядит рабочее место упаковщика, где он взвешивает и измеряет упаковку:



Попробуем его улучшить и автоматизировать.
Читать дальше →

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity