Mündəricat:
- Addım 1: M5Stack
- Addım 2: M5Stack Mümkün Proqramlar
- Addım 3: M5Stack - Pins
- Addım 4: DHT Kitabxanası
- Addım 5: Arduino IDE Kitabxana İdarə Edin
- Addım 6: Mənbə Kodu
- Addım 7: M5StackDHTGraph.ino
- Addım 8: M5StackDHTGraph.ino - Quraşdırma
- Addım 9: M5StackDHTGraph.ino - Döngə
- Addım 10: Fayllar
Video: ESP32: DHT22 ilə M5Stack: 10 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu gün M5Stack olan Əşyaların İnterneti üçün mükəmməl olan çox xüsusi bir ESP32 haqqında danışaq. İçərisində ESP32 var və hətta ekrana, klaviaturaya, gücləndiriciyə, dinamikə və batareyaya əlavə edir. Beləliklə, bu cihaz saysız -hesabsız işlər görə bilər. Bu aparatı alanda artıq ESP32 üçün proqram təminatım var idi və yalnız bu layihədə istifadə olunan ekrana köçürülürdüm ki, bu da fərqlidir. Ancaq istifadə edəcəyimiz mənbə kodu OLED EKRANLI VİDEO SICAKLIĞI VƏ NEMLİYİMİZdə istifadə olunan kodla eynidir.
Bugünkü dövrədə, xüsusi olaraq vurğulamaq istəyirəm ki, özünü DHT22 sensoru ilə bəsləyən müsbət və mənfi əlaqələri olan M5Stack -ə sahibik. Hər ikisi bir GPIO ilə bağlanır. Məlumatlar qrafikdə göstərilir.
Bu yazıda M5Stack -i təqdim edək və tətbiqlərini müzakirə edək. Vurğulamaq lazımdır ki, bu cihazda mikro SD kart, 1W dinamik və batareya yuvası üçün giriş var, eyni zamanda qarşılıqlı əlaqə düymələri, i2c konnektoru, USB tip C, ifşa edilmiş IOs, iki düymlük TFT ekranı, digər xüsusiyyətlər arasında. Yuxarıdakı şəkildə göstərilmişdir. Bu cihazın artıq Bluetooth və ESP32 WiFi ilə birlikdə gəldiyi üçün IoT üçün hazır olduğunu söyləyə bilərik. Metal səthlərə yapışdırmaq üçün bir maqnit də daxildir.
M5Stack xoşunuza gəldi? Basın:
Addım 1: M5Stack
M5Stack -in bir yeniliyi, arxadan çıxarsanız, GPS modulu, GSM, LoRa və digərləri kimi fərqli funksiyaları olan fərqli modullara sığa bilərsiniz. Bu görüntüdə göstərilir.
Aşağıda RS485, DC Motor, Maker, Core, step motor nəzarətinə qədər daha çox modul nümunəm var.
Bu, əslində bir prototip hazırlamaq üçün çox sürətli bir yoldur. Köhnə günlərdə bir neçə tranzistor çipi almaq və çox vaxt və investisiya tələb edən çoxsaylı montajlar etmək lazım idi. Məhsulun prototiplənməsi yalnız bundan sonra baş verdi. Məhz o zaman plitələr olan Arduino və Raspberry ortaya çıxdı.
İndi nəhayət M5Stack var, bu istifadəyə hazır qapalı qutu. Bu, bizi digər saysız -hesabsız addımlar atmaq məcburiyyətindən azad edir.
Digər M5Stack modelləri şəkillərdə göstərilmişdir. Alfasayısal, sayısal və oyun klaviaturaları olan bir cihazımız var. Bunlar sanki bir növ kompüter kimi işləməyə imkan verir. Basic-ə əlavə olaraq MicroPython, Arduino, ESP-IDF, NodeJS-də proqramlaşdırıla bilən proqram çalışan bir nümunəmiz də var.
Addım 2: M5Stack Mümkün Proqramlar
M5Stack tətbiqlərinin nümunələri arasında, şəkildə gördüyünüz kimi osiloskopumuz var. Həm də bir növ kalkulyator / kəsici alət masamız var.
Bəs velosiped sürəti haqqında nə demək olar?
Həm də 3D -də çap olunan və bir idarəetmə vasitəsi ilə uzaqdan izlənilən uzaqdan qazma ola bilər.
Bütün bunlar göstərir ki, elektronik idarəetmə bu dövrələrin proqramlaşdırılması asanlaşdığı kimi, bu günlərdə də daha əlverişlidir.
Addım 3: M5Stack - Pins
M5Stack -in arxası bu görüntüdədir ki, bu da gücün 5 volt olduğunu göstərir. Görüntü, ESP32 -də əlaqəli olan hər şeyə sahib olduğumuzu göstərir.
Addım 4: DHT Kitabxanası
Videoda istifadə etdiyim eyni olan SimpleDHT libini istifadə edin: OLED EKRANLI SICAKLIQ VE NEMLİK.
Addım 5: Arduino IDE Kitabxana İdarə Edin
"Menyu: Eskiz -> Kitabxana Əlavə et -> Kitabxanaları İdarə et" bölməsində, aşağıda göstərilən şəkildə göstərilən iki kitabxananı quraşdıraq. Unutmayın ki, bütün bunlardan əvvəl ESP32 -nin Arduino nüvəsini quraşdırmalısınız. Bu video bunu necə edəcəyinizi göstərir. it: ESP32 -də ARDUINO IDE NECƏ QURULUR.
Addım 6: Mənbə Kodu
Mənbə kodu, qeyd edildiyi kimi, videoda istifadə etdiyim kimidir: OLED EKRANLI TEMPERATURE GRAPH. Bu layihədə etdiyim tək dəyişiklik ekranın ölçüsü ilə əlaqədar idi.
Addım 7: M5StackDHTGraph.ino
M5Stack.h və SimpleDHT.h kitabxanalarını daxil edəcəyik və ekranda istifadə olunan rəngləri, həmçinin DHT məlumat pinini təyin edəcəyik. Sensorla ünsiyyət üçün bir obyekt quracağıq, oxunuşlardan məsul olan dəyişəni təyin edəcəyik və X oxunun dəyərini göstərəcəyik.
// 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 SARI 0xFFE0 #defineDefineDefineDefineDefineDefineDefineDefineDefineDefineDefineDefine5d // SimpleDHT22 texnologiyası ilə əlaqəli qurucular; // dəyişikliyə cavab vermək üçün heç bir nəticə əldə edilməmişdir, heç bir X X leituraAtual = 1;
X oxu və Y oxu yerləşdirmə tərifləri, temperatur və rütubət məlumatlarının göstərilmə koordinatları və oxunan dəyərləri saxlayacaq dəyişənlərlə davam edirik. Diaqramı ekranda çap etmək üçün hələ də dəyişənə işarə edirik.
// pososionamento dos eixos X e Y #müəyyən POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // defineção da coordenada onde escreveremos PD_DOS_DOS_DOS_DOS_Design hər hansı bir problemi həll etmək mümkün deyil = 0; int temperatura = 0; // dəyişmədən əvvəl hər hansı bir iş görməməzlikdən gəlinməmişdir // məsələn, hər biri 1 dəfə linhaExemplo = 20; int fator = 1; // indará se somaremos ou subtrairemos induá unidade na variável linhaExemplo
Addım 8: M5StackDHTGraph.ino - Quraşdırma
Quraşdırmada M5Stack -i işə salırıq. Qrafiki çəkmək, yazı tipini, mətn rənglərini konfiqurasiya etmək və yazmaq üçün kursoru yerləşdirmək üçün əmrlər təyin edirik.
void setup (void) {Serial.begin (115200); // Məlumatlandırma və ya M5Stack M5.begin (); // əvvəllər M5. Lcd.fillScreen (SİYAH) yazmaq lazımdır; // os comandos a desinhar as many as a linchas dos eixos cartesianos na corban // drawFastVLine (x, y, width, color) linha vertical M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHO) // eixo Y // drawFastHLine (x, y, en, rəng) linha üfüqi M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, BEYAZ); // eixo X // konfiqurasiya etmək üçün M5. Lcd.setTextSize (3) ilə əlaqə qurun; // M5. Lcd.setTextColor (BEYAZ) üçün mətnin konfiqurasiyası; // M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS) üçün işarələr; M5. Lcd.print ("T:"); // bir temperatur M5. Lcd.setCursor göstərin (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // indicando a umidade}
Addım 9: M5StackDHTGraph.ino - Döngə
Döngənin birinci hissəsində temperatur və rütubəti oxuyuruq, qrafikə yerləşdirmək üçün dəyişənlərin dəyərini xəritəyə qoyuruq və ekrandan sensordan oxunan bu dəyərlərə aid olan nöqtəni çəkirik.
void loop () {// Fazemos a leitura da temperatura və bir neçə dəfə üzmək tempi, ümid; int statusu = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; ümidad = ümid; } // 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 // grafiko // umidade pode 0-100 int temperaturaMapeada = xəritə (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = xəritə (umidade, 0, 100, 0, ALTURA_GRAFICO); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, QIRMIZI) sensoru ilə əlaqəli hər hansı bir məlumat yoxdur; M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, SARI);
Sonra qrafiki ekranda çap etmək imkanlarını müəyyənləşdiririk.
// sui linro de exemplo, quando chega no valirá máximo decrementamos o valor // até um valor mínimo determinado (no no caso 10), a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; başqa əgər (linhaExemplo == 10) fator = 1; // linhaExemplo linhaExemplo += fator; // artım və ya artım realizadas leituraAtual ++; // 270 (eixo do eixo X) əməliyyat sistemini məhdudlaşdırmaq üçün bir məhdudiyyət qoyun. if (leituraAtual == 270) {// limfa 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, SİYAH);
// M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS) temperatura keçmək üçün imlecin saxlanılması; M5. Lcd.setTextColor (QIRMIZI); M5. Lcd. çap (temperatura); M5. Lcd.print ((char) 247); // M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS) üçün bir imlecin saxlanılması; M5. Lcd.setTextColor (CYAN); M5. Lcd.çap (ümidad); M5. Lcd.print ("%"); gecikmə (1000); }
Addım 10: Fayllar
M5Stack xoşunuza gəldi? Bir almaq istəyirsiniz? Gedin:
Faylları yükləyin:
MƏN YOX
Tövsiyə:
Arduino IDE və Visuino ilə ESP32 M5Stack StickC -ni necə proqramlaşdırmaq olar: 12 addım
ESP32 M5Stack StickC -ni Arduino IDE və Visuino ilə necə proqramlaşdırmaq olar: Bu təlimatda ESP32 M5Stack StickC -ni Arduino IDE və Visuino ilə necə proqramlaşdıracağımızı öyrənəcəyik
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
Arduino IDE -dən istifadə edərək M5stick C ilə Saat Yaratmaq - M5stack M5stick-C ilə RTC Real Zaman Saatı: 4 addım
Arduino IDE -dən istifadə edərək M5stick C ilə Saat Yaratmaq | M5stack M5stick-C ilə RTC Real Time Clock: Salam uşaqlar bu təlimatlarda Arduino IDE istifadə edərək m5stack-in m5stick-C inkişaf lövhəsi ilə bir saat düzəltməyi öyrənəcəyik. Beləliklə m5stick tarix, vaxt və amp göstərəcək; ekranda ayın həftəsi
M5stack Esp32 əsaslı M5stick C İnkişaf etdirmə Paneli ilə Flappy Bird Oyunu Oynamaq: 5 addım
M5stack Esp32 əsaslı M5stick C İnkişaf etdirmə Paneli ilə Flappy Bird Oyunu Oynamaq: Salam uşaqlar bu gün m5stack tərəfindən təqdim olunan m5stick c inkişaf lövhəsinə flappy quş oyun kodunun necə yüklənəcəyini öyrənəcəyik. Bu kiçik layihə üçün aşağıdakı iki şeyə ehtiyacınız olacaq: m5stick-c inkişaf lövhəsi: https://www.utsource.net/itm/p/8663561.h
RaspberryPI və DHT22 istifadə edərək Apple HomeKit İstilik Sensoru (DHT22) Cihazı qurun: 11 addım
RaspberryPI və DHT22 istifadə edən bir Apple HomeKit İstilik Sensoru (DHT22) Cihazı qurun: Tarama sahəmdə baş verənləri izləmək üçün istifadə edə biləcəyim aşağı qiymətli bir temperatur / rütubət sensoru axtarırdım, çünki bu yaz çox nəm idi. və çoxlu nəm var idi. Odur ki, qiymətlərimi dəqiqləşdirə biləcəyim bir qiymətli sensor axtarırdım