Janelas automáticas de carros baseadas em Arduino para proteção contra poeira e poluição

As cidades estão ficando superpovoadas e muito poluídas a cada dia. A poluição é um grande problema nas áreas urbanas, sejam nos países desenvolvidos ou nos países em desenvolvimento. Prevê-se que países como a Índia aumentem a sua população urbana de 30% para 50% na próxima década. O aumento da população nas cidades é concomitante ao aumento dos veículos e ao aumento da poluição. Considerando o problema emergente da poluição e da poeira, os fabricantes de automóveis podem adicionar um recurso inteligente aos seus modelos. Os automóveis hoje em dia estão repletos de diversos recursos, e a proteção contra poeira e poluição pode ser um deles. Este pode ser um recurso útil em países como Índia e China.

Este projeto tentou modelar esse recurso usando a popular placa de prototipagem – o Arduino. Neste projeto Arduino, o sensor óptico de poeira GP2Y1010AU0F e os sensores de qualidade do ar MQ-135 fazem interface com o Arduino. O sensor de poeira é usado para detectar a densidade da poeira do ar, enquanto o MQ-135 é usado para detectar a qualidade do ar. Se o nível de poeira do ar for superior a um limite ou o nível de poluição for maior, o microcontrolador (neste caso, Arduino) aciona automaticamente os vidros do carro. A atuação das janelas do carro é mostrada aqui acionando um motor DC. Este é um protótipo simples para esta adição de recurso. Uma implementação comercial pode usar um microcontrolador automotivo em interface com sensores semelhantes.

Componentes necessários

  1. Arduino UNO x1
  2. Sensor óptico de poeira GP2Y1010AU0F x1
  3. Resistência 150Ω x1
  4. Sensor de qualidade do ar MQ-135 x1
  5. L293D x1
  6. Motor CC x1
  7. Bateria 9V x1
  8. Tábua de ensaio x1
  9. Fios de conexão/fios de jumper

Conexões de circuito

Para medição da qualidade do ar, o sensor MQ-135 precisa ser pré-aquecido em ar limpo. Após pré-aquecimento durante 24 horas, o valor de R0 pode ser determinado. O sensor de qualidade do ar MQ-135 possui quatro pinos – VCC, GND, Dout e Aout. Para pré-aquecer o sensor, conecte VCC à saída de 5V do Arduino, GND ao pino de aterramento do Arduino e Aout a um pino de entrada analógica do Arduino, como A4 neste projeto. Carregue o Arduino Sketch-1 na placa e deixe-o por 24 horas. Em seguida, verifique o valor de R0 do monitor serial e desmonte o circuito.

Ressalta-se que de acordo com a ficha técnica do sensor MQ-135, a resistência de carga recomendada para o MQ-135 varia de 10KΩ a 47KΩ. Muitos módulos sensores MQ-135 vêm com resistência de carga errada montada em sua placa. Rastreie as conexões da PCB quanto à resistência de carga e se for menor que 10 KΩ, substitua-a por uma de 22 KΩ. Depois de obter o R0 valor para o sensor MQ-135, ele pode ser utilizado no circuito do projeto. O sensor de poeira podemos usar diretamente no circuito do projeto.

Precisamos carregar o Arduino Sketch-2 no Arduino e fazer a interface do sensor óptico de poeira GP2Y1010AU0F, sensor de qualidade do ar MQ-135 e motor DC para montagem do circuito do projeto com o Arduino UNO. Estenda a saída de 5 V e as conexões de aterramento do Arduino UNO para uma placa de ensaio. Para interface, o sensor de qualidade do ar MQ-135 conecta seu pino VCC à saída 5V do Arduino, o pino GND ao terra do Arduino e o pino Aout ao pino de entrada analógica A4 do Arduino, respectivamente.

O sensor óptico de poeira GP2Y1010AU0F possui um conector de seis pinos com a seguinte configuração de pinos.

Para interface do sensor óptico de poeira GP2Y1010AU0F com Arduino UNO, faça as conexões resumidas na tabela abaixo.

Um motor DC conecta o IC do driver do motor L293D para interface, conforme resumido na tabela abaixo.

As conexões acima conectam o terminal negativo da bateria de 9-12 V com o GND do Arduino, tornando-o um aterramento comum entre o Arduino e o IC do driver do motor L293D.

Esboço do Arduino 1

Esboço do Arduino 2

Como funciona

Este circuito detecta a qualidade do ar e a densidade da poeira do ar circundante e, de acordo com os valores medidos, aciona os vidros do carro. Para mostrar o acionamento da janela do carro, um motor DC é acionado no circuito. Para medir a qualidade do ar, é utilizado o sensor MQ-135. O sensor é pré-aquecido por 24 horas para obter o R0 valor. O arquivo de cabeçalho usa o valor R0 na biblioteca MQ-135. Uma vez que o R real0 for obtido, ele será substituído pelos valores padrão no arquivo MQ135.h. A biblioteca MQ135 pode ser baixada neste link.

