О ресурсе САМОПАЛ.PRO

О ресурсе СМОПАЛ.PRO

Этот ресурс для тех, кому интересно делать вещи своими руками.

В основном речь пойдет о:

Arduino, AVR и разных самоделках на них

«Умном доме» своими руками

Самодельном свете с использованием светодиодов

Покупке всего что нужно для самоделок в интернете

 

 

Интеллектуальная панель 7″ на базе ESP32S3

Sunton-ESP32-S3-7-Inch-TN-Display-with-Touch-1000x750
Отображение информации это один из важнейших аспектов автоматизированных систем.

В IoT системах роль терминала чаще всего выполняет смартфон или компьютер. Но иногда и в умном доме удобно иметь автономную операторскую панель

На сайте Makerfabs в разделе OpenHardware появились интеллектуальные дисплеи Sunton 4.3″, 5″ и 7″ на базе ESP32S3. Из них и герой обзора — панель ESP32-8048S070, купленная на Алиэкспресс за 3000 руб. вместе с доставкой.

Чем мне приглянулось данное устройство:

  • Использование нового ESP32S3  позволило подключить дисплей по аппаратному параллельному 16-ти битному интерфейсу, что позволило достичь неплохой скорости выдачи информации на экран (по сравнению с тем же SPI)
  • В отличие тех же дисплеев Nextion, обязательно подключаемых к внешнему контроллеру, данный дисплей может работать как автономное устройство
  • Открытая понятная схемотехника и программирование напрямую в Arduino IDE или PlatformIO (Те же Nextion или DWIN используют для программирования свой проприоритарный софт)
  • Ну и немаловажный фактор для  DIY, это цена.

ESP32-S2. Исследование встроенного USB

ESP-12K-1В 2020 году компания Espressif представила три новых чипа: ESP32-S2, ESP32-S3 и ESP32-S3.

Если S3 это новый топовый контроллер ESP32, а C3 представляет новую архитектуру RISC-V, то S2 — это явный «CELERON» в мире ESP — с низкой ценой и обрезанным функционалом.

ESP32-S2 построен на одноядерном микропроцессоре Xtensa LX7 нового поколения, имеет интегрированную поддержку USB  и некоторые дополнительные интерфейсы (камера, жидкокристаллический дисплей). Зато он кроме одного ядра лишился поддержки Bluetooth, Ethernet и некоторых других (видимо мало востребованных по мнению производителя) функций.

Мое портфолио

 

2020-1 Сюда буду помещать наиболее интересные свои работы. Программирование, проектирование устройств, изготовление, практически полный цикл )

Работ накопилось много. По коммерческим проектам даю только общее представление.

Часть работ выполнены в качестве хобби. По ним публикую полную информацию. Много хоббийных работ есть на сайnе samopal.pro

 

 

ESP32. Управление кнопками в FreeRTOS

ESP-32 v57Год назад я писал статью про управление кнопками в Arduino. С тех пор родилась библиотека SButton с кучей наворотов, которая активно используется мной в различных проектах. В последнее время я использую в проектах контроллер ESP32  компании Espressif Systems и много времени уделяю программирование под FreeRTOS, хорошо раскрывающей возможности этого двухъядерного контроллера.

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

Итак, приступим…

Дисплей на двухцветном семисегментном индикаторе 1.8″

titleКак то один знакомый попросил меня собрать часы с синхронизацией из интернета на крупном семисегментном индикаторе.  С проектом справился без проблем, но жена знакомого очень быстро поставила на нем крест — «Хочу такого же но без крыльев  Красные цифры не нравятся — хочу зеленые». В то время цветные индикаторы стоили в несколько раз дороже красных (да и сейчас тенденция сохраняется) и часы ушли куда то пылиться с женских глаз долой. И вот однажды, формируя заказ на TaoBao, натолкнулся на двухцветные индикаторы. Подумал, с какой бы гордостью я бы тогда удовлетворил желание женщины, с телефона изменив бы цвет цифр часов, и решил заказать.

С заказом получился косяк. Хотел заказать индикаторы с общим катодом, чтобы нормально подключить через MAX7219. Но у одного продавца индикаторов не было в наличии, а заказывая у другого не разобрался в китайско-английском переводе на сайте посредника «Common Yang/Common Yin» (да-да — общий Инь или общий Ян)  и заказал с общим анодом. К счастью,  MAX7219 работают и с LED-матрицами 8×8, и я решил изменить схему подключения и решить проблему на программном уровне.

Делаем «часы настроения». Часть первая. Индикаторы

t0Есть такой супертренд радиолюбителей — светильник Алекса Гайвера: на кусок канализационной трубы приклеиваем гибкую матрицу из адресных светодиодов, сверху плафон с Леруа Мерлен и все это подключаем к ESP8266. Вещь получается простая, недорогая, очень зрелищная … и довольно бесполезная с точки зрения быта.

