Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Выводим счетчик электроэнергии в интернет

Программирование микроконтроллеровDIY или Сделай самЭлектроника для начинающих

В статье я расскажу о том, как получить данные о мощности с электросчетчика и вывести их в интернет.
Сразу скажу, что несмотря на то, что счетчик цифровой, и имеет цифровые интерфейсы для связи с внешним контрольным оборудованием, я не использую их (почему — ниже).
Читать дальше →
Всего голосов 100: ↑96 и ↓4 +92
Просмотры149.4K
Комментарии 133

Самодельный привод штор

DIY или Сделай самЭлектроника для начинающих
image
В этой статье я расскажу о конструкции автоматического привода штор, установленного у меня на балконе. Там у нас растут цветы, которым вреден прямой солнечный свет. Кроме того, летом, если окна балкона закрыты, при прямом солнечном свете воздух на балконе быстро перегревается. Однако когда прямого света нет, шторы желательно открыть — тень тоже не способствует росту цветов. Поэтому, для поддержания на балконе приемлемой освещенности, я автоматизировал работу штор.
Читать дальше →
Всего голосов 74: ↑68 и ↓6 +62
Просмотры65.5K
Комментарии 32

АЦП в качестве генератора случайных чисел

Схемотехника

Доброго времени суток! Решил рассказать о простом и интересном способе получения честных случайных чисел на микроконтроллерах, не имеющих на борту аппаратного генератора случайных чисел. Достаточно, чтобы у микроконтроллера был АЦП и один свободный вход. Подробности под катом.
Читать дальше →
Всего голосов 28: ↑20 и ↓8 +12
Просмотры18.7K
Комментарии 34

Примитивы для реализации 1-Wire master при помощи PWM и ICP для STM8L и STM32

SCADAПрограммирование микроконтроллеровРазработка для интернета вещей
В предыдущей статье был представлен вариант реализации примитивов для асинхронной работы с шиной 1-wire для микроконтроллеров Atmel. Ну а сейчас вашему вниманию предлагается реализацию того же самого, но на более мощных микроконтроллерах семейства STM8L (для отладки использовалась обычная оценочная плата STM8L-Discovery с извлеченным LCD-дисплеем). С минимальными изменениями описываемая реализация может быть адаптирована и для семейства STM32.


Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры8.2K
Комментарии 11

(Не) любителям protothreads посвящается: Высокоуровневые функции для работы с 1-Wire

Системное программированиеCSCADAПрограммирование микроконтроллеровРазработка для интернета вещей
Подразумевается, что мы будем писать прошивку под «голое железо». В противном случае применение protothreads смысла не имеет, т.к. мультизадачность должна обеспечиваться средствами ОС. Подразумевается также, что нам необходимо реализовать несколько более-менее сложных алгоритмов, связанных с операциями ввода-вывода. Ну и, как всегда в микроконтроллерах, очевидные требования по экономии RAM и энергопотребления.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры6.1K
Комментарии 1

Ошибка обработки вложенных прерываний в STM8 (не описана в errata)

Процессоры
В семействе STM8 заложена очень полезная возможность экономии энергии в случае, когда быстрые и критичные ко времени обработки выполняются по прерываниям, а низкоприоритетные задачи работают в фоновом режиме. Для этого используется бит AL в регистре GCR и машинная команда WFI. Однако здесь был обнаружен подводный камень, не описанный в текущей версии errata на кристалл.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры6.6K
Комментарии 20

RandomRace.ru — радиопеленгация за несколько долларов (продолжение)

Я пиарюсь


Начало там.

И тут внезапно я обнаруживаю на алиэкспрессе модули HC-11. Это радиоудлиннитель UART, сделанный из того же STM8S003F3P6 и субгигагерцового цифрового трансивера CC1101 фирмы TI. Стоимость модуля тоже радовала — $3.5-$8 вместе с доставкой.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры17.9K
Комментарии 5

RandomRace.ru — радиопеленгация для чайников (начало)

Я пиарюсь

Откуда есть пошла идея


Один мой старый приятель взялся обсуждать со мной свою новую затею — все мы в свое время увлекались приключенческими гонками, коих проводится множество в наших краях, но вот не давала человеку спокойно жить предсказуемость классической приключенческой гонки — контрольные пункты (КП) расставляются людьми, а значит их можно хоть немного предугадать.
Вот так и появился RandomRace.ru (кратко — RR).

Итак, основная идея RR — запустить гоночные КП на шарах в воздух, на некоторой случайной высоте высоте шары будут лопаться, а КП — падать на парашютах. КП будут отдавать свои GPS координаты на сервер гонки, а участники будут их потом искать. В принципе, правила соревнований составлены так, чтобы КП-зонды возвращались организаторам силами участников. Естественно, кроме тех зондов, которые отличились повышенным рандомом и улетели куда-то в за.. далеко. Такие КП приходится искать организаторам собственными силами. Так получилось, что в результате я занялся техническим решением задачи «последних 100 метров», когда организаторы приехали на место, найти КП очень хочется, а координаты неточные. С этой целью было задумано использовать радиопеленгацию — каждый зонд несет радиопередатчик, а организаторы несут приемник-пеленгатор.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры15.9K
Комментарии 17

