جدول المحتويات:
- الخطوة 1: M5Stack
- الخطوة 2: تطبيقات M5Stack الممكنة
- الخطوة 3: M5Stack - دبابيس
- الخطوة 4: مكتبة DHT
- الخطوة 5: إدارة مكتبة Arduino IDE
- الخطوة 6: كود المصدر
- الخطوة 7: M5StackDHTGraph.ino
- الخطوة 8: M5StackDHTGraph.ino - الإعداد
- الخطوة 9: M5StackDHTGraph.ino - Loop
- الخطوة 10: الملفات
فيديو: ESP32: M5Stack مع DHT22: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
لنتحدث اليوم عن ESP32 خاص جدًا ، مثالي لإنترنت الأشياء ، وهو M5Stack. يحتوي على ESP32 بالداخل ويضيف حتى على الشاشة ولوحة المفاتيح ومكبر الصوت ومكبر الصوت والبطارية. وبالتالي ، يمكن لهذا الجهاز القيام بأشياء لا حصر لها. عندما تلقيت هذا الجهاز ، كان لدي بالفعل برنامج لـ ESP32 وتم نقله فقط إلى الشاشة المستخدمة في هذا المشروع ، وهو أمر مختلف. ومع ذلك ، فإن الكود المصدري الذي سنستخدمه هو نفسه المستخدم في درجة حرارة الفيديو والرطوبة مع شاشة OLED.
في دائرة اليوم ، أريد على وجه التحديد أن أؤكد أن لدينا M5Stack مع اتصالات إيجابية وسلبية ، والتي تغذي نفسها بمستشعر DHT22. كلاهما متصل بواسطة GPIO. يتم عرض البيانات في الرسم البياني.
في هذه المقالة ، دعنا نقدم M5Stack ونناقش تطبيقاته. أحتاج إلى التأكيد على أن هذا الجهاز يحتوي على مدخل لبطاقة micro SD ، ومكبر صوت 1 واط ، ومقبس بطارية ، ويحتوي أيضًا على أزرار تفاعل ، وموصل i2c ، و USB من النوع C ، و IOs مكشوفة ، وشاشة TFT بحجم 2 بوصة ، من بين ميزات أخرى. يظهر في الصورة أعلاه. يمكننا القول أن هذا الجهاز جاهز لـ IoT ، لأنه يأتي بالفعل مع Bluetooth و ESP32 WiFi. يتضمن أيضًا مغناطيسًا للتثبيت على الأسطح المعدنية.
هل أحببت M5Stack؟ انقر فوق:
الخطوة 1: M5Stack
يتمثل أحد ابتكارات M5Stack في أنه إذا خلعت الجزء الخلفي ، يمكنك تركيب وحدات مختلفة بوظائف مختلفة ، مثل وحدة GPS و GSM و LoRa وغيرها. يظهر هذا في الصورة.
لدي المزيد من الأمثلة على الوحدات أدناه ، بدءًا من RS485 ، و DC Motor ، و Maker ، و Core ، إلى التحكم في محرك السائر.
هذه في الواقع طريقة سريعة جدًا لتجميع نموذج أولي. في الأيام الخوالي ، كان من الضروري شراء العديد من رقائق الترانزستور وإجراء العديد من التجميعات ، الأمر الذي يتطلب الكثير من الوقت والاستثمار. فقط بعد ظهور النماذج الأولية للمنتج. عندها ظهر Arduino و Raspberry ، وهما لوحات.
الآن ، لدينا أخيرًا M5Stack ، وهو صندوق مغلق جاهز للاستخدام. هذا يحررنا من الاضطرار إلى القيام بخطوات أخرى لا حصر لها.
يتم عرض موديلات M5Stack الأخرى في الصور. لدينا جهاز به لوحات مفاتيح أبجدية رقمية وأرقام ولعبة. يتيح لك ذلك العمل كما لو كان نوعًا من أجهزة الكمبيوتر. لدينا أيضًا مثال على البرامج قيد التشغيل ، والتي يمكن برمجتها في MicroPython و Arduino و ESP-IDF و NodeJS ، بالإضافة إلى Basic.
الخطوة 2: تطبيقات M5Stack الممكنة
من بين أمثلة تطبيقات M5Stack ، لدينا راسم الذبذبات ، كما ترون في الصورة. لدينا أيضًا نوع من طاولة الآلة الحاسبة / أدوات القطع.
ماذا عن عداد السرعة للدراجة؟
يمكن أن يكون أيضًا تمرينًا عن بُعد ، يتم طباعته بأبعاد ثلاثية ومراقبته عن بُعد بواسطة عنصر تحكم.
كل هذا يدل على أن التحكم في الإلكترونيات أصبح في متناول الجميع هذه الأيام ، تمامًا كما أصبحت برمجة هذه الدوائر أسهل.
الخطوة 3: M5Stack - دبابيس
ظهر M5Stack في هذه الصورة ، مما يدل على أن الطاقة عند 5 فولت. تكشف الصورة كذلك أن لدينا كل ما هو موجود في ESP32 مع الاتصال.
الخطوة 4: مكتبة DHT
استخدم SimpleDHT lib ، وهو نفس الشيء الذي استخدمته في الفيديو: درجة الحرارة والرطوبة مع شاشة OLED.
الخطوة 5: إدارة مكتبة Arduino IDE
في "القائمة: Sketch -> Add Library -> Manage Libraries" ، دعنا نثبت المكتبتين الموضحين في الصورة أدناه. تذكر أنه قبل كل هذا ، تحتاج إلى تثبيت Arduino core لـ ESP32. يوضح لك هذا الفيديو كيفية القيام بذلك كيفية تثبيت ARDUINO IDE في ESP32.
الخطوة 6: كود المصدر
شفرة المصدر ، كما ذكرنا ، هي نفسها التي استخدمتها في الفيديو: TEMPERATURE GRAPH WITH OLED DISPLAY. كان التغيير الوحيد الذي أجريته على هذا المشروع يتعلق بحجم العرض.
الخطوة 7: M5StackDHTGraph.ino
سنقوم بتضمين مكتبات M5Stack.h و SimpleDHT.h ، وسوف نحدد الألوان المستخدمة في الشاشة ، بالإضافة إلى دبوس بيانات DHT. سنقوم أيضًا ببناء كائن للتواصل مع المستشعر ، وتحديد المتغير المسؤول عن القراءات ، والإشارة إلى قيمة المحور X.
// Libs do M5Stack e DHT # تتضمن # تضمين // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #define WHITE 0xFFFF # defino de dTPad 5 // المترجم يفعل objeto para comunicar com o sensor SimpleDHT22 dht ؛ // varável responseavel 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 #define POS_Y_GRAFICO 3 #define ALTURA_GRAFICO 180 #define COMPRIMENTO_GRAFICO 270 // definição da socenada onde escreveremos os dados de Coordenada que armazenarão os valores lidos da umidade e temperature int umidade = 0 ؛ درجة الحرارة الداخلية = 0 ؛ // vará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. نحدد أوامر لرسم الرسم البياني ، ونضبط الخط وكذلك ألوان النص ، ونضع المؤشر على الكتابة.
إعداد باطل (باطل) {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) ؛ // eixo Y // drawFastHLine (x ، y ، العرض ، اللون) linha الأفقي 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 درجة الحرارة M5. Lcd.setCursor (POS_X_DADOS + 105 ، POS_Y_DADOS) ؛ M5. Lcd.print ("U:") ؛ // indicando a umidade}
الخطوة 9: M5StackDHTGraph.ino - Loop
في الجزء الأول من الحلقة ، نقرأ درجة الحرارة والرطوبة ، ونرسم قيمة المتغيرات للوضع على الرسم البياني ، ونرسم النقطة على الشاشة التي تشير إلى هذه القيم المقروءة من المستشعر.
حلقة فارغة () {// Fazemos a leitura da tematura e umiade float temp، umid؛ حالة int = dht.read2 (DHTPIN ، & temp ، & umid ، NULL) ؛ إذا (الحالة == SimpleDHTErrSuccess) {درجة الحرارة = درجة الحرارة ؛ أوميداد = أوميد ؛ } // mapeando o valor das variáveis para colocar no gráfico // required pois o display tem 240px de altura eeparamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperatureMapeada = map (temperature، 0، 100، 0، ALTURA_GRAFICO) ؛ int umidadeMapeada = خريطة (umidade، 0، 100، 0، ALTURA_GRAFICO) ؛ // desenha na tela o ponto refente aos valores lidos do sensor M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual، ALTURA_GRAFICO-temperatureMapeada، RED) ؛ M5. Lcd.drawPixel (POS_X_GRAFICO + leituraAtual ، ALTURA_GRAFICO-umidadeMapeada ، CYAN) ؛ // desenha na tela o ponto refente 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 decrementamos o valor // até um valor mínimo selectinado (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 á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)} // limpa a área onde colocamos o valor da temperatura e da umidade 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 ، أسود) ؛
// reposiciona o cursor para escrever a temperature M5. Lcd.setCursor (POS_X_DADOS + 50، POS_Y_DADOS) ؛ M5. Lcd.setTextColor (أحمر) ؛ M5. Lcd.print (درجة الحرارة) ؛ 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 (أوميداد) ؛ 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 Based M5Stack M5stick C مع DHT11 - مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: 6 خطوات
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 | مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: مرحبًا يا رفاق ، في هذه التعليمات سوف نتعلم كيفية واجهة مستشعر درجة حرارة DHT11 مع m5stick-C (لوحة تطوير بواسطة m5stack) وعرضها على شاشة m5stick-C. لذلك في هذا البرنامج التعليمي سوف نقرأ درجة الحرارة والرطوبة وأمبير. الحرارة أنا
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: 11 خطوة
بناء جهاز استشعار درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: كنت أبحث عن مستشعر درجة حرارة / رطوبة منخفض التكلفة يمكنني استخدامه لمراقبة ما يحدث في مساحة الزحف الخاصة بي ، حيث اكتشفت أن هذا الربيع كان رطبًا جدًا ، وكان الكثير من الرطوبة. لذلك كنت أبحث عن جهاز استشعار بسعر معقول يمكنني ص
شاشة ESP32 و OLED: ساعة الإنترنت - DHT22: 10 خطوات (بالصور)
ESP32 و OLED Display: Internet Clock - DHT22: هذا Instructable يتنافس مع المسابقة: & quot؛ GIFs Challenge 2017 & quot ؛، إذا كنت ترغب في ذلك ، فالرجاء إعطاء صوتك بالنقر فوق لافتة أعلاه. شكرًا جزيلاً! ؛-) هذا البرنامج التعليمي هو استمرار لرحلة لمعرفة المزيد عن جهاز إنترنت الأشياء الرائع هذا