• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Результаты поиска

  1. enjoynering

    Бибилиотека для СО2 сенсора Sensirion SCD30

    Полгода тестирую Sensirion SCD30. Двухлучевой, очень стабильный. Автоматическая калибровка ASC отключена уже как месяца три. Недавно выносил на улицу, показал 389ppm. На алике стоит от $32. Библиотека поддерживает все люшки сеносра и находится тут - https://github.com/enjoyneering/SCD30_I2C...
  2. enjoynering

    Полоумное реле - Time, Temperature & Humidity Relay

    Сокращенно tthRelay. Что умеют: - поддержка AHT1x/AHT2x и HTU2xD/SHT2x/Si70xx сенсоров - ручной режим, включение/выключение - по времени от чч: мм до чч: мм - по температуре (охлаждение / обогрев) с регулируемым гистерезисом и приоритетом времени от чч до чч - по влажности (увлажнитель /...
  3. enjoynering

    Часы MatrixClock

    Выкатил v2.0.1. Писалось в свободное от работы и семьи время. На все про все ушло 1.5 года. Осталось нарисовать корпус для 3D принтера. Что умеют: - продуманный web интерфейс (Bootstrap + jQuery) - автоматическая синхронизация с SNTP серверами или в ручную с временем из браузера - показ...
  4. enjoynering

    Библиотека для DFPlayer Mini

    Из того что есть на GitHub ничего не понравилось, но появились вопросы. Так и не понял зачем, для ожидания ответа, люди городят огород с millis(), delay() или дополнительными библиотеками. Все уже давно есть в Arduino - Serial.setTimeout() и Serial.readBytes(). Второй вопрос у меня к китайским...
  5. enjoynering

    Получение необработанных данных от Esp8266WebServer client?

    Если использовать либу Esp8266WebServer, то можно работать только с данными уже разобранными библиотекой, например server.arg("humidity"), server.arg("temperature") и т. д. В моем проекте вместе с удобными функциями server.on() мне нужно получать в ESP много запросов POST от пользователей с...
  6. enjoynering

    Делюсь опытом Датчик температуры и влажности AHT10/AHT15

    Пять лет сенсоры HTU21D/SHT21/Si7021 были королями Arduino среди бюджетных термометров/гирометров, но всему приходит конец. Китайцам удалось сделать не хуже и на $1 дешевле. Сенсор AHT10 общается по I2C шине, имеет два адреса и заводскую калибровку. Если верить тестам от Oleksandr Liutyi новый...
  7. enjoynering

    Делюсь опытом Зачем пользоваться костылем SoftSerial, когда у ESP8266 два аппаратных UART?

    Бесит копипаста SoftSerial перекочевавшая с Arduino AVR на Arduino ESP8266. К AVR вопросов нет, там почти всегда один аппаратный UART и он занят bootloder-ом, поэтому без SoftSerial никак. Но зачем тащить кривой ногодрыг в проекты на ESP8266 с двумя аппаратными UART? Рассказываю как надо... 1...
  8. enjoynering

    Делюсь опытом Библиотека для 12-bit DAC Microchip MCP4725

    Библиотека для 12-бит ЦАП Microchip MCP4725 управляемого по i2c. Поддерживает все плюшки сенсора: - Быстрая запись. Пишется только 16-bit непосредственно в чип минуя все регистры, в eeprom ничего не сохраняется. - Запись в регистр. Пишется 24-бит в регистр, в eeprom ничего не сохраняется. -...
  9. enjoynering

    Делюсь опытом Библиотека для ультразвукового датчика HC-SR04

    Знаю что баян, но то что есть в интернете меня не устроило. Написал свой велосипед: - измерение расстояния от 4 см до 250 мм* - компенсация изменения скорости звука от температуры окружающей среды - установка максимального расстояния для ускорения измерений забирать тут - enjoyneering/HCSR04...
  10. enjoynering

    Делюсь опытом Библиотека для датчика освещенности ROHM BH1750FVI

    Поддерживает все плюшки сенсора: - *изменение чувствительности/усиления в диапазоне 0.45 - 3.68 - изменение разрешающей способности - режим энергосбережения - калибровка - сброс Протестировано на: - Arduino AVR - Arduino ESP8266 - Arduino STM32 *Коэффициента усиления применяется когда сенсор...
  11. enjoynering

    Делюсь опытом Библиотека для работы с энкодером

    Тестированно на Arduino AVR, Arduino ESP8266, Arduino STM32. Из 16 состояний энкодера вырезаются все ненужные. Какая нам польза от того что мы будем знать где крутилка до/после клика? На основе оставшихся 4-х с помощью булевой алгебры и switch case делается простейший счетчик. void...
  12. enjoynering

    Делюсь опытом Универсальная библиотека LiquidCrystal_I2C на базе расширителя портов PCF8574

    Без проблем работает с не стандартным модулями и экранами. Поддерживает Arduino AVR, Arduino ESP8266, Arduino SMT32. Получилась немного быстрее, чем у всей остальной копипасты из интернета. Все пины можно переназначать. Вот как это работает. Для этого поближе посмотрим на строку инициализации...
  13. enjoynering

    Нужна помощь несколько условий в while цикле

    добрый день. не первый раз сталкиваюсь с такой проблемой. Arduino для esp8266 упорно игнорирует больше одного условия в цикле while например вот такой код вызывает срабатывание wdt: int16_t counter = 2000; while ((digitalRead(_dreq) == LOW) || (counter > 0)) { counter--...
  14. enjoynering

    Делюсь опытом MAX31855, датчик к-термопары с компенсацией температуры холодного спая

    Библиотека для MAX31855 от Maxim Integrated. На борту два АЦП. 14-bit для термопары и 12-bit для холодного спая. Время преобразования около 100 миллисекунд или 10 измерений в секунду. По мимо температуры термопары умеет выдавать температуру холодного спая. Обладает улучшенными диагностическими...
  15. enjoynering

    Делюсь опытом Исправленная Wire библиотека для Arduino ESP8266 была удалена

    Исправленная Wire библиотека - github. Cтандарт на I2C - здесь.
  16. enjoynering

    bootloader для Arduino

    Стандартное SDK от Espressif использует bootloader для загрузки и две области flash памяти для user кода. А как это происходит в Arduino? Использует ли Arduino Espressif-овский загрузчик? Спасибо.
  17. enjoynering

    Несколько i2c устроиств на одной шине

    добрый день. столкнулся с проблемой. есть несколько датчиков и lcd экран подключенный к одной i2c шине (одним контактам esp). по отдельности все работают отлично. как только инициализирую больше одного ведомого, то начинатся глюки , зависания и перезагрузки. покопавшись в интернете, обнаружил...
  18. enjoynering

    где делать объявление локальных переменных

    Мучает впорс по оптимизации памяти. Как мы все знаем в МК есть стек (stack) и куча(heap). Стек для глобальных переменных и сним ПОКА впросов нет. А вот куча которая используется для локальных переменных, находящихся внутри различных функций, не дает мне спать. Вот пример кода для затравки...
  19. enjoynering

    функция yield()

    Здравствуйте, Перелопатил интернет но так и не нашел ответ на свой вопрос - куда вставлять yield(), до или после длинных задержек или тяжелых функций? Тыкните пожалуйста на место в исходниках на эту команду (искал на гитхабе в офиц. репозитории, но так и не нашел. уж очень глубоко зарыта)...
Сверху Снизу