Съдържание:
- Стъпка 1: M5Stack
- Стъпка 2: M5Stack Възможни приложения
- Стъпка 3: M5Stack - Игли
- Стъпка 4: DHT библиотека
- Стъпка 5: Управление на библиотеката на IDE на Arduino
- Стъпка 6: Изходен код
- Стъпка 7: M5StackDHTGraph.ino
- Стъпка 8: M5StackDHTGraph.ino - Настройка
- Стъпка 9: M5StackDHTGraph.ino - Цикъл
- Стъпка 10: Файлове
Видео: ESP32: M5 Подредете с DHT22: 10 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Нека поговорим днес за един много специален ESP32, идеален за Интернет на нещата, който е M5Stack. Той съдържа ESP32 вътре и дори добавя дисплей, клавиатура, усилвател, високоговорител и батерия. По този начин това устройство може да прави безброй неща. Когато получих този хардуер, вече имах софтуер за ESP32 и пренасях само на дисплея, използван в този проект, който е различен. Изходният код, който ще използваме, е същият, използван във видеото ТЕМПЕРАТУРА И ВЛАЖНОСТ С OLED ДИСПЛЕЙ.
В днешната схема специално искам да подчертая, че имаме M5Stack с положителни и отрицателни връзки, който се захранва със сензор DHT22. И двете са свързани чрез GPIO. Данните се показват в диаграмата.
В тази статия нека да представим M5Stack и да обсъдим неговите приложения. Трябва да подчертая, че това устройство има вход за микро SD карта, 1W високоговорител и гнездо за батерия, а също така има бутони за взаимодействие, i2c конектор, USB тип C, открити IO, двуинчов TFT дисплей, наред с други характеристики. Показано е на снимката по -горе. Можем да кажем, че това устройство е готово за IoT, тъй като вече се предлага с Bluetooth и ESP32 WiFi. Той също така включва магнит за закрепване към метални повърхности.
Хареса ли ви M5Stack? Кликнете върху:
Стъпка 1: M5Stack
Едно нововъведение на M5Stack е, че ако свалите гърба, можете да поберете различни модули с различни функции, като GPS модул, GSM, LoRa и др. Това е показано на изображението.
Имам още примери за модули по -долу, вариращи от RS485, DC двигател, 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: Управление на библиотеката на IDE на Arduino
В „Меню: Sketch -> Добавяне на библиотека -> Управление на библиотеки“, нека инсталираме двете библиотеки, показани на изображението по -долу. Не забравяйте, че преди всичко това трябва да инсталирате ядрото Arduino на ESP32. Това видео ви показва как да направите it: КАК ДА ИНСТАЛИРАТЕ ARDUINO IDE В ESP32.
Стъпка 6: Изходен код
Изходният код, както бе споменато, е същият, който използвах във видеото: ТЕМПЕРАТУРЕН ГРАФ С OLED ДИСПЛЕЙ. Единствената промяна, която направих в този проект, беше по отношение на размера на дисплея.
Стъпка 7: M5StackDHTGraph.ino
Ще включим библиотеките M5Stack.h и SimpleDHT.h и ще определим цветовете, използвани на дисплея, както и пина за данни на DHT. Също така ще конструираме обект за комуникация със сензора, ще определим променливата, отговорна за показанията, и ще посочим стойността на оста X.
// Libs do M5Stack e DHT #включват #include // определят das ядра que serão utilizadas #дефинират ЧЕРНО 0x0000 #дефинират ЧЕРВЕНО 0xF800 #дефинират CYAN 0x07FF #дефинират ЖЪЛТО 0xFFE0 #дефинират БЯЛО 0xFFFIN дефиниране // конструктор прави обект за comunicar com o сензор SimpleDHT22 dht; // variável responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Продължаваме с дефинициите за позициониране по оста X и Y, координатите за показване на данните за температурата и влажността, както и променливите, които ще съхраняват прочетените стойности. Все още посочваме променливата за отпечатване на диаграмата на дисплея.
// дефинираме позицията на докосването X e Y #дефинираме POS_X_GRAFICO 30 #дефинираме POS_Y_GRAFICO 3 #дефинираме ALTURA_GRAFICO 180 #дефинираме COMPRIMENTO_GRAFICO 270 // дефинираме coordenada onde escrevereDos_OSOS PADOS que armazenarão os valores lidos da umidade e температура int umidade = 0; int температура = 0; // variável que armazenará o valor da coordenada Y para 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 на variável linhaExemplo
Стъпка 8: M5StackDHTGraph.ino - Настройка
В настройката инициализираме M5Stack. Определяме команди за рисуване на графиката, конфигурираме шрифта, както и цветовете на текста и позиционираме курсора за писане.
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5.begin (); // pinta a tela toda de preto M5. Lcd.fillScreen (ЧЕРЕН); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, width, color) linha vertical M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHITE); // eixo Y // drawFastHLine (x, y, ширина, цвят) linha хоризонтално M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, БЯЛ); // eixo X // конфигурация за tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // конфигуриране на cor branca за texto M5. Lcd.setTextColor (БЯЛ); // позиция за курсор за escrita M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // показва температура M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Стъпка 9: M5StackDHTGraph.ino - Цикъл
В първата част на цикъла четем температурата и влажността, картографираме стойността на променливите за поставяне върху графиката и начертаваме точката на екрана, която се отнася до тези стойности, отчетени от сензора.
void loop () {// Fazemos a leitura da temperature e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {температура = temp; umidade = umid; } // mapeando o valor das variáveis para colocar no gráfico // необходимост pois за показване темп 240px de altura и separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperatureMapeada = map (температура, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = карта (umidade, 0, 100, 0, ALTURA_GRAFICO); // десенха на тела за понто референтни aos valores lidos до сензор M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-температураMapeada, ЧЕРВЕН); M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // desenha na tela o ponto referente a nossa linha de exemplo que fica variando M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, YELLOW);
След това определяме възможностите за отпечатване на графиката на дисплея.
// aqui controlamos nossa linha de exemplo, quando chega no valor máximo decrementamos o valor // até um valor mínimo deterado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; иначе if (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // добавяне на contador de leituras realizadas 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) {// limpa a área toda do gráfico M5. Lcd.fillRect (POS_X_GRAFICO+1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, ЧЕРЕН); leituraAtual = 1; // volta o contador de leitura параграф 1 (nova coordenada X)} // limpa a área onde colocamos o valor da temperature e da umidade M5. Lcd.fillRect (POS_X_DADOS+50, POS_Y_DADOS, 60, 30, BLACK); 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.принт (температура); M5. Lcd.print ((char) 247); // преместване на курсора за ескревер и мимида M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print ("%"); забавяне (1000); }
Стъпка 10: Файлове
Хареса ли ви M5Stack? Искате ли да си купите такъв? Отидете на:
Изтеглете файловете:
АЗ НЕ
Препоръчано:
Температура и влажност с помощта на ESP32-DHT22-MQTT-MySQL-PHP: 7 стъпки
Температура и влажност с помощта на ESP32-DHT22-MQTT-MySQL-PHP: Моята приятелка искаше оранжерия, затова я направих такава. Но аз исках датчик за температура и влажност в оранжерията. И така, потърсих в Гугъл примери и започнах да експериментирам. Изводът ми беше, че всички примери, които открих, не са точно
Първи стъпки с ESP32 CAM - Поточно предаване на видео с помощта на ESP CAM през Wifi - Проект за охранителна камера ESP32: 8 стъпки
Първи стъпки с ESP32 CAM | Поточно предаване на видео с помощта на ESP CAM през Wifi | Проект за камера за сигурност ESP32: Днес ще научим как да използваме тази нова ESP32 CAM платка и как можем да я кодираме и използваме като камера за сигурност и да получим поточно видео през wifi
Първи стъпки с ESP32 - Инсталиране на платки ESP32 в Arduino IDE - ESP32 Blink Code: 3 стъпки
Първи стъпки с ESP32 | Инсталиране на платки ESP32 в Arduino IDE | ESP32 Blink Code: В тази инструкция ще видим как да започнем работа с esp32 и как да инсталираме esp32 дъски в Arduino IDE и ще програмираме esp 32 да изпълнява мигащ код, използвайки arduino ide
Изградете Apple HomeKit температурен сензор (DHT22) устройство с помощта на RaspberryPI и DHT22: 11 стъпки
Изградете устройство за температурен сензор на Apple HomeKit (DHT22) с помощта на RaspberryPI и DHT22: Търсех сензор за ниска цена на температурата / влажността, който бих могъл да използвам, за да наблюдавам какво се случва в моето пространство за обхождане, тъй като открих, че тази пролет беше много мокро , и имаше много влага. Така че търсих сензор на разумна цена, който бих могъл да
ESP32 и OLED дисплей: Интернет часовник - DHT22: 10 стъпки (със снимки)
ESP32 и OLED дисплей: Интернет часовник - DHT22: Тази инструкция се състезава за конкурс: " GIFs Challenge 2017 ", Ако ви харесва, моля, дайте своя глас, като кликнете върху горния банер. Благодаря много! ;-) Този урок е продължение на пътуване, за да научите повече за този страхотен IoT устройство