Обновить
0
0

Программист микроконтроллеров, схемотехник.

Отправить сообщение

Звёздная болезнь: как научиться разбираться в ночном небе, чтоб пофлексить перед друзьями

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели30K

Представьте: вы гуляете по ночному парку с прекрасной девушкой после романтического вечера в ресторане. Тут перед вами открывается полянка, а над ней — летнее небо, полное звезд. Вы невзначай говорите: “о, смотри, сейчас Плеяды особенно яркие”! Показываете на небо, девушка прижимается к вам поближе, чтобы разглядеть, куда же вы показываете, и…Ну дальше все в ваших руках. А вот не знали бы, где Плеяды — и все, так и пошли бы грустно по домам. В этом посте расскажу, как научиться различать созвездия, что можно наблюдать невооруженным взглядом, как выбрать первые девайсы и всякое такое.

Для тех, кто хочет подходить к вопросу подготовленным, порекомендую свой текст про небесную сферу: в нем мы рассказываем, как устроены небесные координаты, как пользоваться картами звездного, какие бывают телескопы и всякое прочее полезное. Материал рассчитан на школьников и учителей, так что там все очень доступно :)

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

Вперед, к звёздам!

Минимальный каркас самописного Bootloader'a на STM32F103C8T6. Пошаговый пример

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.9K

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

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

Поэтому было решено разбить задачу на мелкие и начать с минимального примера. Подопытным будет BluePill на stm32f103c8t6.

В соответствии с декомпозицией задачи, у меня получилось так:

Читать далее

Как пять нейросетей заменяют целую студию людей

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели19K

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

Мой опыт в продакшене и документальном кино подсказывал, насколько трудоёмким был бы традиционный процесс создания такого видео. С нейросетями появился шанс сделать идею гораздо быстрее, хотя и со своими сложностями.

Читать далее

Топ-11 бесплатных нейросетей для генерации изображений: лучшие AI генераторы 2025 года

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели777K

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

Кстати, заметили обложку с динозавром? Давайте будем звать его Рекс. Рекс –сам плод работы нейросети. Сегодня он станет главной звездой наших экспериментов. Но что будем делать? Помните я говорил о безумных идеях? Так вот, чтобы понять все возможности генерации, давайте дадим AI сложное задание. Отправим Рекси куда-нибудь в космос, например на Луну, пусть наденет скафандр и готовит барбекю на фоне Земли. Интересно? Тогда пристегивайтесь, мы отправляемся в мир генерации изображений.

Читать далее

Библиография киберпанка

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели9.6K

Если вас всё ещё преследует вопрос о том, что бы почитать в жанрах протокиберпанк, киберпанк и посткиберпанк, гляньте одним глазком в мой библиографический обзор. Почти уверен, там есть книги, которые вы ещё не прочли. Не верите? Проверьте!

Читать далее

Пишем 2D игру на JavaScript и Canvas. Часть 2. Графика

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели11K

Привет!

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

Читать далее

Как я, в итоге, написал новую RTOS, протестированную и стабильную

Уровень сложностиСредний
Время на прочтение40 мин
Охват и читатели85K
Я работаю со встраиваемыми системами в течение нескольких лет: наша компания разрабатывает и производит бортовые компьютеры для автомобилей, зарядные устройства, и т.д.

image


Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.

Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.

Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.

Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
Читать дальше →

Первые шаги с GD32F. Подготовка среды

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели29K

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

Читать далее

USB на регистрах: STM32L1 / STM32F1

Время на прочтение18 мин
Охват и читатели28K


Еще более низкий уровень (avr-vusb)
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID
USB на регистрах: isochronous endpoint на примере Audio device

С программным USB на примере AVR мы уже познакомились, пришла пора взяться за более тяжелые камни — STM32. Подопытными у нас будут классический STM32F103C8T6 а также представитель малопотребляющей серии STM32L151RCT6. Как и раньше, пользоваться покупными отладочными платами и HAL'ом не будем, отдав предпочтение велосипеду.
Читать дальше →

USB на регистрах: bulk endpoint на примере Mass Storage

Время на прочтение13 мин
Охват и читатели14K


Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: interrupt endpoint на примере HID
USB на регистрах: isochronous endpoint на примере Audio device

В прошлый раз мы познакомились с общими принципами организации USB и собрали простое устройство, иллюстрирующее работу конечной точки типа Control. Пришло время изучать следующий тип — Bulk. Конечные точки такого типа предназначены для обмена большими объемами информации, причем чувствительной к надежности, но не скорости обмена.

Классические примеры — запоминающие устройства и переходники вроде USB-COM. Но переходники требуют еще наличия конечной точки типа Interrupt, которую мы пока «не проходили», так что остановимся на эмуляции флешки. Точнее, двух флешек одновременно.
Читать дальше →

Учим железки разговаривать, или ESP32 DAC и немного таймера

Время на прочтение6 мин
Охват и читатели33K
В ходе разработки одного очень интересного устройства (эх, лишь бы силенок хватило) я решил, что будет неплохо, если устройство это будет говорящим. Как нельзя кстати здесь пригодилось наличие в целевом микроконтроллере, ESP32 компании Espressif Systems, двухканального 8-битного ЦАПа.

В этом туториале (если его можно так назвать) я покажу, как можно быстро и довольно просто организовать проигрывание аудиофайла силами микроконтроллера ESP32.

Конечный автомат (он же машина состояний) на чистом С

Время на прочтение5 мин
Охват и читатели138K
Почти каждый микроконтроллерщик сталкивался с громадными switch-case и мучительно их отлаживал.
И много кто, начиная писать реализацию какого-либо протокола, задумывался как написать её красиво, изящно, так чтобы через месяц было понятно что ты имел в виду, чтобы она не отжирала всю память и вообще какала бабочками.
И вот тут на помощь приходят машины состояний, они же конечные автоматы (те самые которые используются в регулярных выражениях).

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

Подключаем LCD экран к макетной плате LPCXpresso55S69

Время на прочтение12 мин
Охват и читатели6.3K
В рамках проекта All-Hardware довелось мне освоить работу с экраном на макетной плате LPC55S69-EVK фирмы NXP. Пикантность ситуации состоит в том, что штатно эта плата поставляется без экрана, так что в освоение работы также входил поиск экрана, который можно достать в наших краях, и его подключение.



Во второй части статьи, я расскажу о том, какие действия следует выполнить, чтобы повторить мой подвиг на практике. Но сначала я выскажу всё, что накипело за время работы. Правда, всё ниже сказанное является моим личным мнением и часто не совпадает с мнением руководства нашей компании. Но у инженера-программиста, лично прошедшего через это всё, вполне может быть собственное мнение… И вот оно.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность