Índice:

AtmoScan: 7 etapas (com imagens)
AtmoScan: 7 etapas (com imagens)

Vídeo: AtmoScan: 7 etapas (com imagens)

Vídeo: AtmoScan: 7 etapas (com imagens)
Vídeo: Lenovo Tab M10+ How To Enable Dolby Atmos 2024, Setembro
Anonim
Image
Image
Sensores
Sensores

**********************************************************************************************

NOTÍCIA

Acesse meu GitHub para:

- Algumas pequenas alterações de hardware melhoram o design, incluindo a capacidade de desligar o software, corrigindo uma das maiores desvantagens do design - como lidar com bateria fraca.

- Um projeto de PCB v2 agora é publicado junto com um guia para aplicar facilmente a alteração às placas V1.0.

- Arquivos CAD para invólucro completo

O novo gabinete se parece com a imagem acima … bem, sem o elástico

****************************************************************************************

ATMOSCAN é um dispositivo multisensor destinado a monitorar a qualidade do ar interno. Embora muitos projetos tenham sido publicados com finalidade semelhante, este é um sistema completo em um pacote compacto e autocontido que resume todos eles. Ele tem um display LCD colorido, é ciente de hora e local, é controlado por gestos e posta no ThingSpeak (ou outros) via MQTT, mas pode lidar adequadamente com operações desconectadas e reconexão. Com sua bateria recarregável embutida, ele dura um dia inteiro quando desconectado da energia.

Ele usa uma estrutura cooperativa multitarefa e é muito responsivo à entrada do usuário durante a amostragem de sensores, manipulação de UI e postagem no MQTT. Na verdade, ele aperta bastante o minúsculo ESP8266. Ele faz isso integrando uma série de bibliotecas de código aberto e aproveitando os serviços da web da Internet.

Os créditos das bibliotecas vão para vários colaboradores, veja mais tarde.

Música em vídeo pode ser encontrada AQUI

Etapa 1: Sensores

O Atmoscan mede uma série de variáveis:

  • Temperatura
  • Umidade
  • Pressão
  • CO2
  • CO
  • NO2
  • VOC (compostos orgânicos voláteis, um indicador de qualidade do ar)
  • PM 01
  • PM25
  • PM10
  • Radiação

Para fazer isso, ele integra uma série de sensores discretos

  • BME280 (por exemplo, Link)
  • PMS7003 (por exemplo, Link)
  • MH-Z19 (por exemplo, Link)
  • HDC1080 (por exemplo, Link)
  • MiCS6814 (link)
  • MP503 (link)
  • Tubo Geiger LND-712 (Link, encontrei na Europa aqui Link ou aqui Link) com módulo de alta tensão (Link)

As folhas de dados estão AQUI.

Etapa 2: Eletrônica

Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos
Eletrônicos

O Atmoscan pode ser facilmente construído com um NodeMCU ou qualquer outra placa ESP8266 e alguns componentes prontamente disponíveis, como reguladores de nível e voltagem, se você desistir do carregador de bateria integrado.

Enquanto fazia o protótipo com componentes separados, para a versão final projetei uma placa específica que integra todas as funções e fornece conectores legais para sensores, LEDs para status (azul = fonte de alimentação conectada; vermelho = carregando).

Arquivos Eagle PCB disponíveis AQUI.

Especificamente, o conselho integra:

  • Circuito de carregamento baseado em MAX8903A (Link)
  • Lógica liga / desliga com um botão
  • Módulo ESP12E
  • Lógica de programação
  • Deslocador de nível
  • Driver da luz de fundo do LCD
  • Regulador de tensão de aumento / redução de 3,3 V baseado em Pololu S7V8F3 (link)
  • Regulador de tensão de aumento de 5 V baseado em Pololu U1V10F5 (link)
  • Medidor de combustível LiPo baseado em SparkFun TOL10617 (link)

O display é um 2,8 TFT 320x240 baseado em um chip ILI9341 (Link).

O sensor de gestos é baseado no chip PAJ7620U2 (Link), muito melhor do que o APDS9960 barato que gera interrupções contínuas e não pode funcionar através de plexiglas.

Os sensores consomem bastante energia, então para garantir autonomia de pelo menos 24h fiz um pack com 3 baterias LiPo 105575 de 5000mAh (Link). Na verdade, 2 poderiam ser suficientes. O carregador MAX8903 se esforça para carregar o pacote de 15.000 mAh resultante.

