Мазмуну:
- 1 -кадам: M5Stack
- 2 -кадам: M5Stack Мүмкүн болгон тиркемелер
- 3 -кадам: M5Stack - Pins
- 4 -кадам: DHT китепканасы
- 5 -кадам: Arduino IDE китепканасын башкаруу
- 6 -кадам: Булак коду
- 7 -кадам: M5StackDHTGraph.ino
- 8 -кадам: M5StackDHTGraph.ino - Орнотуу
- 9 -кадам: M5StackDHTGraph.ino - Loop
- 10 -кадам: Файлдар
Video: ESP32: DHT22 менен M5Stack: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бүгүн M5Stack болгон нерселердин Интернети үчүн эң сонун ESP32 жөнүндө сүйлөшөлү. Анын ичинде ESP32 бар, ал тургай дисплейге, клавиатурага, күчөткүчкө, динамикке жана батареяга кошулат. Ошентип, бул аппарат сансыз көп нерселерди жасай алат. Мен бул жабдыкты алганымда, менде ESP32 үчүн программалык камсыздоо болгон жана бул долбоордо колдонулган дисплейге гана которулган, башкача. Бирок, биз колдоно турган баштапкы код биздин OLED дисплейи менен ТЕМПЕРАТУРА ЖАНА НЫМДУУЛУКТА колдонулган код.
Бүгүнкү схемада мен DHT22 сенсору менен азыктанган оң жана терс байланыштары бар M5Stackке ээ экенибизди өзгөчө белгилегим келет. Экөө тең GPIO аркылуу туташкан. Маалыматтар диаграммада көрсөтүлөт.
Бул макалада, келгиле, M5Stackти киргизели жана анын колдонмолорун талкуулайлы. Бул түзмөктө микро SD карта, 1 Вт динамик жана батарея розеткасы бар экенин, ошондой эле өз ара аракеттенүү баскычтары, i2c туташтыргычы, USB түрү С, ачык IOs, эки дюймдук TFT дисплейи бар экенин баса белгилеп кетким келет. башка өзгөчөлүктөрдүн арасында. Ал жогорудагы сүрөттө көрсөтүлгөн. Бул түзмөк IoT үчүн даяр деп айта алабыз, анткени ал буга чейин Bluetooth жана ESP32 WiFi менен келген. Ал ошондой эле металл бетине бекитүү үчүн магнит камтыйт.
Сизге M5Stack жактыбы? Чыкылдатыңыз:
1 -кадам: M5Stack
M5Stackтин бир жаңылыгы, эгерде сиз аркаңызды чечсеңиз, GPS модулу, GSM, LoRa жана башкалар сыяктуу ар кандай функциялары бар ар кандай модулдарга батсаңыз болот. Бул сүрөттө көрсөтүлгөн.
Менде RS485, DC Motor, Maker, Core, stepper моторун башкарууга чейинки модулдардын дагы мисалдары бар.
Бул чындыгында прототипти чогултуунун абдан тез жолу. Эски күндөрдө бир нече транзистордук микросхемаларды сатып алып, көп убакытты жана каражатты талап кылган көптөгөн жыйналыштарды жасоо керек болчу. Продукттун прототиптөөсү кийин гана келди. Дал ошол кезде плиталар болгон Ардуино менен Малина пайда болгон.
Эми бизде акыры M5Stack бар, бул колдонууга даяр жабык куту. Бул бизди башка сан жеткис кадамдарды жасоодон бошотот.
Башка M5Stack моделдери сүрөттөрдө көрсөтүлгөн. Бизде тамгалык -сандык, сандык жана оюндук баскычтоптору бар аппарат бар. Бул компьютердин бир түрү сыяктуу иштөөгө мүмкүндүк берет. Бизде программалык камсыздоонун мисалы бар, аны Basicтен тышкары MicroPython, Arduino, ESP-IDF, NodeJSте программалоого болот.
2 -кадам: M5Stack Мүмкүн болгон тиркемелер
M5Stack тиркемелеринин мисалдарынын арасында биз сүрөттө көрүнүп тургандай, бизде осциллограф бар. Ошондой эле бизде калькулятор / кесүүчү куралдар столу бар.
Велосипеддин спидометрине кандай дейсиз?
Бул ошондой эле 3D форматында басылган жана алыстан башкаруу пульту аркылуу башкарыла турган алыскы бургулоо болушу мүмкүн.
Мунун баары, бул схемаларды программалоо жеңил болуп калгандай эле, электрониканы көзөмөлдөө ушул күндөрү алда канча жеткиликтүү экенин көрсөтүп турат.
3 -кадам: M5Stack - Pins
M5Stackтин арткы тарабы бул сүрөттө, ал 5 вольтто экенин көрсөтүп турат. Сүрөт андан ары ESP32де туташуу менен бар нерсенин баары бар экенин көрсөтөт.
4 -кадам: DHT китепканасы
SimpleDHT libди колдонуңуз, ал видеодо мен колдонгон: ТЕМПЕРАТУРА ЖАНА ОЛИМДИ ДИПЛАЙМДУУ НЫМ.
5 -кадам: Arduino IDE китепканасын башкаруу
"Меню: Эскиз -> Китепкана кошуу -> Китепканаларды башкаруу" бөлүмүндө, келгиле, төмөндөгү сүрөттө көрсөтүлгөн эки китепкананы орнотолу. Мунун алдында ESP32нин Arduino өзөгүн орнотушуңуз керек экенин унутпаңыз. Бул видео сизге кантип жасоону көрсөтөт. ал: ESP32де ARDUINO IDE КАНТИП ОРНОТУЛАТ.
6 -кадам: Булак коду
Булак коду, жогоруда айтылгандай, мен видеодо колдонгон нерсе: OLED DISPLAY МЕНЕН ТЕМПЕРАТУРА ГРАФИГИ. Бул долбоорго киргизген жалгыз өзгөрүүм дисплейдин өлчөмүнө байланыштуу болду.
7 -кадам: M5StackDHTGraph.ino
Биз M5Stack.h жана SimpleDHT.h китепканаларын камтыйт жана биз дисплейде колдонулган түстөрдү, ошондой эле DHT маалымат пинин аныктайбыз. Биз ошондой эле сенсор менен байланыш үчүн объект курабыз, көрсөткүчтөр үчүн жооптуу өзгөрмөнү аныктайбыз жана X огунун маанисин көрсөтөбүз.
// Libs do M5Stack e DHT #include #include // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE pxFFEFDEFin // конструктор SimpleDHT22 dht; // варианттардын жооптору, алар эч кандай оңдоолорду көрсөтпөйт, eixo X int leituraAtual = 1;
Биз X огу жана Y огунун жайгашуу аныктамаларын, температура жана нымдуулук маалыматтарынын координаттарын, ошондой эле окулган баалуулуктарды сактай турган өзгөрмөлөрдү улантабыз. Биз дагы эле дисплейде диаграмманы басып чыгаруу үчүн өзгөрмөнү көрсөтөбүз.
// аныктамалар posixionamento dos eixos X e Y #аныктоо POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #deffine COMPRIMENTO_GRAFICO 270 // definção da coordenada onde escreveremos PD_DOS_DOS_de que armazenarão os valores lidos da umadeade e temperatura int umidade = 0; int temperatura = 0; // координаттардын өзгөрүлмөлүүлүгү Y мисал боюнча // мисалдардын тизмеси 1 эм 1 int linhaExemplo = 20; int fator = 1; // indará se somaremos ou subtrairemos una unadeade na variavevel linhaExemplo
8 -кадам: M5StackDHTGraph.ino - Орнотуу
Орнотууда биз M5Stackти баштайбыз. Биз графикти тартуу үчүн буйруктарды аныктайбыз, шрифтти, ошондой эле тексттин түстөрүн конфигурациялайбыз жана жазуу үчүн курсорду жайгаштырабыз.
void setup (void) {Serial.begin (115200); // M5Stack M5.begin (); // M5. Lcd.fillScreen (КАРА); // os comandos a segir desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, туурасы, түсү) линиялык вертикалдуу M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHO) // eixo Y // drawFastHLine (x, y, туурасы, түсү) линия горизонталдуу M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, АК); // eixo X // конфигурациялоо үчүн M5. Lcd.setTextSize (3) менен текстти алмаштыруу керек; // M5. Lcd.setTextColor (АК) үчүн текстти конфигурациялоо; // M5. Lcd.setCursor эсеби боюнча курсор (POS_X_DADOS, POS_Y_DADOS); M5. Lcd.print ("T:"); // indicando a temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
9 -кадам: M5StackDHTGraph.ino - Loop
Циклдин биринчи бөлүгүндө биз температураны жана нымдуулукту окуйбуз, графикке жайгаштыруу үчүн өзгөрмөлөрдүн маанисин картага түшүрөбүз жана сенсордон окулган бул маанилерге тиешелүү чекитти экранда тартабыз.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; umidade = үмүт; } // mapeando o valor das variáveis para colocar no gráfico // needário pois o display tem 240px de altura e separamos apenas 180 para para 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); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED) сенсорунун жардамы менен сиз өзүңүздү көрсөтө аласыз; M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, САРЫ) экстемплингге шилтеме жасоо менен байланышкан эмес;
Андан кийин, биз графикти дисплейге басып чыгаруу мүмкүнчүлүгүн аныктайбыз.
// акысыз көзөмөлдөө, мисалы, эч кандай эрдик жокко эсе // эч кандай эрдик кылбайт // атаандаштыкты аныктоо (10 жолу жок), жана дагы бир жолу, эгерде (linhaExemplo == 50) fator = -1; else if (linhaExemplo == 10) fator = 1; // linhaExemplo linhaExemplo += fator; // incrementa or contador de leituras realizadas leituraAtual ++; // 270 чек аранын чекитине (eixo X) кирүү мүмкүнчүлүгү чектелген эмес. 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, BLACK); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // лимфа жана температура дагы 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 (RED); 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 жактыбы? Бир сатып алгыңыз келеби? Баруу:
Файлдарды жүктөп алыңыз:
МЕН ЖОК
Сунушталууда:
Arduino IDE жана Visuino менен ESP32 M5Stack StickCти кантип программалоо керек: 12 кадам
ESP32 M5Stack StickCти Arduino IDE жана Visuino менен кантип программалоо керек: Бул үйрөткүчтө биз ESP32 M5Stack StickCти Arduino IDE жана Visuino менен кантип программалоону үйрөнөбүз
DHT11 менен ESP32 негизделген M5Stack M5stick C аба ырайы монитору - DHT11 менен M5stick-Cдеги температуранын нымдуулугун жана жылуулук индексин көзөмөлдөңүз: 6 кадам
DHT11 менен ESP32 негизделген M5Stack M5stick C аба ырайы монитору | DHT11 менен M5stick-Cдеги температуранын нымдуулугун жана жылуулук индексин көзөмөлдөңүз: Салам балдар, бул көрсөтмөлөрдө биз DHT11 температура сенсорун m5stick-C менен (m5stack менен иштеп чыгуу тактасы) кантип интерфейс кылууну жана m5stick-C дисплейинде көрсөтүүнү үйрөнөбүз. Ошентип, бул үйрөткүчтө биз температураны, нымдуулукту & жылуулук мен
Arduino IDEди колдонуу менен M5stick C менен саат жасоо - M5stack M5stick-C менен RTC реалдуу убакыт сааты: 4 кадам
Arduino IDEди колдонуу менен M5stick C менен саат жасоо | R5 Real Time Clock With M5stack M5stick-C: Салам балдар бул көрсөтмөлөрдө биз m5stackтин m5stick-M5stack тактасы менен саат жасоону үйрөнөбүз, Arduino IDE.So m5stick күндү, убакытты көрсөтөт. дисплейде айдын жумасы
M5stack Esp32 негизделген M5stick C өнүктүрүү кеңеши менен Flappy Bird оюнун ойноо: 5 кадам
M5stack Esp32 негизделген M5stick C Development Board менен Flappy Bird оюнун ойноо: Саламатсыздарбы, бүгүн биз m5stack тарабынан берилген m5stick c өнүктүрүү тактасына flappy bird оюн кодун кантип жүктөөнү үйрөнөбүз. өнүктүрүү тактасы: https://www.utsource.net/itm/p/8663561.h
ESP32 жана OLED дисплейи: Интернет сааты - DHT22: 10 кадам (сүрөттөр менен)
ESP32 жана OLED дисплейи: Интернет сааты - DHT22: Бул Нускамалык конкурс: "GIFs Challenge 2017" конкурсуна катышат, эгер сизге жакса, жогорудагы баннерди чыкылдатып добуш бериңиз. Чоң рахмат! ;-) Бул үйрөткүч бул улуу IoT түзмөгү жөнүндө көбүрөөк билүү үчүн саякаттын уландысы