
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05




Давайте сегодня поговорим об очень особенном ESP32, идеально подходящем для Интернета вещей, которым является M5Stack. Он содержит ESP32 внутри и даже добавляет дисплей, клавиатуру, усилитель, динамик и аккумулятор. Таким образом, это устройство может делать бесчисленное множество вещей. Когда я получил это оборудование, у меня уже было программное обеспечение для ESP32, и я был перенесен только на дисплей, используемый в этом проекте, а это другое. Однако исходный код, который мы будем использовать, тот же, что и в нашем видео ТЕМПЕРАТУРА И ВЛАЖНОСТЬ С OLED DISPLAY.
В сегодняшней схеме я специально хочу подчеркнуть, что у нас есть M5Stack с положительными и отрицательными соединениями, который питается от датчика DHT22. Оба подключены через GPIO. Данные отображаются на диаграмме.
В этой статье давайте познакомимся с M5Stack и обсудим его приложения. Я должен подчеркнуть, что это устройство имеет вход для карты micro SD, динамик мощностью 1 Вт и гнездо для аккумулятора, а также имеет кнопки взаимодействия, разъем i2c, разъем USB типа C, открытые разъемы ввода-вывода, двухдюймовый TFT-дисплей, среди других функций. Это показано на картинке выше. Можно сказать, что это устройство готово к IoT, так как оно уже поставляется с Bluetooth и ESP32 WiFi. Он также включает магнит для крепления к металлическим поверхностям.
Вам понравился M5Stack? Нажмите:
Шаг 1: M5Stack




Одно из нововведений M5Stack заключается в том, что, если вы снимете заднюю часть, вы можете поместиться в разные модули с разными функциями, такие как модуль GPS, GSM, LoRa и другие. Это показано на изображении.
У меня есть другие примеры модулей ниже, начиная от RS485, DC Motor, Maker, Core и заканчивая управлением шаговым двигателем.
На самом деле это очень быстрый способ собрать прототип. Раньше приходилось покупать несколько транзисторных микросхем и производить многочисленные сборки, что требовало много времени и вложений. Только после этого появилось прототипирование продукта. Именно тогда появились Arduino и Raspberry, которые являются пластинами.
Теперь у нас наконец-то есть M5Stack, готовый к использованию закрытый ящик. Это освобождает нас от необходимости выполнять другие бесчисленные шаги.
Остальные модели M5Stack показаны на изображениях. У нас есть устройство с буквенно-цифровой, цифровой и игровой клавиатурами. Это позволяет вам работать так, как будто это своего рода компьютер. У нас также есть пример работающего программного обеспечения, которое можно запрограммировать на MicroPython, Arduino, ESP-IDF, NodeJS в дополнение к Basic.
Шаг 2. Возможные приложения M5Stack



Среди примеров приложений M5Stack у нас есть осциллограф, как вы можете видеть на изображении. У нас также есть своего рода калькулятор / таблица режущего инструмента.
Как насчет велосипедного спидометра?
Это также может быть удаленная дрель, которая распечатывается в 3D и контролируется удаленно с помощью элемента управления.
Все это показывает, что электронное управление в наши дни намного доступнее, так же как и программирование этих схем стало проще.
Шаг 3: M5Stack - контакты

На этом изображении задняя часть M5Stack показывает, что напряжение составляет 5 вольт. Изображение далее показывает, что у нас есть все, что существует в ESP32, с возможностью подключения.
Шаг 4: библиотека DHT

Используйте библиотеку SimpleDHT, которую я использовал в видео: ТЕМПЕРАТУРА И ВЛАЖНОСТЬ С OLED-ДИСПЛЕЕМ.
Шаг 5: Управление библиотекой Arduino IDE