NOTAS - COMO SE VÊ NAS FOTOS:

  • As posições dos conectores são mostradas
  • O slot do cartão SD precisa ser dessoldado da tela se você quiser que ele caiba no gabinete
  • Você precisa fazer um pequeno entalhe no PCB para não interferir com o ventilador (os entalhes estão na moda depois do iPhone X). Corrigido em PCB V2

As abreviações dos conectores no PCB são as seguintes:

  • PRS: Sensor de pressão barométrica (baseado em BME280) NOTA: para ser montado diretamente no PCB
  • VOC: Grove - Sensor de qualidade do ar v1.3 (baseado em MP503)
  • TMP: Sensor Digital de Umidade e Temperatura de Alta Precisão (baseado em HDC1080)
  • PMS: PMS7003 Sensor digital de concentração de partículas
  • GÁS: Grove - Sensor de gás multicanal (baseado em MiCS6814)
  • GES: Grove - Sensor de gestos (baseado em PAJ7620U2)
  • RAD: tubo Geiger (via Módulo de fonte de alimentação do driver de sonda Geiger de alta tensão 400V / 500V com saída de pulso digitalizado TTL)
  • CO2: sensor de gás CO2 infravermelho MH-Z19
  • U1V10F: Regulador de tensão de aumento de 5V baseado em Pololu
  • U1V10F5 S7V8V3: Regulador de tensão de aumento / redução de 3,3 V baseado em Pololu S7V8F3
  • TOL10617: Indicador de combustível LiPo Sparkfun
  • LCD: display ILI9341

Etapa 3: Gabinete

Gabinete
Gabinete
Gabinete
Gabinete
Gabinete
Gabinete

O gabinete é derivado de um recipiente de cubo de plexiglass 10x10x10 cm que comprei no ebay e foi feito para um uso totalmente diferente. Ele tinha boas aberturas de ventilação que eram exatamente o que era necessário. O volume era em princípio suficiente para embalar todo o conjunto, exceto que não foi fácil … algumas tentativas iniciais baseadas em maquetes de papelão falharam terrivelmente, então desisti e perdi algumas horas com um CAD 3D e tive os suportes internos cortados a laser. O espaço interno é dividido em compartimentos para que o sensor de temperatura fique o mais distante possível das fontes de calor internas. Enquanto o invólucro externo é feito de material de 3 mm, o topo é feito de folhas de 2 + 1 mm. Este truque permitiu ter o sensor de gestos coberto com apenas 1mm de acrílico e isso é suficiente para fazer funcionar.

Algumas modificações tiveram que ser feitas com ferramentas manuais no gabinete original, como ventilador, switch e orifícios USB. Mesmo assim, o resultado foi decente!

Os arquivos CAD estão AQUI.

Etapa 4: Montagem Mecânica

Montagem Mecânica
Montagem Mecânica
Montagem Mecânica
Montagem Mecânica
Montagem Mecânica
Montagem Mecânica

A embalagem é muito densa, mas graças ao design 3D CAD, tive poucas surpresas ao montá-la.

A circulação do ar (de cima para baixo) é garantida por um pequeno ventilador. Depois de comprar um número justo no Aliexpress / eBay, percebi que o barulho dos ventiladores baratos era insuportável para um dispositivo interno. Acabei comprando um Papst 255M (Link) bastante caro e de giro lento e alimentei-o com menos de 5 V por meio de alguns diodos. O resultado é bastante bom e silencioso o suficiente para passar despercebido (é até aprovado pela esposa, a certificação mais difícil).

Etapa 5: Software

Programas
Programas
Programas
Programas
Programas
Programas
Programas
Programas

A arquitetura do software é baseada em uma estrutura orientada a objetos que executa vários processos (cooperativos) que manipulam UI, sensores e MQTT. Ele reconhece a localização e a hora, mas pode lidar com a desconexão / reconexão ao WiFI.

O framework é aberto e pode gerenciar qualquer número de telas, desde que seu código e recursos caibam na memória Flash. A estrutura do aplicativo lida com os gestos e os passa para as telas, para posterior tratamento ou cancelamento, se necessário. Os gestos gerenciados pelo framework são:

  • Deslize para a esquerda / direita - Alterar tela
  • (Dedo) Rotação no sentido horário - Girar a tela
  • (Dedo) Giro no sentido anti-horário - invocar tela de configuração
  • (Mão) De longe para fechar - Desligue a tela