Com uma resistência de carga de 22KΩ, o sensor MQ-135 pode medir a concentração de CO2 no ar. O sensor está conectado ao pino A4 do Arduino. A concentração de CO2 no ar é obtido usando a função getPPM da biblioteca MQ135. Se a concentração de CO2 for superior a 700 PPM, os vidros do carro são fechados acionando o motor.

Simultaneamente, a densidade da poeira também é medida pelo circuito. O sensor óptico de poeira GP2Y1010AU0F da Sharp ajuda a detectar partículas finas, como fumaça de cigarro e partículas de poeira no ar. Consiste em um diodo IR e um fotossensor montado diagonalmente em uma entrada de ar. Quando o ar contendo partículas de poeira entra na entrada, as partículas de poeira espalham as radiações infravermelhas do diodo em direção ao fotossensor. Maior é a densidade da poeira. Quanto mais luz infravermelha é espalhada, maior é a tensão de saída do fotossensor. O sensor GP2Y1010AU0F pode detectar partículas de poeira tão pequenas quanto 0,5um e densidade de poeira de até 0,580 mg/m3. Se a densidade do pó for superior a 0,4, os vidros do carro são fechados acionando o motor.

O Arduino está programado para medir níveis de poeira e concentrações de CO2 no ar circundante. Se CO2 a concentração é superior a 700 PPM ou o nível de poeira é superior a 0,4 mg/m3o Arduino aciona o motor por meio do IC do driver do motor L293D e as janelas são fechadas.

O código

Para pré-aquecer o sensor MQ-135, é usado o Arduino Sketch-1. O esboço começa com a importação da biblioteca MQ135. Na função setup , a taxa de transmissão para comunicação serial com o Serial Monitor é definida como 9600 bps. Na função loop , a leitura analógica do sensor MQ-135 é lida no pino A4 e o valor de R0 é obtido usando o método getRZero . O valor obtido é impresso no Monitor Serial. O valor é observado após pré-aquecer o sensor por 24 horas em ar limpo. Este valor é obtido como 929,15 para uma resistência de carga de 22K. Os valores de resistência de carga e R0 são alterados no arquivo de cabeçalho.

O Arduino Sketch-2 é carregado no Arduino UNO para funcionar como o circuito real. O esboço começa importando a biblioteca de sensores MQ-135. Esta biblioteca pode ser baixada como um arquivo Zip no link mencionado acima e importada navegando até Sketch-> Incluir Biblioteca -> adicionar biblioteca .Zip.

Em seguida, os pinos são atribuídos às conexões com o IC do driver do motor L293D. Isto é seguido por conexões de pinos ao sensor de poeira e declaração de variáveis ​​para armazenar cálculos e valores do nível de poeira. Em seguida, é instanciado um objeto da biblioteca MQ135, são atribuídos pinos às conexões com o sensor MQ-135 e uma variável para armazenar o valor de CO2 concentração é declarada.

Na função setup , a taxa de transmissão para comunicação serial com o Serial Monitor do Arduino IDE é definida como 9600. Isso será útil no monitoramento da concentração de CO2 e do nível de poeira. Os pinos conectados aos pinos Enable A, Input 1 e Input 2 do L293D são definidos como uma saída digital. O motor DC é parado, por padrão, escrevendo o sinal LOW na Entrada 1 e Entrada 2 do L293D. O pino do sensor MQ135 é definido como entrada e o pino que conecta ao sensor de poeira LED é definido como saída.

Uma função drive_window é declarada, na qual o motor DC é girado para fechar a janela por um curto período de tempo. Em seguida, o motor DC é parado escrevendo um sinal LOW na entrada 1 e na entrada 2 do L293D.

Na função loop , em primeiro lugar, o nível de poeira é calculado. O diodo IR é ligado por 280 microssegundos para medir o nível de poeira e a tensão de saída do fotossensor é lida. O processo de leitura da tensão de saída do sensor de poeira leva cerca de 40 a 50 microssegundos, portanto, é fornecido um atraso de 40 microssegundos. De acordo com a folha de dados do GP2Y1010AU0F, o diodo IR é pulsado a cada 10 milissegundos, então ainda restam 9,68 milissegundos. O nível de poeira é calculado usando as equações a seguir e impresso no Monitor Serial.

calcTensão = voMedido*(5,0/1024);
densidade de poeira = 0,17*calcVoltage-0,1;

Em seguida, é obtida a leitura analógica do sensor MQ-135 e o valor de CO2 a concentração em PPM é calculada. Se o CO2 a concentração é superior a 700 PPM ou o nível de poeira é superior a 0,4 mg/m3a função drive_motor é chamada.

Resultado

CÂMERA DIGITAL OLYMPUS

CÂMERA DIGITAL OLYMPUS

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.