Как заварить чай по MQTT или доступная умная розетка с контролем температуры и тока

DIY или Сделай самЭлектроника для начинающих
Tutorial

Зачем?


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



Параметры будущего велосипеда:

— Дешевое устройство из общедоступных компонентов.
— Контроль тока в цепи потребителя.
— Управление устройством по протоколу MQTT.
— Контроль температуры устройства.
— Два выносных датчика для контроля температуры потребителя.
— Индикация состояния на экране устройства.
— Аварийное отключения потребителя если температура или ток превысили задаваемые значения.
Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Просмотры40K
Комментарии 47

Подарок от Гика — делаем кухонный таймер

ГаджетыDIY или Сделай самЭлектроника для начинающих

Выбираем подарок


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

Когда мы приезжаем к ней в гости, нас всегда встречает богатый стол, с большим количеством блюд. Поэтому, мы сразу решили делать прибор, полезный на кухне. Вместе мы часто играем в различные настольные игры — лото, различные игры с кубиком. Значит, наш прибор должен и тут помогать.

Подумав немного, сын решил делать продвинутый кухонный таймер.
Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Просмотры13.8K
Комментарии 50

Самодельный светодиодный индикатор в slim факторе

ГаджетыDIY или Сделай самЭлектроника для начинающих

Зачем он нужен


Недавно я писал статью про самодельный bluetooth велокомпьютер. Было оживлённое обсуждение. Одним из предложений по модернизации, была идея добавить индикацию или жк экран. Идея мне понравилась. И я решил подумать как её воплотить в жизнь.


Так как велокомпьютеры уже были сделаны, корпус был практически весь занят, то вариант с жк экраном отпадал. Нужен был размер 40х30мм, с учетом всех шлейфов и проводов, и по толщине не больше 2-3мм. Также осталось немного свободных выводов. Различные светодиодные индикаторы (три цифры, шкала) не влезали. Тогда в голову и пришла очень хорошая мысль — сделать самодельный индикатор из SMD светодиодов. Взять тонкий односторонний текстолит, разместить на нём нужное количество светодиодов, в нужном порядке и получится отличный индикатор. Представив, что ко всем светодиодам нужно вести провода, я решил, что на плате поместится и дешёвый микроконтроллер, который будет сам управлять всеми светодиодами, а основной МК велокомпьютера будет управлять индикатором по одному проводу.


В итоге получился очень компактный (толщина всего 3мм) индикатор. Управление по одному проводу, и еще 2 на питание. Если у вас есть уже готовые приборы, или вы планируете сделать прибор, и нужен индикатор, то самодельный индикатор самый отличный вариант. Разберём подробнее как он работает.

Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры16.6K
Комментарии 64

Нарушаем стек в STM8

Программирование микроконтроллеров
Из песочницы
В процессе написания загрузчика STM8uLoader для микроконтроллеров STM8 возникла необходимость измерить глубину стека.

Зададимся вопросами:

  • Что будет если попытаться поместить в стек больше информации чем его глубина?
  • Что будет если попытаться извлечь из стека больше информации чем поместили?
  • Что будет если инициализировать указатель стека SP адресом выходящим за границы стека?
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры4.2K
Комментарии 7

Как сжать загрузчик для STM8 до размера 18 байт в памяти FLASH

Программирование микроконтроллеров
В процессе поиска загрузчика для микроконтроллера STM8S103F3 было обнаружено, что имеющиеся загрузчики в основном написаны на ”C”, «крадут» значительный объем у FLASH памяти, переносят таблицу векторов прерываний.

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

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

— загрузчик должен был называться STM8uLoader;
— код должен быть написан на ассемблере (благо ассемблер законодательно пока не запрещен);
— загрузчик должен занимать минимально возможный объем во FLASH памяти, объем занимаемый в компьютере будем считать не ограниченным;
— загрузчик не должен перемещать таблицу векторов прерываний;
— загрузчик должен иметь минимальный функционал, весь основной функционал должен взять на себя компьютер;
— загрузчик должен передавать управление прикладной программе за разумное время после сброса/включения при отсутствии соединения с компьютером.

Первое условие было моментально выполнено, а вот над последующими требованиями пришлось потрудиться.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры6.7K
Комментарии 16

Сложная разработка простых устройств