As telas são herdadas de uma classe base e são gerenciadas por meio do seguinte modelo de evento:

  • ativar - disparado uma vez, quando a tela é criada
  • update - chamado periodicamente para atualizar a tela
  • deactivate - chamado uma vez, antes que a tela seja descartada
  • onUserEvent - chamado quando o sensor de gesto é acionado. Permite responder e também substituir o tratamento de evento padrão, por exemplo, abortar deslize para mudar a tela

Cada tela declara seus recursos, fornecendo as seguintes informações:

  • getRefreshPeriod - com que frequência a tela precisa ser atualizada
  • getRefreshWithScreenOff - se a tela deseja ser atualizada mesmo quando a luz de fundo está desligada. por exemplo. para gráficos
  • getScreenName - nome da tela
  • isFullScreen - assuma o controle total da tela ou permita a barra superior com data / hora / localização / medidor de bateria / medidor de wi-fi

O framework é capaz de instanciar e desalocar as telas por meio de uma fábrica de classes declarativa. A alocação dinâmica economiza RAM e torna o dispositivo facilmente expansível. A estrutura geral do aplicativo também é reutilizável para outros projetos.

As telas atualmente implementadas no Atmoscan são:

  • Valores de sensores
  • Gráfico de medidor / semilog Geiger
  • Status do sistema
  • Log de erros
  • Estação meteorológica
  • Observador de aviões
  • Configurar
  • Bateria Fraca

As telas de configuração permitem definir credenciais Wifi, canais MQTT, servidor Syslog.

NOVO na v2.0: todas as chaves de serviços da web agora são configuráveis por meio do portal de configuração. O único valor que ainda está codificado é a senha OTA (ATMOSCAN em maiúsculas).

NOTA 1: A primeira programação deve ser feita com um cabo USB-Serial conectado ao conector de programação. Como a porta serial é ocupada por um sensor, depurar e programar dessa forma é impraticável após a montagem, pois exigiria a remoção do sensor. Portanto, o software suporta depuração SYSLOG e atualizações OTA.

NOTA 2: O binário ATMOSCAN tem mais de 700Kb e o ArduinoOTA requer que o espaço do programa seja pelo menos duas vezes o tamanho da imagem, o que exclui a opção "4M (3M SPIFFS)". No entanto, a opção padrão "4M (1M SPIFFS)" também é inadequada, pois a partição SPIFFS seria insuficiente para os recursos gráficos relacionados à estação meteorológica, observador de aviões e para o arquivo confing. Portanto, uma configuração personalizada "4M (2M SPIFFS)" foi criada para resolver o problema. Explicação aqui.

A documentação e o código-fonte completo estão disponíveis aqui.

CRÉDITOS INCLUI CÓDIGO E BIBLIOTECAS DE

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • ClosedCube
  • Gmag11
  • Knolleary
  • Lucadentella
  • Visto
  • Squix78
  • Tzapu
  • Wizard 97

INTEGRA OS SERVIÇOS DA WEB DE

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Etapa 6: Torne-o melhor

Melhorar!
Melhorar!

O resultado não é nada mau! O software tem boa aparência e é confiável, embora possa ser expandido com novos recursos e talvez um pouco mais limpo para tornar a estrutura do aplicativo verdadeiramente reutilizável para outros projetos. A calibração de alguns sensores não é ótima, mas seriam necessários equipamentos de laboratório de teste. O tempo é precioso e eu não tenho muito, então o progresso foi lento. Quando terminei, um suporte decente para o ESP32 estava disponível. Se eu começasse agora, eu usaria e integraria sensores externos via bluetooth.

Qualquer um?

NOTA: Eu ainda tenho um punhado de PCBs, então se alguém estiver interessado, eles estão disponíveis a um preço nominal / postal.

Etapa 7: Perguntas e respostas

Perguntas e Respostas
Perguntas e Respostas
Perguntas e Respostas
Perguntas e Respostas

Em primeiro lugar, OBRIGADO por seus comentários extremamente positivos. Sinceramente, não esperava tanto interesse.

Recebi uma série de perguntas por meio de comentários ou mensagens privadas, então pensei em coletar as respostas aqui. Devem vir mais, acrescentarei.

