Cov txheej txheem:
- Kauj ruam 1: Componentes
- Kauj Ruam 2: Cov ntawv thov
- Kauj Ruam 3: Montagem Ua Ambiente
- Kauj Ruam 4: Cov phiaj xwm
- Kauj ruam 5: Xaus
Video: Controle De Gás E Poeira Com O NodeMCU: 5 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Este foi um trabalho para medir níveis de poeira e gás num dado ambiente, e compartilhar estes dados nas nuvens e em seu celular, incluindo disparar um e-mail de alerta caso os valores lidos sejam considerados altos.
Kauj ruam 1: Componentes
Os seguintes componentes são utilizados:
- NodeMCU
- Sensor de Gas MQ-2
- Sensor de Poeira e Fumaça Dsm501a Arduino
É qhov tseem ceeb ua raws li tus pinagem ua NodeMCU não segue o padrão GPIO.
Kauj Ruam 2: Cov ntawv thov
Os seguintes aplicativos são utilizados:
ThingSpeak: uma plataforma IoT qhib qhov chaw gratuito, que tso cai upload de informações e posterior visualização gráfica em tempo real;
Blynk: uma plataforma que permite integração mais simples entre smartphones (iOS thiab Android) com microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros).
Kauj Ruam 3: Montagem Ua Ambiente
Primeiramente, deve-se criar uma conta no ThingSpeak. Siga as instruções do site:
Peb seguida, crie um novo kwj dej, e defina os parâmetros que serão recebidos. Você receberá um número de identificação (ID) ua kwj dej criado em seu e-mail. Este ID é necessário para fazer o upload de dados para o seu kwj dej.
Tam sim no, muaj kev teeb tsa los ntawm Blynk:
Ua raws li cov ntawv thov los ntawm Blynk rau o seu Android, thiab cria uma conta no serviço. Peb tab tom tham txog, xav txog qhov novo projeto, e escolha a plataforma, neste caso o NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.
Kauj Ruam 4: Cov phiaj xwm
Para codificação do projeto no NodeMCU, siv IDE ua Arduino (veja aqui como configurar:
Primeiramente, vamos incluir li bibliotecas necessárias para comunicação com o ThingSpeak e o Blynk:
#suav nrog
WiFiClient tus thov kev pab; / * Blynk */ #define BLYNK_PRINT Serial #suav nrog
Para capturar os dados dos sensores de gás e poeira, foram criadas duas funções:
/ * Sensor de gás */#txhais mq2 A0 // MQ-2 analog
int valor_mq2 = 0;
/ * Sensor de Poeira */
#define dsmpin 2 // DSM501A input D4 byte buff [2]; tsis kos npe ntev; unsigned ntev pib; tsis kos npe ntev ntev; unsigned ntev sampletime_ms = 1000; unsigned ntev lowpulseoccupancy = 0; ntab piv = 0; ntab concentration = 0;
/********************************************************** ***Recebendo Dados ua Sensor de Gás ***************************************** *********/ void getGasData (tsis muaj dab tsi) {valor_mq2 = 0; ncua (1000); int N = 9; rau (int i = 0; i 130) {Blynk.email ("[email protected]", "Sensor de Gás", "ALERTA de Concentração de Gás !!!"); Serial.println ("email de alerta de gás enviado"); }} /********************************************************** *****Recebendo Dados ua Sensor de Poeira *************************************** ***********/ tsis muaj dab tsi getPoeiraData (tsis muaj dab tsi) {ntev = pulseIn (dsmpin, LOW); lowpulseoccupancy += ncua sijhawm; endtime = millis (); ntab aux1, aux2 = 0; yog ((sijhawm kawg-pib lub sijhawm)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Integer feem pua 0 => 100 aux2 = 0.1*pow (aux1, 2)+(619*aux1) +50; // siv cov ntawv tshwj xeeb nkhaus yog (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}
Soj ntsuam que, em ambas funções acima, utilizamos uma função ua Blynk rau xa email, como um alerta caso os níveis de gás e poeira atinjam níveis elevados:
Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!");
Tendo os dados dos sensores salvos, agora vamos envia-los para o ThingSpeak. Para comunicação com o ThingSpeak, siv cov txheej txheem ntawm HTTP, efetuando uma requisição POST.
/********************************************************** ***Enviando os Dados para o ThingSpeak ********************************************* *********/ void sendDataTS (void) {yog (client.connect (server, 80)) {String postStr = apiKey; postStr += "& field1 ="; postStr += Txoj hlua (piv); postStr += "& field2 ="; postStr += Txoj hlua (mloog zoo); postStr += "& teb 3 ="; postStr += Txoj hlua (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /hloov tshiab HTTP /1.1 / n"); client.print ("Tus tswv tsev: api.thingspeak.com / n"); client.print ("Kev sib txuas: kaw / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Cov ntsiab lus-Hom: thov/x-www-form-urlencoded / n"); client.print ("Cov ntsiab lus-Ntev:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); ncua (1000); } client.stop (); }
Neste código, é montado o cabeçalho da requisição HTTP, adicionando o ID ua kwj dej criado (apiKey), e uma string contendo cada um dos parâmetros identificados na criação do canal, com os valores lidos dos sensores de poeira (concentração e proporção e gás (concentração de gás). Tsis muaj ThingSpeak, hais txog qhov pom tau zoo li cov ntaub ntawv em forma de gráficos.
Thaum kawg, enviamos os mesmos dados para um aplicativo Android com o Blynk:
/********************************************************** ***Enviando Dados rau Blynk ********************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, piv); // pin V10 Blynk.virtualWrite (11, mloog zoo); // pin V11 Blynk.virtualWrite (12, valor_mq2); // tus pin virtual V12}
Kauj ruam 5: Xaus
Ua kom tiav raws li qhov kev xav tau, ua raws li cov lus pom zoo los ntawm cov ntsiab lus ntawm cov ntsiab lus ntawm cov ntsiab lus tseem ceeb hauv lub ntiaj teb, como acompanhar a evolução destes dados através de gráficos pela internet.
Sau:
- Egon Patrick Marques Silva
- Frederico Clark
- Paola Fróes
Pom zoo:
COMO USAR O SENSOR DE GÁS MQ-7: 5 Cov Kauj Ruam
COMO USAR O SENSOR DE GÁS MQ-7: Tutorial de como usar o sensor de gás MQ-7 para detectar a presença de Monóxido de Carbono (CO)
Visuino Breathalyzer Yuav Siv Li Cas MQ-3 Alcohol Gas Sensor: 8 Kauj Ruam
Visuino Breathalyzer Yuav Ua Li Cas Siv MQ-3 Alcohol Gas Sensor: Hauv qhov kev qhia no peb yuav siv Arduino UNO, OLED Lcd, MQ-3 Alcohol Gas Sensor module, thiab Visuino los tso saib cov cawv nyob ntawm Lcd thiab teeb tsa kev txwv. Saib daim vis dis aus
Arduino Gas Detecting Alarm System: 6 Kauj Ruam
Arduino Gas Detecting Alarm System: Nyob zoo, txhua tus! Tam sim no, Kuv yuav piav qhia yuav ua li cas thiaj tsim tau Arduino roj kuaj pom lub tswb nrov hauv tinkercad. Lub voj voos no siv lub ntsuas roj txhawm rau txhawm rau txheeb xyuas yog tias muaj hluav taws, haus luam yeeb, lossis roj tawm mus nyob ze. Siv lub LCD thiab lub tswb, lub xov tooj cua no tseem
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: 5 Kauj Ruam
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: Este guia mostra como criar um detector de fumaça que emite um bipe quando detecta gás ou fumaça inflamável. Acesse meu último artigo: Arduino: tudo o que você precisa saber [Guia Completo] .O sensor de gás MQ-2O sensor de fumaça MQ-2 é sensível à fu
IoT Gas Detector Nrog Arduino thiab Raspberry Pi: 5 Kauj Ruam
IoT Gas Detector Nrog Arduino thiab Raspberry Pi: Hauv cov lus qhia no koj yuav kawm paub tsim IoT roj ntes li cas siv Arduino, Raspberry Pi, thiab MQ-5 gas sensor. Ntxiv rau cov ntu no koj yuav xav tau peb lub xov hlau los txuas Arduino mus rau lub ntsuas roj. Thaum qhov no tiav, koj yuav