Πίνακας περιεχομένων:
- Βήμα 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 08:37
Ας μιλήσουμε σήμερα για ένα πολύ ιδιαίτερο ESP32, ιδανικό για το Διαδίκτυο των Πραγμάτων, το οποίο είναι το M5Stack. Περιέχει το ESP32 στο εσωτερικό και προσθέτει ακόμη και οθόνη, πληκτρολόγιο, ενισχυτή, ηχείο και μπαταρία. Έτσι, αυτή η συσκευή μπορεί να κάνει αμέτρητα πράγματα. Όταν έλαβα αυτό το υλικό, είχα ήδη λογισμικό για το ESP32 και το έφερα μόνο στην οθόνη που χρησιμοποιείται σε αυτό το έργο, το οποίο είναι διαφορετικό. Ωστόσο, ο πηγαίος κώδικας που θα χρησιμοποιήσουμε είναι ο ίδιος που χρησιμοποιείται στο βίντεό μας ΘΕΡΜΟΚΡΑΣΙΑ ΚΑΙ ΥΓΡΕΙΑ ΜΕ OLED ΟΘΟΝΗ.
Στο σημερινό κύκλωμα, θέλω συγκεκριμένα να τονίσω ότι έχουμε το M5Stack με θετικές και αρνητικές συνδέσεις, το οποίο τροφοδοτείται με αισθητήρα DHT22. Και τα δύο συνδέονται με GPIO. Τα δεδομένα εμφανίζονται στο γράφημα.
Σε αυτό το άρθρο, ας παρουσιάσουμε το M5Stack και να συζητήσουμε τις εφαρμογές του. Πρέπει να τονίσω ότι αυτή η συσκευή διαθέτει είσοδο για κάρτα micro SD, ηχείο 1W και υποδοχή μπαταρίας, ενώ διαθέτει επίσης κουμπιά αλληλεπίδρασης, υποδοχή i2c, USB τύπου C, εκτεθειμένα IO, οθόνη TFT δύο ιντσών, μεταξύ άλλων χαρακτηριστικών. Εμφανίζεται στην παραπάνω εικόνα. Μπορούμε να πούμε ότι αυτή η συσκευή είναι έτοιμη για IoT, καθώς έρχεται ήδη με Bluetooth και ESP32 WiFi. Περιλαμβάνει επίσης μαγνήτη για στερέωση σε μεταλλικές επιφάνειες.
Σας άρεσε το M5Stack; Κάντε κλικ:
Βήμα 1: M5Stack
Μια καινοτομία του M5Stack είναι ότι, αν αφαιρέσετε την πλάτη, μπορείτε να χωρέσετε σε διαφορετικές μονάδες με διαφορετικές λειτουργίες, όπως η μονάδα GPS, η GSM, η LoRa, μεταξύ άλλων. Αυτό φαίνεται στην εικόνα.
Έχω περισσότερα παραδείγματα μονάδων παρακάτω, που κυμαίνονται από RS485, DC Motor, Maker, Core, έως έλεγχο βηματικού κινητήρα.
Αυτός είναι στην πραγματικότητα ένας πολύ γρήγορος τρόπος για να δημιουργήσετε ένα πρωτότυπο. Τα παλιά χρόνια, ήταν απαραίτητο να αγοράσετε πολλά τσιπ τρανζίστορ και να εκτελέσετε πολυάριθμες συναρμολογήσεις, οι οποίες απαιτούσαν πολύ χρόνο και επένδυση. Μόνο μετά ήρθε το πρωτότυπο του προϊόντος. Thenταν τότε που εμφανίστηκαν τα Arduino και το Raspberry, τα οποία είναι πιάτα.
Τώρα, έχουμε τελικά το M5Stack, το οποίο είναι αυτό το έτοιμο προς χρήση κλειστό κουτί. Αυτό μας απαλλάσσει από το να κάνουμε άλλα αναρίθμητα βήματα.
Άλλα μοντέλα M5Stack εμφανίζονται στις εικόνες. Έχουμε μια συσκευή με αλφαριθμητικά, αριθμητικά και πληκτρολόγια παιχνιδιών. Αυτά σας επιτρέπουν να εργάζεστε σαν να είναι ένα είδος υπολογιστή. Έχουμε επίσης ένα παράδειγμα λειτουργίας λογισμικού, το οποίο μπορεί να προγραμματιστεί σε MicroPython, Arduino, ESP-IDF, NodeJS, εκτός από το Basic.
Βήμα 2: Πιθανές εφαρμογές M5Stack
Μεταξύ των παραδειγμάτων εφαρμογών M5Stack, έχουμε τον παλμογράφο, όπως μπορείτε να δείτε στην εικόνα. Έχουμε επίσης ένα είδος υπολογιστή / πίνακα εργαλείων κοπής.
Τι λέτε για ένα ταχύμετρο ποδηλάτου;
Μπορεί επίσης να είναι ένα απομακρυσμένο τρυπάνι, το οποίο εκτυπώνεται σε 3D και παρακολουθείται από απόσταση από ένα χειριστήριο.
Όλα αυτά δείχνουν ότι ο ηλεκτρονικός έλεγχος είναι πολύ πιο προσιτός αυτές τις μέρες, ακριβώς όπως ο προγραμματισμός αυτών των κυκλωμάτων έχει γίνει ευκολότερος.
Βήμα 3: M5Stack - Καρφίτσες
Το πίσω μέρος του M5Stack είναι σε αυτήν την εικόνα, η οποία δείχνει ότι η ισχύς είναι στα 5 βολτ. Η εικόνα αποκαλύπτει περαιτέρω ότι έχουμε όλα όσα υπάρχουν στο ESP32 με δυνατότητα σύνδεσης.
Βήμα 4: Βιβλιοθήκη DHT
Χρησιμοποιήστε το lib SimpleDHT, το οποίο είναι το ίδιο που χρησιμοποίησα στο βίντεο: ΘΕΡΜΟΚΡΑΣΙΑ ΚΑΙ ΥΓΡΑΣΙΑ ΜΕ OLED DISPLAY.
Βήμα 5: Διαχείριση βιβλιοθήκης Arduino IDE
Στο "Μενού: Σκίτσο -> Προσθήκη βιβλιοθήκης -> Διαχείριση βιβλιοθηκών", ας εγκαταστήσουμε τις δύο βιβλιοθήκες που εμφανίζονται στην παρακάτω εικόνα. Θυμηθείτε ότι πριν από όλα αυτά, πρέπει να εγκαταστήσετε τον πυρήνα Arduino του ESP32. Αυτό το βίντεο σας δείχνει πώς να το κάνετε αυτό: ΠΩΣ ΝΑ ΕΓΚΑΤΑΣΤΑΣΕΤΕ ΤΟ ARDUINO IDE ΣΤΟ ESP32.
Βήμα 6: Πηγαίος κώδικας
Ο πηγαίος κώδικας, όπως αναφέρθηκε, είναι ο ίδιος που χρησιμοποίησα στο βίντεο: ΓΡΑΦΕΙΟ ΘΕΡΜΟΚΡΑΣΙΑΣ ΜΕ OLED DISPLAY. Η μόνη αλλαγή που έκανα σε αυτό το έργο ήταν σε σχέση με το μέγεθος της οθόνης.
Βήμα 7: M5StackDHTGraph.ino
Θα συμπεριλάβουμε τις βιβλιοθήκες M5Stack.h και SimpleDHT.h και θα ορίσουμε τα χρώματα που χρησιμοποιούνται στην οθόνη, καθώς και την καρφίτσα δεδομένων DHT. Θα κατασκευάσουμε επίσης ένα αντικείμενο για επικοινωνία με τον αισθητήρα, θα ορίσουμε τη μεταβλητή που είναι υπεύθυνη για τις ενδείξεις και θα υποδείξουμε την τιμή του άξονα Χ.
// Libs do M5Stack e DHT #include #include // definição das cores que serão utilisadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFFFINDFINDOFFIN_FFIN // construtor do objeto para comunicar com o sensor SimpleDHT22 dht; // variável responsavel por contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Συνεχίζουμε με τους ορισμούς τοποθέτησης του άξονα Χ και του άξονα Υ, τις συντεταγμένες εμφάνισης δεδομένων θερμοκρασίας και υγρασίας, καθώς και τις μεταβλητές που θα αποθηκεύσουν τις τιμές που διαβάζονται. Ακόμα δείχνουμε τη μεταβλητή για την εκτύπωση του γραφήματος στην οθόνη.
// definições do posicionamento dos eixos X e Y #define POS_X_GRAFICO 30 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // definição da coordenada onde escreveremos os babosdeosfosos 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 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, 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 (ΛΕΥΚΟ); // 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:"); // indicando a umidade}
Βήμα 9: M5StackDHTGraph.ino - Βρόχος
Στο πρώτο μέρος του βρόχου, διαβάζουμε τη θερμοκρασία και την υγρασία, χαρτογραφούμε την τιμή των μεταβλητών για τοποθέτηση στο γράφημα και σχεδιάζουμε το σημείο στην οθόνη που αναφέρεται σε αυτές τις τιμές που διαβάζονται από τον αισθητήρα.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = 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. 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, ΜΑΥΡΟ);
// reposiciona o cursor para escrever a temperatura M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS); M5. Lcd.setTextColor (RED); M5. Lcd.print (temperatura); M5. Lcd.print ((char) 247); // reposiciona o cursor para escrever a 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; Θέλετε να αγοράσετε ένα; Μεταβείτε στη διεύθυνση:
Κατεβάστε τα αρχεία:
ΕΓΩ ΔΕΝ
Συνιστάται:
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: Η φίλη μου ήθελε ένα θερμοκήπιο, οπότε της έκανα ένα. Αλλά ήθελα έναν αισθητήρα θερμοκρασίας και υγρασίας μέσα στο θερμοκήπιο. Έτσι, έψαξα στο Google για παραδείγματα και άρχισα να πειραματίζομαι. Το συμπέρασμά μου ήταν ότι όλα τα παραδείγματα που βρήκα δεν ήταν ακριβώς
Πώς να προγραμματίσετε το ESP32 M5Stack StickC με Arduino IDE και Visuino: 12 βήματα
Πώς να προγραμματίσετε το ESP32 M5Stack StickC με Arduino IDE και Visuino: Σε αυτό το σεμινάριο θα μάθουμε πώς να προγραμματίζουμε το ESP32 M5Stack StickC με Arduino IDE και Visuino. Δείτε ένα βίντεο επίδειξης
Δημιουργήστε μια συσκευή Apple HomeKit Temperature Sensor (DHT22) χρησιμοποιώντας μια RaspberryPI και μια DHT22: 11 βήματα
Δημιουργήστε μια συσκευή Apple HomeKit Temperature Sensor (DHT22) χρησιμοποιώντας μια RaspberryPI και μια DHT22: Έψαχνα για έναν χαμηλού κόστους αισθητήρα θερμοκρασίας / υγρασίας που θα μπορούσα να χρησιμοποιήσω για να παρακολουθήσω τι συμβαίνει στον ανιχνευτικό μου χώρο, καθώς διαπίστωσα ότι αυτή την άνοιξη ήταν πολύ υγρό , και είχε πολύ υγρασία. Έτσι έψαχνα έναν αισθητήρα σε λογικές τιμές που θα μπορούσα να
ESP32 και οθόνη OLED: Internet Clock - DHT22: 10 βήματα (με εικόνες)
ESP32 και OLED Display: Internet Clock - DHT22: This Instructable διαγωνίζεται σε διαγωνισμό: " GIFs Challenge 2017 ", Αν σας αρέσει, δώστε την ψήφο σας κάνοντας κλικ στο παραπάνω banner. Ευχαριστώ πολύ! ;-) Αυτό το σεμινάριο είναι η συνέχεια ενός ταξιδιού για να μάθετε περισσότερα για αυτό το υπέροχο devic του IoT