СхемотехникаПроизводство и разработка электроникиDIY или Сделай самАвтомобильные гаджетыЭлектроника для начинающих
Приветствую читатель! Сегодня я расскажу вам курьезную историю, которая заставила меня задуматься о проблемах, возникающих при неправильном (неоптимальном) выборе комплектующих для реализации какого-либо электронного изделия. А также о кажущейся простоте на примере устройства «одного дня».
Читать дальше →
Всего голосов 34: ↑30 и ↓4 +26
Просмотры20.4K
Комментарии 68

Как и зачем читать даташиты, если микроконтроллеры – ваше хобби

Блог компании SkyengПрограммирование микроконтроллеровЧитальный залЭлектроника для начинающих
Tutorial


Микроэлектроника – модное увлечение последних лет благодаря волшебному Arduino. Но вот беда: при должном интересе перерасти DigitalWrite() получается быстро, а что делать дальше – не совсем ясно. Разработчики Arduino приложили немало усилий для снижения порога вхождения в свою экосистему, но за ее пределами по-прежнему колышется темный лес суровой схемотехники, малодоступный любителю.


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


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

Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры36.2K
Комментарии 29

Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8

Блог компании SkyengПрограммирование микроконтроллеровЧитальный залЭлектроника для начинающих
Tutorial


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


Сегодня я покажу, как с помощью даташитов решить довольно простые, но необходимые для множества проектов задачи на контроллерах STM32 (Blue Pill) и STM8. Все демо-проекты посвящены моим любимым светодиодам, зажигать мы их будем в больших количествах, для чего придется задействовать всякую интересную периферию.

Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Просмотры22.2K
Комментарии 25

Измеряем индекс ультрафиолетового излучения UVA UVB

Программирование микроконтроллеровГаджетыDIY или Сделай самЭлектроника для начинающих
Все мы любим солнце и конечно же знаем о вреде ультрафиолетового излучения для человеческой кожи. Очевидно, что на пляже нельзя долго загорать. Но вот совсем не очевидно, можно ли гулять под солнцем в футболке, а плавать, ходить по горам? После очередного «обгорания» от солнца в горах на Красной поляне встал вопрос — как бы измерить мгновенный индекс ультрафиолетового излучения и знать, когда пора укрыться в тени. В результате родился этот небольшой прибор — датчик уф излучения с рядом дополнительных функций.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры4.3K
Комментарии 17

Создание уникальных часов

Блог компании RUVDS.comПрограммирование микроконтроллеровРазработка под ArduinoDIY или Сделай самЭлектроника для начинающих
Перевод
Tutorial


Все началось, когда мое внимание привлек старый светодиодный дисплей, лежащий в ящике среди мелочевки и запасных деталей. Он сохранился еще со времен древних 386/486 ПК и мог отображать частоту до 99 МГц. Когда он был установлен на системном блоке в те времена, он показывал только две скорости, обычную и турбо, эти скорости работы центрального процессора выбирались специальной кнопкой. Фишка была в том, что сами цифры были желтыми, а надпись MHz (горящие непрерывно) светились красным. Такая комбинация цветов мне понравилась. *
*В те годы частота процессора менялась специальной кнопкой “Turbo”, и эта кнопка присутствовала на системном блоке, а частота отображалась на таком светодиодном дисплее. Прим. Переводчика.

Тогда я задумался, а можно ли собрать на основе этого циферблата часы. Оперируя всего двумя цифрами, мне пришлось бы мультиплексировать часы и минуты. Я решил, что в таком случае могу отображать 12:34 как 12H, сопровождаемое 34М.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Просмотры10.2K
Комментарии 15

Создание своей оценочной платы для микроконтроллеров

Блог компании RUVDS.comРазработка для интернета вещейИнтернет вещейЭлектроника для начинающих
Из песочницы

Заказывая много оценочных плат из Китая, я и подумать не мог что всюду будет брак, недоработки и подделка. Всё это ужасно путало в изучении, поэтому было принято делать свою оценочную плату с блэкджеком и светодиодами!

Читать далее
Всего голосов 45: ↑43 и ↓2 +41
Просмотры8.6K
Комментарии 26

Начинаем писать под stm8, выбираем среды разработки и стартуем

Блог компании RUVDS.comКомпиляторыПрограммирование микроконтроллеровИнтернет вещейЭлектроника для начинающих
Tutorial
image

На пути в программировании stm8 есть развилка, о ней сегодня и поговорим.

Определимся что речь будет идти о средах которые могут писать под си. Для начала поговорим о подходах, я выделю 2 основных.

Первый установка ST Visual Develop и выбор в качестве компилятора COSMIC Бывший платный, а ныне бесплатный, но со своими заморочками; регистрация, получение ключа, и прочие танцы с бубном.

Второй же вариант, более простой VS Code + PlatformIO и компилятор SDCC полностью свободный. И опять же не все так просто. Sdcc не умеет исключать не используемые функции. Я решил этот вопрос хоть и успешно, но не без дополнительных действий при написании кода.
Читать далее
Всего голосов 47: ↑45 и ↓2 +43
Просмотры6.3K
Комментарии 23