Encontrei no fundo de uma gaveta os 8 PCBs disponíveis - e eles estão a caminho da Bélgica, Alemanha, Índia, EUA, Canadá, Reino Unido, Austrália. Uau, 3 continentes! Surpreendente.

O que devo colocar na página de configuração ATMOSCAN?

A página de configuração do Atmoscan requer os seguintes parâmetros:

  • SSID e senha da rede WiFi à qual você deseja se conectar
  • Servidor MQTT que você usa. Por exemplo, eu uso mqtt.thingspeak.com
  • Cadeia de conexão para tópicos MQTT usados. Por exemplo, os tópicos do Thingspeak MQTT estão no formato: canais / CHANNEL-ID / publicar / WRITE-API (EXEMPLO: canais / 123456 / publicar / 567890)
  • Servidor syslog: o IP do servidor syslog que você usa para registrar
  • Chave do Google para Maps Static API. Obtenha uma chave em https://console.cloud.google.com/apis/dashboard. Crie um projeto; A API que o Atmoscan usa é https://maps.googleapis.com/maps/api/staticmap. Crie uma chave para esta API no projeto do Google que você acabou de criar, use-a aqui
  • Chave do tempo subterrâneo. Crie uma conta em www.wunderground.com, vá para WEATHER API (link na parte inferior da página inicial, vá para CONFIGURAÇÕES DE CHAVE, gere uma chave, use-a aqui
  • Conta Geonames. Crie uma conta em https://www.geonames.org/ habilite-o a usar os serviços da web gratuitos e coloque o nome de usuário aqui
  • Chave TimeZoneDB. Crie uma conta emhttps://timezonedb.com/, crie uma chave, coloque-a aqui

Como eu configuro o Thingspeak?

Você precisa de 3 canais do Thingspeak. Os campos são usados da seguinte forma:

Campos do CANAL 1

  1. TEMPERATURA
  2. UMIDADE
  3. PRESSÃO
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. RADIAÇÃO

CANAL 2 campos

  1. CO
  2. CO2
  3. NO2
  4. VOC

CHANNEL 3 campos (canal do sistema)

  1. TEMPO DE OPERAÇÃO EM MINUTOS
  2. HEAP GRÁTIS EM BYTES
  3. WIFI RSSI (SINAL NO DBM)
  4. VOLTAGEM DA BATERIA
  5. SOC LINEAR (% ESTADO DE CARGA DA BATERIA - cálculo linear, proporcional à tensão)
  6. NATIVE SOC (ESTADO DE CARGA DA BATERIA% - conforme relatado pelo medidor. Conforme lido no medidor. NOTA: o medidor indica 0% ao atingir 3,6 V enquanto as baterias podem ser descarregadas um pouco mais, digamos acima de 3 V. O limite inferior, em que ATMOSCAN se desliga, é um arquivo #define no arquivo globaldefinitions.h)
  7. TEMPERATURA DO SISTEMA (do bme280, montado diretamente na placa)
  8. UMIDADE DO SISTEMA (do bme280, montado diretamente na placa)

O PCB é muito compacto. Como faço para soldar os dispositivos SMD, especialmente o MAX8903A IC?

Em primeiro lugar, sugiro que se pergunte se deseja entrar no SMD ou se é um caso único. Se for o último, talvez peça a alguém para fazer isso por você. Se você quiser enfrentar o desafio do SMD, invista um pouco e adquira as ferramentas adequadas (solda, fluxo, ferro a álcool isopropílico, pistola quente, pinça, uma câmera USB barata, um suporte para PCB). Hoje em dia isso é algo barato. Em seguida, assista a um vídeo do YouTube - há meio milhão - e passe algum tempo com um PCB antigo que você pode sacrificar e dessoldar / limpar / soldar alguns componentes. Você não acreditaria como isso é instrutivo, aprender o que esperar, acertar a temperatura etc. Falando por experiência própria… Comecei a trocar o conector do display de um iPod touch pelo SMD e matei o primeiro!

Na verdade, o Atmoscan PCB é compacto e esse IC não é fácil. Novamente, eu não recomendo que você faça isso como sua primeira solda SMD. O QFN não é um pacote amigável, embora eu já tenha soldado um número. Você nunca tem certeza se acertou …

No Atmoscan, soldei primeiro, depois os componentes ao redor para que pudesse testar se a parte de carga da placa estava funcionando e, em seguida, concluí todo o resto. A partir das imagens anexas, você deve ser capaz de inferir a orientação dos componentes. Usei bibliotecas de componentes de domínio público e a orientação não é muito evidente na serigrafia.

Do meu jeito: primeiro coloco um pouco de solda nas pastilhas com o ferro. Então, muito fluxo (específico para SMD) e posicionei cuidadosamente o IC com uma pinça. Em seguida, aqueça tudo a cerca de 200/220 ° C (abaixo do ponto de fusão) para evitar tensões devido ao aquecimento desigual. Então eu aumentei a temperatura para 290C ou assim por diante e ao redor do IC. Se você colocar um pouco de solda em uma almofada próxima, verá quando a temperatura está no ponto de fusão, pois ela brilhará.

Depois disso, limpei com álcool isopropílico e inspecionei cuidadosamente com uma câmera USB barata. Problemas típicos são alinhamento e quantidade de solda, pois alguns pinos podem não estar conectados. Em alguns casos eu tive que voltar a ele com um pequeno ferro de solda para adicionar um pouco mais de solda em alguns pinos, já que este IC tem uma almofada térmica embaixo que precisa ser soldada também. Isso torna um pouco complicado adivinhar a quantidade de solda e pode acontecer que muita solda por baixo possa elevá-la de forma que os pinos não toquem a placa de circuito impresso.

Dito isso, não quero assustá-lo. Completei 3 placas e nunca matei esses ICs … Uma vez eu até tive que remover, limpar e reiniciar do zero, mas funcionou no final. Novamente, não é muito fácil, mas é factível.

Onde você comprou os componentes?

Principalmente no eBay e Aliexpress. No entanto, os de marca são originais (Seeed, Pololu, Sparkfun).

Seguem alguns links INDICATIVOS. Nota: dê uma olhada, você pode encontrar ofertas ainda mais baratas …

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

Primeira programação A placa Atmoscan inclui um circuito de programação que está em linha com o NodeMCU. A conexão serial é normalmente usada para a primeira programação. Depois disso, a programação OTA via wi-fi é a opção preferida, pois pode ser feita com o aparelho totalmente montado. Não se esqueça de que a porta serial é normalmente usada pelo sensor de partículas!

Para programar a placa com serial, um adaptador USB-serial (por exemplo, FTDI232 ou similar) deve ser conectado ao conector J7 (próximo ao botão de reinicialização) seguindo a pinagem no esquema. O programa pode ser carregado sem sensores conectados, exceto que a linha de interrupção do sensor geiger deve ser conectada ao GND, caso contrário a placa não inicializará (para fazer isso, conecte os pinos 1 e 3 no conector RAD). A maneira mais fácil de testar a placa sem usar o esboço principal - portanto, sem a complexidade dos sensores - é carregar ESTE programa simples via cabo serial. Ele cria um ponto de acesso wi-fi que permite mais flashes com o programa principal.

IMPORTANTE: Não se esqueça de usar a configuração 4M / 2M SPIFFS de acordo com as instruções, caso contrário, o programa principal não caberá. A placa deve ser inicializada via programação serial com essa configuração, caso contrário, você pode ter problemas com OTA posteriormente.

Infelizmente, a inicialização de alguns sensores está bloqueando se os sensores não estiverem presentes (depende do fornecedor da biblioteca). Um exemplo é a biblioteca de sensores multigás. Para certificar-se de que o Atmoscan inicializa corretamente com o firmware completo, você pode desativar o processo relacionado, consulte o tópico de perguntas e respostas relacionado. Uma maneira simples de desabilitar TODOS os sensores para teste é comentar a linha #define ENABLE_SENSORS no arquivo GlobalDefinitions.h.

Quando a placa inicializa o sketch principal pela primeira vez, ela deve reconhecer que não está configurada e deve abrir um hotspot wi-fi, ao qual você pode se conectar e configurar. Entre as configurações, há um servidor syslog que ajuda muito na depuração. Você também pode aumentar o nível de registro removendo o comentário de #define DEBUG_SYSLOG no arquivo GlobalDefinitions.h. Observe que no mesmo arquivo há também um #define DEBUG_SERIAL que foi usado durante a depuração inicial. Se não comentado, ele produz _alguns_ registros residuais, mas mínimo. Um item de ToDo sempre foi para tornar o registro uniforme e selecionável, mas eu nunca tive tempo para limpá-lo.

Você modificou as bibliotecas que usou, há alguma configuração necessária? (ao contrário de baixar e compilar)

Boa pergunta, esqueci de mencionar esse ponto. Na verdade, existem alguns mods / configurações necessários:

  • Biblioteca https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - instruções de depuração em série. Precisa ser comentado, pois a porta serial é usada para um sensor!
  • Biblioteca https://github.com/Bodmer/TFT_eSPI - requer um arquivo de configuração onde a atribuição do pino e a frequência SPI são especificadas
  • Biblioteca https://github.com/lucadentella/ArduinoLib_MAX1704 … - Olhando os comentários e solicitações de pull, percebi que há uma correção de bug que nunca foi mesclada

Pelo que me lembro, deveria ser isso. Avise-me se surgir algum problema.

NOTA: Por favor, consulte os comentários no código-fonte mais recente - contém links para todas as bibliotecas necessárias e é mantido atualizado

Por que alguns sensores mostram vermelho e alguns verdes no vídeo / fotos?

A cor indica tendência. Começa branco e se subir é vermelho, se descer é verde.

Como você lida com a deriva dos sensores ao longo do tempo? Esses sensores são bons? O que posso ver com esses sensores?

Honestamente, este não é um kit de medição científica. Para calibrar eu precisaria de um equipamento que não tenho disponível. Este é realmente um projeto favorito. Tentei vários sensores. A partícula, CO2, temperatura, umidade, pressão, Geiger são bastante bons na minha opinião. No NO2, tenho reservas quanto à calibração e design geral, mas não há muito disponível. No geral, eles são sensores convencionais.

No entanto, a combinação é boa o suficiente para mostrar coisas que você não esperaria.

Com o Atmoscan na sala de estar e na cozinha a um cômodo de distância, ele detecta grandes picos de partículas quando, por exemplo, coisas para fritar. Parece o NO2 do tráfego matinal, mesmo com as janelas fechadas.

Um contador Geiger era realmente necessário? Mostra algo útil?

Felizmente não tivemos incidentes nucleares e a guerra ainda não está chegando … Mesmo assim, há usinas nucleares não muito longe e o governo distribui pílulas de iodo para as crianças guardarem na gaveta em caso de incidentes … então fiquei desconfiado. Até agora, devo dizer que as leituras estão exatamente em linha com a radiação de fundo esperada (0,12 uSv / h)

Qual é o custo total do dispositivo?

Já tinha muitos componentes em casa e os links acima dão uma ideia. Honestamente, se você comprar um NetAtmo pré-fabricado ou similar, você economizará dinheiro. Você não pode bater uma empresa chinesa fazendo coisas em grande escala! Porém, se você gosta de fazer talvez junto com seus filhos, vale a pena. A parte boa é que já testei (e descartei) vários sensores para você….

Que tal PCBs? Você pode me vender um?

Originalmente, eu tinha 10 deles feitos por dirtypcbs.com e meus arquivos funcionaram perfeitamente. De boa qualidade e barato o suficiente, 25USD / 20Euro para 10 PCBs. Usei dois e tenho o prazer de enviar os restantes pelo custo mínimo (2 euros + envio, dependendo da localização e preferências de envio). Receio ter que escolher os primeiros que me enviam uma mensagem privada.

Você pode fazer um kit ou uma campanha de kickstarter?

Lisonjeiro, mas sinceramente nunca pensei que fosse inovador o suficiente … e além disso, NÃO TEM TEMPO !!

No entanto, se alguém pegar a ideia, uma segunda iteração será necessária. Existem algumas arestas afiadas no design que valeria a pena corrigir, mas, novamente, nunca tive tempo suficiente para a V2.

No hardware: Posso adicionar / remover um sensor, a tela etc. para expandir as capacidades / reduzir o consumo de energia?

O display é conectado sem usar MISO, portanto, a CPU nunca lê a partir do display. Portanto, você simplesmente não poderia conectar a tela e ela funcionaria perfeitamente. Dito isso, a tela fica ligada apenas por algum tempo depois que o último gesto foi detectado, por isso não está realmente afetando o consumo de energia.

Em vez disso, os sensores consomem muita energia e a coisa toda usa facilmente 400 / 500mA. Não se esqueça da ventoinha e também do fato de que o sensor de partículas também possui uma ventoinha embutida. O ESP também não entra no modo de hibernação, devido à falta de ponte GPIO. No entanto, isso talvez economizasse 20mA …

O software é modular e você pode facilmente adicionar / remover processos e telas para adicionar sensores ou acendê-lo removendo alguns, se desejar. A única limitação é o número de pinos GPIO. No entanto, os sensores podem ser facilmente adicionados se I2C ou, alternativamente, um expansor I2C pode ser usado para adicionar GPIOs …

Para desabilitar um sensor, por exemplo, para testar uma compilação parcial, a melhor maneira na minha opinião seria não iniciar o processo relacionado. Isso pode ser feito comentando a chamada enable () relacionada na função void startProcesses () no arquivo.ino principal. A menos que você deseje modificar estruturalmente o sistema, eu não removeria os processos completamente, pois a tela e os processos MQTT irão pesquisá-los. Dessa forma, eles devem retornar apenas zero. Observe que a entrada de interrupção para a placa Geiger deve ser puxada para baixo se não for usada, caso contrário, a placa não inicializará.

Quais são as melhorias que você teria feito se tivesse tempo para uma versão 2.0?

Em nenhuma ordem particular..

  • O PCB pode evitar cobre atrás da antena ESP8266. Eu esqueci totalmente e isso torna o diagrama de radiação não isotrópico
  • O carregador, na minha opinião, é subdimensionado para uma bateria tão grande / a bateria é muito grande para o carregador. Existem outros ICs e eu tentaria outro.
  • Existem medidores de bateria melhores.
  • Eu adicionaria um sensor de ozônio
  • Eu usaria um ESP32 para mais GPIOs e sensores Bluetooth da unidade principal.
  • Se eu tivesse mais GPIOs com o ESP32 ou com um expansor I2C, usaria um para controlar o ventilador e outro para desligar a unidade a partir do software. Agora, quando a bateria está fraca, a única coisa que pode fazer é exibir uma tela de bateria fraca. Esta é de fato a maior desvantagem do design, já que a situação de bateria fraca não é tratada com elegância.

No Software

Levei mais tempo do que o hardware … Acho que contém uma série de bons conceitos, infelizmente não totalmente implementados. Especificamente, acredito que deve ser limpo, potencialmente expandido e uma estrutura genérica para aplicativos ESP8266 poderia ser facilmente derivada dele. Sem tempo. Alguém aceitou o desafio?

Você pode adicionar controle de voz?

Deve ser viável. Há uma série de bibliotecas prontas para controlar um ESP8266 com Alexa e não vejo por que a integração deve ser um problema. A questão interessante é o que você quer fazer com ele, em termos de funcionalidade. Não tenho um Amazon Echo, então nunca tentei.

Como você fez os cortes a laser?

Os desenhos são feitos com SketchUp. O programa é bom, mas realmente carece de recursos de exportação. No entanto, a versão de avaliação de 30 dias ajuda, pois tem funcionalidades adicionais. Em seguida, importei para o Inkscape para o processamento final.

Você pode ligar / desligar os sensores para economizar energia, via MOSFETs?

Boa ideia em princípio, mas a maioria desses sensores precisa ser alimentada o tempo todo, pois eles têm um tempo de aquecimento. Além disso … acabo os GPIOs no ESP8266. Eu até tive que usar o GPIO10 que oficialmente não é funcional, mas funciona bem na ESP12E.

Quais habilidades eu preciso?

Para construí-lo do zero, você precisaria de algum conhecimento de design eletrônico. Na verdade, não muito, hoje em dia com a internet você realmente não precisa ler as planilhas de dados linha por linha como nos meus primeiros dias … Se você usar o resultado da minha experimentação, você precisa de algumas habilidades de solda SMD, habilidades mecânicas e um pouco de paciência.

Este é o seu primeiro projeto?

É meu primeiro projeto instrutível, mas não meu primeiro. Eu mexi muito no passado, mas realmente não tenho muito tempo hoje em dia. Ressuscitei minhas habilidades enferrujadas enquanto tento ensinar algo útil para meus filhos..! Fiz mais alguns projetos que um dia devo publicar..

Recomendado: