Բովանդակություն:
- Քայլ 1: M5Stack
- Քայլ 2: M5Stack Հնարավոր ծրագրեր
- Քայլ 3: M5Stack - կապում
- Քայլ 4: DHT գրադարան
- Քայլ 5. Arduino IDE գրադարանի կառավարում
- Քայլ 6: Աղբյուրի կոդ
- Քայլ 7: M5StackDHTGraph.ino
- Քայլ 8: M5StackDHTGraph.ino - Կարգավորում
- Քայլ 9: M5StackDHTGraph.ino - հանգույց
- Քայլ 10: Ֆայլեր
Video: ESP32: M5Stack DHT22- ով `10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Եկեք այսօր խոսենք շատ յուրահատուկ ESP32- ի մասին, որը կատարյալ է իրերի ինտերնետի համար, որը M5Stack- ն է: Այն պարունակում է ESP32 ներսում և նույնիսկ ավելացնում է դիսփլեյը, ստեղնաշարը, ուժեղացուցիչը, բարձրախոսը և մարտկոցը: Այսպիսով, այս սարքը կարող է անհամար բաներ անել: Երբ ես ստացա այս ապարատը, ես արդեն ունեի ծրագրակազմ ESP32- ի համար և միայն տեղափոխվեցի այս նախագծում օգտագործվող էկրանին, որը տարբերվում է: Այնուամենայնիվ, այն աղբյուրը, որը մենք կօգտագործենք, նույնն է, ինչ օգտագործվում է մեր տեսաերիզում EMԵՐՄԱՈՈ ANDԹՅՈ ANDՆ ԵՎ ԽՈIDՄՈ OԹՅՈՆԸ ՕԼԵԴ ISՈԱԴՐՈԹՅՈՆՈՎ:
Այսօրվա շղթայում ես հատուկ ուզում եմ շեշտել, որ մենք ունենք դրական և բացասական կապերով M5Stack, որն ինքն իրեն սնվում է DHT22 սենսորով: Երկուսն էլ միացված են GPIO- ով: Տվյալները ցուցադրվում են գծապատկերում:
Այս հոդվածում եկեք ներկայացնենք M5Stack- ը և քննարկենք դրա կիրառությունները: Պետք է շեշտեմ, որ այս սարքն ունի մուտքագրում միկրո SD քարտի, 1W բարձրախոսի և մարտկոցի վարդակի համար, ինչպես նաև ունի փոխազդեցության կոճակներ, i2c միակցիչ, USB տիպի C, բաց IOs, երկու դյույմանոց TFT էկրան, ի թիվս այլ հատկանիշների: Այն ցույց է տրված վերևի նկարում: Կարող ենք ասել, որ այս սարքը պատրաստ է IoT- ի համար, քանի որ այն արդեն գալիս է Bluetooth- ով և ESP32 WiFi- ով: Այն ներառում է նաև մագնիս `մետաղական մակերեսներին ամրացնելու համար:
Ձեզ դուր եկավ M5Stack- ը: Կտտացրեք ՝
Քայլ 1: M5Stack
M5Stack- ի նորամուծություններից մեկն այն է, որ մեջքը հանելիս կարող եք տեղավորվել տարբեր գործառույթներով տարբեր մոդուլներում, ինչպիսիք են GPS մոդուլը, GSM- ը, LoRa- ն և այլն: Սա պատկերված է պատկերում:
Ստորև ես ունեմ մոդուլների ավելի շատ օրինակներ ՝ RS485- ից, DC Motor- ից, Maker- ից, Core- ից մինչև stepper շարժիչի կառավարում:
Սա իրականում շատ արագ միջոց է նախատիպը հավաքելու համար: Հին ժամանակներում անհրաժեշտ էր գնել մի քանի տրանզիստորային չիպսեր և կատարել բազմաթիվ հավաքներ, ինչը պահանջում էր շատ ժամանակ և ներդրումներ: Միայն դրանից հետո եկավ արտադրանքի նախատիպը: Այդ ժամանակ հայտնվեցին Արդուինոն և Ազնվամորին, որոնք ափսեներ են:
Այժմ, վերջապես, ունենք M5Stack- ը, որն այս պատրաստի օգտագործման փակ տուփն է: Սա մեզ ազատում է այլ անհամար քայլեր կատարելուց:
M5Stack- ի այլ մոդելներ ցուցադրվում են պատկերներով: Մենք ունենք սարք, որն ունի այբբենական, թվային և խաղային ստեղնաշարեր: Սրանք թույլ են տալիս աշխատել այնպես, կարծես դա համակարգչի մի տեսակ է: Մենք ունենք նաև ծրագրակազմի գործարկման օրինակ, որը կարելի է ծրագրավորել MicroPython- ում, Arduino- ում, ESP-IDF- ում, NodeJS- ում, բացի Basic- ից:
Քայլ 2: M5Stack Հնարավոր ծրագրեր
M5Stack հավելվածների օրինակներից մենք ունենք oscilloscope, ինչպես տեսնում եք նկարում: Մենք ունենք նաև մի տեսակ հաշվիչ / կտրող գործիքների սեղան:
Ի՞նչ կասեք հեծանիվի արագաչափի մասին:
Այն կարող է լինել նաև հեռավոր փորվածք, որը տպվում է 3D ձևաչափով և վերահսկվում է հեռակառավարման վահանակով:
Այս ամենը ցույց է տալիս, որ էլեկտրոնիկայի հսկողությունն այս օրերին շատ ավելի մատչելի է, ճիշտ այնպես, ինչպես այդ սխեմաների ծրագրավորումը դարձել է ավելի դյուրին:
Քայլ 3: M5Stack - կապում
M5Stack- ի հետևը այս պատկերում է, ինչը ցույց է տալիս, որ հզորությունը 5 վոլտ է: Պատկերը հետագայում բացահայտում է, որ մենք ունենք այն ամենը, ինչ գոյություն ունի ESP32- ում `միացման հնարավորությամբ:
Քայլ 4: DHT գրադարան
Օգտագործեք SimpleDHT lib- ը, որը նույնն է, ինչ ես օգտագործել եմ տեսանյութում. EMերմաստիճանը և խոնավությունը ՝ OLED ցուցադրմամբ:
Քայլ 5. Arduino IDE գրադարանի կառավարում
«Մենյու. Ուրվագիծ -> Ավելացնել գրադարան -> կառավարել գրադարանները», եկեք տեղադրենք ստորև ներկայացված պատկերում պատկերված երկու գրադարանները: Հիշեք, որ այս ամենից առաջ անհրաժեշտ է տեղադրել ESP32- ի Arduino միջուկը: Այս տեսանյութը ցույց է տալիս, թե ինչպես դա անել: այն. ԻՆՉՊԵՍ տեղադրել ARDUINO IDE- ն ESP32- ում:
Քայլ 6: Աղբյուրի կոդ
Աղբյուրի կոդը, ինչպես նշվեց, նույնն է, ինչ ես օգտագործել եմ տեսանյութում. Այս նախագծում միակ փոփոխությունը վերաբերում էր ցուցադրման չափին:
Քայլ 7: M5StackDHTGraph.ino
Մենք կներառենք M5Stack.h և SimpleDHT.h գրադարանները, և մենք կսահմանենք ցուցադրման մեջ օգտագործվող գույները, ինչպես նաև DHT տվյալների քորոցը: Մենք նաև կկառուցենք սենսորի հետ հաղորդակցության օբյեկտ, կսահմանենք ընթերցումների համար պատասխանատու փոփոխականը և ցույց կտանք X առանցքի արժեքը:
// Libs do M5Stack e DHT #include #include // definição das cores que serão useisadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #definine YELLOW 0xFFE0 #define WHITE 0xFFFFFIN // կոնստրուկտորը պետք է օգտագործի կոմունիկատոր կամ սենսոր 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 առանցքի դիրքավորման սահմանումները, ջերմաստիճանի և խոնավության տվյալների ցուցադրման կոորդինատները, ինչպես նաև այն փոփոխականները, որոնք կպահեն ընթերցված արժեքները: Մենք դեռ մատնանշում ենք էկրանին գծապատկերը տպելու փոփոխականը:
// definições do posicionamento dos eixos X e Y #սահմանել POS_X_GRAFICO 30 #սահմանել POS_Y_GRAFICO 3 #սահմանել ALTURA_GRAFICO 180 #սահմանել COMPRIMENTO_GRAFICO 270 // definição da koordenada onde escreveremos os dadosdeosf que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 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 na variável linha Աշխատանք
Քայլ 8: M5StackDHTGraph.ino - Կարգավորում
Setup- ում մենք նախաստորագրում ենք M5Stack- ը: Մենք սահմանում ենք գրաֆիկի գծման հրամաններ, կարգավորում ենք տառատեսակը, ինչպես նաև տեքստի գույները և տեղադրում ենք կուրսորը գրելու համար:
void setup (void) {Serial.begin (115200); // Inicializa o M5Stack M5. սկսել (); // 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 horizontal M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, WHITE); // eixo X // configura o tamnaho do texto que escreveremos em tela M5. Lcd.setTextSize (3); // configura a cor branca para o texto M5. Lcd.setTextColor (WHITE); // posiciona o cursor para escrita 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:»); // նշեք umidade}
Քայլ 9: M5StackDHTGraph.ino - հանգույց
Օղակի առաջին մասում մենք կարդում ենք ջերմաստիճանը և խոնավությունը, քարտեզագրում փոփոխականների արժեքը գրաֆիկի վրա տեղադրելու համար և էկրանին գծում այն կետը, որը վերաբերում է սենսորից կարդացած այս արժեքներին:
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int կարգավիճակ = dht.read2 (DHTPIN, & temp, & umid, NULL); եթե (կարգավիճակը == SimpleDHTErrSuccess) {temperatura = temp; umidade = umid; } // 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 o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = քարտեզ (ջերմաստիճան, 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 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 decmentamos o valor // até um valor mínimo determinado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; այլապես եթե (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // incrementa o 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. եթե (leituraAtual == 270) {// limpa a torea 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 para 1 (nova coordenada X)} // limpa a área onde colocamos o valor da temperatura e da 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 (temperatura); M5. Lcd.print ((char) 247); // ցուցիչ կամ կուրսորը հանելու համար umidade M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.print (umidade); M5. Lcd.print («%»); ուշացում (1000); }
Քայլ 10: Ֆայլեր
Ձեզ դուր եկավ M5Stack- ը: Wantանկանում եք գնել մեկը: Գնացեք ՝
Ներբեռնեք ֆայլերը.
ԻՆՈ
Խորհուրդ ենք տալիս:
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 քայլ
SPերմաստիճանը և խոնավությունը ESP32-DHT22-MQTT-MySQL-PHP- ի միջոցով. Իմ ընկերուհին ցանկանում էր ջերմոց օգտագործել, ուստի ես նրան պատրաստեցի: Բայց ես ուզում էի, որ ջերմոցի և խոնավության ցուցիչն ապակու ներսում լիներ: Այսպիսով, ես փնտրեցի օրինակներ և սկսեցի փորձեր կատարել: Իմ եզրակացությունն այն էր, որ իմ գտած բոլոր օրինակները հենց այն չէին, ինչ
Ինչպես ծրագրավորել 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- ի այս հիանալի դևիկի մասին ավելին իմանալու համար