В «Меню: Эскиз -> Добавить библиотеку -> Управление библиотеками» давайте установим две библиотеки, показанные на изображении ниже. Помните, что перед всем этим вам необходимо установить ядро Arduino ESP32. В этом видео показано, как это сделать. it: КАК УСТАНОВИТЬ ARDUINO IDE В ESP32.
Шаг 6: Исходный код
Исходный код, как уже упоминалось, тот же, что я использовал в видео: ГРАФИК ТЕМПЕРАТУРЫ С OLED DISPLAY. Единственное изменение, которое я внес в этот проект, касалось размера дисплея.
Шаг 7: M5StackDHTGraph.ino
Мы включим библиотеки M5Stack.h и SimpleDHT.h и определим цвета, используемые на дисплее, а также вывод данных DHT. Мы также построим объект для связи с датчиком, определим переменную, отвечающую за показания, и укажем значение оси X.
// Библиотеки для M5Stack и DHT # включают #include // определение ядер для использования #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define pTPados // // конструктор объекта для коммуникационного датчика SimpleDHT22 dht; // изменяемые ответы на номера реализаций и индикаторов do valor no eixo X int leituraAtual = 1;
Мы продолжим работу с определениями позиционирования по осям X и Y, координатами отображения данных температуры и влажности, а также с переменными, в которых будут храниться считанные значения. Мы по-прежнему указываем на переменную для печати графика на дисплее.
// определения позиции для заданий X и Y # определить POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // определить температуру_COMPRIMENTO_GRAFICO 270 // определить температуру_COPRIMENTO_GRAFICO 270 // определить температуру_CoordenadaOS 30 # изменить OS_AD_OS_AD_DES_DES_ADOS // изменить OS_AD_OSDOS 200 # ESC_DOS_DES_ADOSEADOS 200 # ESCROWEMOSDOS 200 # ESC_DOSDOSEADOS 200 # ESC_RADOSDOS 200 que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // varia que armazenará o valor da coordenada Y для desenharmos uma linha de exemplo // que varia os valores de 1 em 1 int linhaExemplo = 20; int fator = 1; // indicará se somaremos ou subtrairemos uma unidade na varável linhaExemplo
Шаг 8: M5StackDHTGraph.ino - Настройка
В Setup мы инициализируем M5Stack. Мы определяем команды для рисования графика, настраиваем шрифт, а также цвета текста и устанавливаем курсор для записи.
установка void (void) {Serial.begin (115200); // Инициализация M5Stack M5.begin (); // добавить тело до M5. Lcd.fillScreen (BLACK); // операционная система выполняет команду перехода к изображению на карте // drawFastVLine (x, y, width, color) вертикальная линия M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, ALTURA_GRAFICO); // eixo Y // drawFastHLine (x, y, width, color) linha по горизонтали M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO + 1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // конфигурирует текст, который нужно изменить в теле M5. Lcd.setTextSize (3); // настройка основного текста M5. Lcd.setTextColor (WHITE); // установка курсора на экран M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("Т:"); // указать температуру M5. Lcd.setCursor (POS_X_DADOS + 105, POS_Y_DADOS); M5. Lcd.print ("U:"); // индикация умидаде}
Шаг 9: M5StackDHTGraph.ino - цикл
В первой части цикла мы считываем температуру и влажность, сопоставляем значения переменных для размещения на графике и рисуем точку на экране, которая относится к этим значениям, считываемым с датчика.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); если (статус == SimpleDHTErrSuccess) {температура = темп; умидаде = умид; } // mapeando o valor das varáveis para colocar no gráfico // необходимо pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = карта (umidade, 0, 100, 0, ALTURA_GRAFICO); // desenha na tela o ponto referente aos valores lidos do sensor M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED); M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // desenha na tela or ponto referente a nossa linha de exemplo que ficaariando M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
Затем мы определяем возможности печати графики на дисплее.
// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decmentamos o valor // até um valor mínimoterminado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; иначе, если (linhaExemplo == 10) fator = 1; // Сома о доблести linhaExemplo linhaExemplo + = fator; // увеличение количества реализаций leituraAtual ++; // se a leitura chegar em 270 (número máximo do eixo X) então limparemos a área do gráfico para voltarmos a desenhar. if (leituraAtual == 270) {// нет области, чтобы сделать графику M5. Lcd.fillRect (POS_X_GRAFICO + 1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, BLACK); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // слабая зона на цвете o доблесть температуры и umidade M5. Lcd.fillRect (POS_X_DADOS + 50, POS_Y_DADOS, 60, 30, ЧЕРНЫЙ); M5. Lcd.fillRect (POS_X_DADOS + 165, POS_Y_DADOS, 90, 30, ЧЕРНЫЙ);
// установка курсора для изменения температуры M5. Lcd.setCursor (POS_X_DADOS + 50, POS_Y_DADOS); M5. Lcd.setTextColor (КРАСНЫЙ); M5. Lcd.print (температура); M5. Lcd.print ((char) 247); // восстановление курсора для перехода к M5. Lcd.setCursor (POS_X_DADOS + 165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (умидаде); M5. Lcd.print ("%"); задержка (1000); }
Шаг 10: файлы
Вам понравился M5Stack? Хотите купить? Перейдите по ссылке:
Загрузите файлы:
Я НЕТ
Рекомендуемые:
M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко сделать: 6 шагов

M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко: в этом руководстве мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения температуры, влажности и давления с помощью датчика ENV (DHT12, BMP280, BMM150)
Температура и влажность с использованием ESP32-DHT22-MQTT-MySQL-PHP: 7 шагов

Температура и влажность с использованием ESP32-DHT22-MQTT-MySQL-PHP: Моя девушка хотела оранжерею, поэтому я сделал ее. Но мне нужен был датчик температуры и влажности внутри теплицы. Итак, я поискал примеры в Google и начал экспериментировать. Я пришел к выводу, что все найденные мной примеры не совсем то
Как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino: 12 шагов

Как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino: в этом руководстве мы узнаем, как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino. Посмотрите демонстрационное видео
Создание устройства датчика температуры Apple HomeKit (DHT22) с использованием RaspberryPI и DHT22: 11 шагов

Создайте устройство с датчиком температуры Apple HomeKit (DHT22) с использованием RaspberryPI и DHT22: я искал недорогой датчик температуры / влажности, который я мог бы использовать для отслеживания того, что происходит в моем пространстве для ползания, так как обнаружил, что этой весной было очень влажно , и было много сырости. Поэтому я искал датчик по разумной цене, который я мог бы
ESP32 и OLED-дисплей: Интернет-часы - DHT22: 10 шагов (с изображениями)

ESP32 и OLED-дисплей: Интернет-часы - DHT22: Эта инструкция участвует в конкурсе: " GIFs Challenge 2017 ", если вам это нравится, пожалуйста, проголосуйте, нажав на баннер выше. Большое спасибо! ;-) Это руководство является продолжением путешествия, чтобы узнать больше об этом замечательном устройстве IoT