AirOwl - Saiba o que você respira!
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 10 | ||||
| × | 3 |
Aplicativos e serviços online
| ||||
|
Sobre este projeto
AirOwl é o dispositivo de monitoramento da qualidade do ar em tempo real. Ele é usado para monitorar a qualidade do ar e busca dados do sensor e dá saída no aplicativo Blynk usando BLE do Arduino / Genuino 101. Um projeto que pode nos ajudar a saber o que respiramos!
As atividades humanas estão afetando o meio ambiente. Decidimos então fazer um dispositivo que ajude a conhecer o ambiente circundante e dar os passos de acordo com ele.
A imagem abaixo é a imagem do AirOwl rodando no arduino 101.
A qualidade do ar pode ser conhecida por meio de 3 fatores:-
1) Aplicativo Blynk (BLE)
2) Cor dos olhos de Airowl
Se a cor dos olhos for verde, você está em um ambiente mais seguro.
se a cor dos olhos for Azul, tome cuidado.
se a cor dos olhos for vermelha, há perigo.
3) Monitor Serial
Para os esquemas e design do Airowl, visite:-
https://github.com/anithp/AirOwl_Genuino101
Depois de passar pelo circuito de conexão esquemática.
Um diagrama básico para o projeto é mostrado abaixo.
A folha de dados do sensor de poeira é fornecida abaixo para obter mais informações sobre o sensor:
https://goo.gl/17Vgeg
Agora vamos começar a fazer:-
Depois de fazer conexões a partir de esquemas, carregue o código. (Supondo que você tenha instalado as bibliotecas necessárias.)
Para mais informações, consulte:- http://docs.blynk.cc/
Agora vamos configurar o blynk:
Instale primeiro o blynk da playstore / appstore
Playstore - https://play.google.com/store/apps/details?id=cc.blynk&hl=en
Appstore - https://itunes.apple.com/us/app/blynk-iot-for-arduino-rpi-particle-esp8266/id808760481?mt=8
Depois de instalar, faça uma conta.
Primeiro crie um novo projeto em Blynk
Em seguida, selecione Quadro e dê o nome do projeto
Após selecionar a placa, clique em criar.
Depois de selecionar criar, ele enviará a chave de autenticação para sua conta registrada. E você também pode reenviar e-mail de configuração.
Agora uma janela se abrirá onde veremos um espaço de trabalho em branco.
Clique no botão Adicionar e adicione BLE e 3 Guage.
Após selecionar o medidor, na área de trabalho, clique no medidor e selecione o pino como V1, V2, V3 para todos os medidores, respectivamente.
Depois de definir este espaço de trabalho final, parecerá
Agora, mantenha o arduino 101 conectado à fonte de alimentação e selecione o ícone Bluetooth na área de trabalho para definir o bluetooth (PS- Mantenha o bluetooth do celular LIGADO).
E então vá para a área de trabalho principal e comece a simular o projeto.
Os dados serão mostrados na janela do blynk.
Para quem quer fazer um protótipo usando a placa de ensaio, o esquema a seguir é para você, espero que possa tornar sua experiência com o Airowl incrível.
Os dados também podem ser vistos no monitor serial.
O esquema do PCB é mostrado abaixo.
O arquivo do cartão é mostrado abaixo.
Imagem 3D do pcb parece.
Todos os arquivos dessas imagens podem ser encontrados no link do github mencionado abaixo.
https://github.com/anithp/AirOwl_Genuino101
Agora você pode usar o Airowl e saber o que você respira, espero que ajude.
Obrigado :)
Código
- Air_owl
Air_owl C / C ++
/ * Copyright (C) 2017 Anith Patel e Sohil Patel. É concedida permissão para copiar, distribuir e / ou modificar este documento sob os termos da GNU Free Documentation License, Versão 1.3 ou qualquer versão posterior publicada pela Free Software Foundation; sem seções invariantes, textos de capa frontal e textos de capa traseira. Uma cópia da licença está incluída na seção intitulada "GNU Free Documentation License". * / # include#include #define BLYNK_SERIAL Imprimir // escrever dados para dados blynkbyte [24]; // consultar a folha de dados do sensor de poeira assinada int PM1 =0; // inicializando valores para a matéria particuladaunsigned int PM25 =0; unsigned int PM10 =0; unsigned int count =0; const int PIN1 =3; const int PIN2 =5; const int PIN3 =6; char auth [] ="Auth chave"; // cola a chave de autenticação de BlynkBLEPeripheral blePeripheral; void setup () {blePeripheral.setLocalName ("Airowl"); // definindo BLE para blynk blePeripheral.setDeviceName ("Airowl"); blePeripheral.setAppearance (384); Blynk.begin (blePeripheral, auth); blePeripheral.begin (); Serial1.begin (9600); // inicialização da comunicação uart Serial.begin (9600); pinMode (PIN1, OUTPUT); // configuração do led pinMode (PIN2, OUTPUT); pinMode (PIN3, OUTPUT);} void loop () {Blynk.run (); // chama blynk blePeripheral.poll (); Serial.println ("Concentração de PM1 é:"); // imprime no monitor serial Serial.println (PM1 / contagem); Serial.println ("Concentração de PM25 é:"); Serial.println (PM25 / contagem); Serial.println ("Concentração de PM10 é:"); Serial.println (PM10 / contagem); atraso (500); WriteData (); // chama a função de dados gravados if ((PM1 + PM25 + PM10) / 3 <=100) {LedColor (0, 255, 0); atraso (500); } else if ((PM1 + PM25 + PM10) / 3 <=300 &&(PM1 + PM25 + PM10) / 3> 100) {LedColor (255, 0, 0); atraso (500); } else {LedColor (0, 0, 255); atraso (500); } // lógica para os dados do led} void LedColor (int vermelho, int azul, int verde) {analogWrite (PIN1, vermelho); analogWrite (PIN2, azul); analogWrite (PIN3, verde); } void getWinsenData (void) // função para obter dados do sensor {// para compreender esta lógica, consulte a folha de dados do byte do sensor i =0; soma de verificação int =0; Serial1.flush (); while (Serial1.available ()) {data [i] =Serial1.read (); // lê os dados seriais do sensor if (i <=21) // condição para os dados de leitura do sensor {checksum + =data [i]; } if (i ==23) {if (checksum ==(256 * dados [22]) + dados [23])) {if (dados [0] ==66) {if (dados [1] ==77) {if (i ==23) {PM1 + =((dados [4] * 256) + dados [5]); // recupera e armazena dados para PM1 PM25 + =((dados [6] * 256) + dados [7]); // recupera e armazena dados para PM2.5 PM10 + =((dados [8] * 256) + dados [9]); // recupera e armazena dados para PM10 count ++; Serial1.flush (); // espera que os dados seriais transmitam break; }}}} else {break; }} i ++; atraso (10); }} void WriteData () // enviando dados para blynk {getWinsenData (); // chama a função getWinsendata Blynk.virtualWrite (V1, PM1 / contagem); // escreve dados em Blynk Blynk.virtualWrite (V2, PM25 / contagem); Blynk.virtualWrite (V3, PM10 / contagem); atraso (1000); }
Peças personalizadas e gabinetes
AirOwl
https://github.com/IndiaOpenDataAssociation/AirOwlEsquemas
AirOwl Genuino 101
https://github.com/anithp/AirOwl_Genuino101Processo de manufatura
- Uma introdução aos grampos do dedo do pé:o que você deve saber
- Manutenção preditiva - O que você precisa saber
- 7 Bibliotecas React que você deve conhecer
- Você sabe quanto vale a sua empresa?
- O que são botões Jig Feet? Aqui está o que você deve saber
- Motores CA e CC:o que você precisa saber
- O que você precisa saber sobre a fabricação de PCB
- O que você precisa saber sobre financiamento de equipamentos
- O que você deve saber sobre motobombas submersíveis?
- O que você precisa saber sobre a bomba centrífuga