Решил найти более практичное применение для адресных диодов, например в электронных часах. Назовем проект — «часы настроения».

Идея сделать часы на WS2812 мной уже поднималась здесь и здесь. Кроме того, есть опыт использования погодной станции с матричным дисплеем. Учитывая все недостатки эксплуатации можно прикинуть требования к индикатору:

  • Эргономичность. То есть должны гореть сегменты, а не отдельные точки, цифры должны иметь наклон 10 градусов, как во всех семисегментных индикаторах. Все должно быть направлено на максимальную читаемость в ущерб универсальности.
  • Простота схемы и минимальный бюджет индикатора. Простота подключения к различным микроконтроллерам.
  • Высокая масштабируемость. Индикаторы могут быть практически любых размеров.

Для разнообразия свой проект сделал на светодиодах SK6812

ДУ с внешним триггером для камер SONY HDR на ESP8266

10005984bКомпания SONY, решив показать себя на рынке экшен камер, выпускает линейку устройств HDR. Поманив клиентов привлекательной начинкой — хорошая матрица, быстрый процессор, цейсовская оптика и электронный стабилизатор изображения при маленьком весе, компания показывает свое «истинное лицо капитализма».

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

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

Компания SONY, совершенно не заботясь о своих клиентах, убирает из Google Play приложение PlayMemories Mobile для управления своими экшен камерами по WiFi с любого мобильного телефона, заменив его на приложение для умных часов. Вместо него выпускает Imaging Edge Mobile — жутко неудобное и постоянно отваливающее от камеры. Та же песня и для приложений по iPhone.

Как обманутый вкладчик пользователь камеры HDR AS100 я решил поискать альтернативное решение и наткнулся на довольно интересный архив — Sony Camera Remote API beta SDK

SDK написан для разработки приложений управления камерами SONY по WiFi с устройств под управлением Android и iOS.

Внутри архива два каталога с примерами для разработки приложения на Java под Android и под iOS. Самое интересное, это PDF документ  API references for Camera Remote API beta. Решено — буду делать ДУ пульт своими руками

Устройства MySensors на батарейном питании

499Эта музыка будет вечной если я заменю батарейки ©

Это опус посвящен моим изысканиям по питанию автономными беспроводными устройствами, входящими в систему умного дома MySensors/MajorDoMo.

Сперва был литий…

Вернее литий-ионные и литий-полимерные аккумуляторы.

Долгое время эти аккумуляторы от старых гаджетов копились в ящике. Думал — вот оно, универсальное питание для всех малогабаритных микроконтроллеров. Тем более, напряжение 3.3-4.2В отлично подходит как для AVR, так и для всяческих ESP и STM. Для надежности можно поставить LDO стабилизатор нужной мощности и получить стабильные 3.3 для МК и всей периферии.

Создание своего класса устройств в MajorDoMo

001Итак я наклепал кучу контроллеров с MySensors и подключил их к MajorDoMo через шлюз. Данная статья о том как с этим жить дальше. Ведь для подключения к MajorDoMo с каждым устройством приходится выполнять немало действий: создание объектов и подключение их к сенсорам Mysensors, настройка обработки приходящих значений, отображение показаний на экранных формах (планах, сценах), формирования отчетов по показаниям датчиков.

 

Для подключения устройств Mysensor к MajorDoMo я вижу два пути:

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

До сих пор я максимально шел по первому пути, разве что немного расширял существующие классы. В результате я получил огромное количество однотипных объектов (ведь каждому сенсору моего устройства, которых у меня получается от 2 до 10, нужно создать отдельный объект соответствующего класса)

Кончилось все это переустановкой MajorDoMo (почему то при вызове сцен стал подвисать Apache c 100% загрузкой процессора), и вместе с этим я решил навести порядок в классах.

Универсальный сторожевой таймер на ATtiny13

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

Тем более встроенный WDT имеется у большинства современных микроконтроллеров.

Но бывают случаи, когда приходится иметь дело с готовой платой или модулем с определенными проблемами. Свой первый WDT я сделал для борьбы с редкими, но все же иногда происходящими зависаниями ESP8266. Причем софтовый ресет тогда не спасал и ESP-шка не хотела переподключаться к WiFi. Передергивание питания внешним WDT решило проблему.

Вторая проблема возникла с GSM контроллером Elecrow ATMEGA 32u4 A9G. Здесь имели место быть очень редко случающиеся зависание SIM-карты. (Кстати эта же проблема бывает и с USB-модемами 3G и 4G). Для борьбы с таким зависанием нужно передернуть питание на SIM-ке. И вроде даже вывод у GSM модема для этого есть, но в схемотехнику устройства данная возможность не заложена. И для достижения максимальной надежность пришлось снова обращаться к внешней сторожевой собаке.