Სარჩევი:
- ნაბიჯი 1: M5Stack
- ნაბიჯი 2: M5Stack შესაძლო პროგრამები
- ნაბიჯი 3: M5Stack - ქინძისთავები
- ნაბიჯი 4: DHT ბიბლიოთეკა
- ნაბიჯი 5: Arduino IDE ბიბლიოთეკის მართვა
- ნაბიჯი 6: საწყისი კოდი
- ნაბიჯი 7: M5StackDHTGraph.ino
- ნაბიჯი 8: M5StackDHTGraph.ino - დაყენება
- ნაბიჯი 9: M5StackDHTGraph.ino - მარყუჟი
- ნაბიჯი 10: ფაილები
ვიდეო: ESP32: M5Stack DHT22– ით: 10 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
მოდით ვისაუბროთ დღეს ძალიან განსაკუთრებულ 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 Motor, Maker, Core, სტეპერიანი ძრავის კონტროლით.
ეს არის ძალიან სწრაფი გზა პროტოტიპის შესაქმნელად. ძველ დღეებში საჭირო იყო რამდენიმე ტრანზისტორი ჩიპის ყიდვა და მრავალი შეკრების შესრულება, რაც დიდ დროს და ინვესტიციას მოითხოვდა. მხოლოდ მას შემდეგ მოვიდა პროდუქტის პროტოტიპირება. სწორედ მაშინ გამოჩნდა არდუინო და ჟოლო, რომლებიც ფირფიტებია.
ახლა, ჩვენ საბოლოოდ გვაქვს M5Stack, რომელიც არის მზა გამოყენებისთვის დახურული ყუთი. ეს გვათავისუფლებს სხვა უთვალავი ნაბიჯის გადადგმისგან.
სხვა M5Stack მოდელები ნაჩვენებია სურათებში. ჩვენ გვაქვს მოწყობილობა ალფანუმერული, რიცხვითი და თამაშის კლავიშებით. ეს საშუალებას გაძლევთ იმუშაოთ, თითქოს ეს არის ერთგვარი კომპიუტერი. ჩვენ ასევე გვაქვს პროგრამული უზრუნველყოფის გაშვების მაგალითი, რომელიც შეიძლება დაპროგრამდეს MicroPython, Arduino, ESP-IDF, NodeJS, გარდა Basic.
ნაბიჯი 2: M5Stack შესაძლო პროგრამები
M5Stack პროგრამების მაგალითებს შორის ჩვენ გვაქვს oscilloscope, როგორც ხედავთ სურათზე. ჩვენ ასევე გვაქვს ერთგვარი კალკულატორი / საჭრელი ხელსაწყოს მაგიდა.
ველოსიპედის სიჩქარეზე რას იტყვით?
ის ასევე შეიძლება იყოს დისტანციური საბურღი, რომელიც იბეჭდება 3D- ში და კონტროლდება დისტანციურად კონტროლით.
ეს ყველაფერი აჩვენებს, რომ ელექტრონიკის კონტროლი ბევრად უფრო ხელმისაწვდომია ამ დღეებში, ისევე როგორც ამ სქემების დაპროგრამება უფრო ადვილი გახდა.
ნაბიჯი 3: M5Stack - ქინძისთავები
M5Stack– ის უკანა ნაწილი ამ სურათზეა, რაც აჩვენებს, რომ სიმძლავრე 5 ვოლტზეა. სურათი კიდევ უფრო ცხადყოფს, რომ ჩვენ გვაქვს ყველაფერი რაც არსებობს ESP32– ში კავშირით.
ნაბიჯი 4: DHT ბიბლიოთეკა
გამოიყენეთ SimpleDHT lib, რომელიც იგივეა რაც მე ვიდეოში გამოვიყენე: ტემპერატურა და ტენიანობა OLED ეკრანით.
ნაბიჯი 5: Arduino IDE ბიბლიოთეკის მართვა
"მენიუში: ესკიზი -> ბიბლიოთეკის დამატება -> ბიბლიოთეკების მართვა", მოდით დავაყენოთ ქვემოთ მოცემულ სურათზე ნაჩვენები ორი ბიბლიოთეკა. გახსოვდეთ, რომ ამ ყველაფრის დაწყებამდე თქვენ უნდა დააინსტალიროთ ESP32- ის Arduino ბირთვი. ეს ვიდეო გიჩვენებთ თუ როგორ უნდა გააკეთოთ ეს: როგორ დააინსტალიროთ ARDUINO IDE ESP32- ში.
ნაბიჯი 6: საწყისი კოდი
წყაროს კოდი, როგორც აღვნიშნეთ, იგივეა, რაც ვიდეოში გამოვიყენე: TEMPERATURE GRAPH 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 utilisadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #definine YELLOW 0xFFE0 #define WHITE 0xFFFF # // კონსტრუქტორი კომუნიკაციისთვის ან სენსორის SimpleDHT22 dht; // variável responsavel for contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
ჩვენ ვაგრძელებთ X ღერძის და Y ღერძის პოზიციონირების განმარტებებს, ტემპერატურისა და ტენიანობის მონაცემების ჩვენების კოორდინატებს, ასევე ცვლადებს, რომლებიც ინახავს წაკითხულ მნიშვნელობებს. ჩვენ კვლავ ვნიშნავთ ცვლადს ეკრანზე დიაგრამის დასაბეჭდად.
// დეფინიციები აკეთებენ პოზიტიურად dos eixos X e Y #განსაზღვრეთ POS_X_GRAFICO 30 #განსაზღვრეთ POS_Y_GRAFICO 3 #განსაზღვრეთ ALTURA_GRAFICO 180 #განსაზღვრეთ კომპრესი que armazenarão os valores lidos da umidade e temperatura 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 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, width, color) 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); // კონფიგურაცია 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:"); // მიუთითეთ ტემპერატურა 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); if (სტატუსი == 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. 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 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.cc.print (temperatura); M5.cd.print ((char) 247); // კურსორის გაფართოება ამომრჩევლისთვის M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5.cd.print (umidade); 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 გამოყენებით: ჩემს შეყვარებულს უნდოდა სათბური, ამიტომ მე მას შევქმენი. მე მინდოდა ტემპერატურისა და ტენიანობის სენსორი სათბურის შიგნით. ასე რომ, მე გუგლში მოვიძიე მაგალითები და დავიწყე ექსპერიმენტები. ჩემი დასკვნა იყო, რომ ყველა მაგალითი, რაც მე ვიპოვე, არ იყო ზუსტად ის, რაც
როგორ დავგეგმოთ 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 devic– ის შესახებ