História de como o Arduino MT8060 c fez amigos
Este artigo se concentra no monitor de qualidade do ar MT8060 com um sensor de dióxido de carbono e na capacidade de ler suas leituras em um PC e Arduino.Neste artigo, você aprenderá:- Como eu desmontei este dispositivo.
- Como conectar um sensor de CO2 a um arduino sem desmontá-lo.
- Como ler dados e como converter para o formulário em que são exibidos na tela (e mesmo em uma faixa maior de valores).
- Esboço e encaminhamento de cabos incluídos.
Cuidado tráfego!A essência do problema
Quando fui ao Geektimes, encontrei vários artigos sobre o sensor de dióxido de carbono MT8060 da DAJET. Nos comentários, houve uma discussão ativa sobre a possibilidade de conectar este dispositivo a um computador para receber dados. Nos comentários, como não pude compartilhar minha experiência sobre esse assunto (ainda não havia o modo R&C), decidi escrever um artigo, ao mesmo tempo em que abria a questão com mais detalhes e com “figuras”.Infelizmente, esta modificação do dispositivo não tem a capacidade de transferir dados via USB. Mas há uma porta de diagnóstico na qual você pode ler todos os dados e calibrar o dispositivo (provavelmente). A próxima seção descreve como chegar a esta porta e como se conectar a ela. Repetir isso não é necessário - no final da próxima seção, todos os dados são mostrados para conectar-se à porta sem desmontar o dispositivo.Desmontar e explorar a conectividade
As fotos foram tiradas na câmera do telefone, às vezes de qualidade não muito alta, não me esforcei muito porque Eu não achava que escreveria um artigo, mas fiz por precaução.Portanto, na parte traseira, existem três buchas de borracha, atrás das quais há três parafusos. Os plugues podem ser removidos com pinças ou apanhados com uma agulha.
Além dos parafusos, as duas metades do corpo também se prendem às travas, localizadas em todo o perímetro do corpo. Para separar as metades, basta segurar um palito de dente em torno do perímetro da caixa, basta um espaço de meio milímetro para que as travas se abram. Em seguida, abra suavemente a caixa e verifique se uma mangueira de borracha vai do microcircuito para a tampa traseira e você pode danificar as montagens e microcircuitos aos quais está conectada durante movimentos bruscos.
Agora você pode ver a parte traseira da placa de circuito impresso do dispositivo, dos cabos de diagnóstico e do conector RJ45. Depois de analisar a notação aplicada ao circuito, fui ao artigo CO2MeterHacking , que analisava um dispositivo semelhante. Ao conectar, conforme descrito no artigo, e executar o esboço proposto lá, recebi os dados estimados, que coincidiram parcialmente com os dados exibidos na tela - o objetivo principal foi alcançado.Além disso, a pinagem desses pinos no conector RJ45 era perceptível. Tendo examinado a fiação e telefonado, apenas no caso dos contatos, desenhei um diagrama de conexão.
A designação e a finalidade dos contatos são as seguintes:- C (Relógio) - um sinal de relógio.
- D (Dados) - sinal de dados.
- G (Terra) - Terra.
- V (V DD ) - fonte de alimentação + 3V.
A pinagem era adequada para um conector padrão de quatro núcleos e, para fins de teste, foi montado um conector compatível com arduino.
O dispositivo pode ser montado, mas eu removi anteriormente o plugue que bloqueia o acesso externo à porta RJ45. Ele está fixo em quatro travas, que eu gentilmente dobrei por dentro, mas acho que você pode obtê-lo simplesmente pegando-o por fora, sem precisar desmontar o dispositivo. A foto abaixo mostra como ela se mantém e como são as travas.
Parâmetros de leitura e decodificação
Mais pesquisas foram realizadas no dispositivo montado, com uma porta "aberta", e eles eram puramente software.Conectamos o fio laranja (pino D ) ao pino D3 do arduino, o branco-verde (pino C ) ao pino D2 da placa compatível com arduino.
Os dados são transmitidos usando o protocolo SPI. Para leitura e decodificação de dados, foram escritos um método e um esboço simples que transmitem a umidade, a temperatura e a concentração de dióxido de carbono para a porta serial.Após iniciar o esboço, dados idênticos às leituras na tela do dispositivo começam a fluir para o monitor da porta serial uma vez a cada segundo, aproximadamente.
Embora o nível de umidade no dispositivo seja exibido como Lo, ao ler leituras pela porta, elas são bem visíveis a valores inferiores a 20. Não está claro por que isso foi feito, provavelmente para não acender outro semáforo em termos de umidade, mas emitir Lo se a umidade já estiver criticamente baixa.Na verdade, é tudo: os dados chegam a cada segundo, você pode plotar em alta resolução ou escrever qualquer outra lógica. Por exemplo, fiz uma notificação via Telegram sobre os indicadores que ultrapassam a norma, o que elimina a necessidade de monitorar constantemente os indicadores. Também defino o Mi Band com as notificações apropriadas - é conveniente se as leituras excederem o limite noturno e você precisar desligar o umidificador ou ventilar. Você pode ir além e integrar esses indicadores ao sistema de ventilação automáticaou a uma tomada inteligente na qual o mesmo umidificador está conectado - outras restrições são apenas para a imaginação.Pensamentos em voz alta sobre dados sem fio
Um artigo sobre revspace sugere o uso da transferência de dados sem fio, mas você também pode encontrar um exemplo de esboço para o envio de dados usando o transmissor NRF24L01 +. Além disso, dentro do gabinete há espaço livre suficiente, como me pareceu, o suficiente para um pequeno controlador e módulo sem fio. Além disso, no interior também há energia de 3V (contatos G e V ), o que elimina a necessidade de fontes de alimentação de terceiros. Bem, 5V da porta USB pode ser usado se 3V não for suficiente. Se eu decidir implementar algum tipo de método de transferência de dados sem fio, escreverei outro artigo sobre esse assunto.Por enquanto é isso, obrigado por assistir!Referências e fontes
O autor do artigo não é responsável por tentativas de repetir ou aplicar os resultados apresentados neste material!Source: https://habr.com/ru/post/pt390607/
All Articles