Índice:

Estação meteorológica portátil: 4 etapas
Estação meteorológica portátil: 4 etapas

Vídeo: Estação meteorológica portátil: 4 etapas

Vídeo: Estação meteorológica portátil: 4 etapas
Vídeo: MINI CENTRAL METEOROLÓGICA (HARDWARE) | Curso de Arduino #110 2024, Novembro
Anonim
Estação meteorológica portátil
Estação meteorológica portátil
Estação meteorológica portátil
Estação meteorológica portátil
Estação meteorológica portátil
Estação meteorológica portátil

Neste Instructable, usaremos um Arduino, um display OLED e uma combinação de sensor ambiental SparkFun com sensores CCS811 e BME280 a bordo para construir um dispositivo portátil que mede temperatura, umidade, níveis de TVOC, pressão barométrica e níveis de dióxido de carbono. Você pode usar qualquer Arduino com o código fornecido, mas estou usando um SparkFun Qwiic pro micro. Se você é um iniciante, sugiro que use as mesmas peças que estou usando, apenas para manter as coisas simples. Escolhi a micro placa SparkFun Qwiic pro por seu tamanho pequeno e o conector Qwiic, facilitando a conexão de seus componentes. Se você estiver usando uma placa diferente, certifique-se de comprar um chapéu Qwiic, phat ou escudo para caber em sua placa.

Suprimentos:

  • Divisão da combinação ambiental SparkFun -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Cabo Qwiic, 50 mm -
  • Caixa do projeto, tamanho de seus componentes, estou usando cerca de 3 x 2 x 1 -
  • Opcional: se você estiver usando o Qwiic Pro Micro, pode precisar de um cabo usb-c (se ainda não tiver um) para alimentação e programação
  • Tela da janela, cerca de 1,5 x 1,5 polegadas
  • Parafusos (veja a imagem acima)

Ferramentas:

  • Bastões de cola quente e pistola de cola quente
  • Tesoura
  • Lâmina de barbear ou faca x-acto, capaz de cortar sua caixa de projeto

Etapa 1: marcar e cortar furos e colocar na tela da janela

Marcar e cortar furos e colocar na tela da janela
Marcar e cortar furos e colocar na tela da janela
Marcar e cortar furos e colocar na tela da janela
Marcar e cortar furos e colocar na tela da janela
Marcar e cortar furos e colocar na tela da janela
Marcar e cortar furos e colocar na tela da janela

Vamos marcar e abrir orifícios para o oled, sensor ambiental e conector USB-C para programação e alimentação.

  1. Alinhe seus componentes onde quiser e marque os orifícios dos parafusos.
  2. Marque quadrados, para o oled, um quadrado do tamanho da tela e para o sensor ambiental, um quadrado um pouco maior que os 2 sensores (veja as fotos acima).
  3. Marque o espaço para o conector USB-C. Minha placa Qwiic Pro Micro já tinha conectores soldados, então coloquei em um pedaço de espuma e marquei. Se o seu não tiver, coloque-o plano contra a parte inferior da caixa para marcar o orifício.
  4. Faça os orifícios marcados e corte o conector USB-C. Os orifícios devem ser grandes o suficiente para permitir a passagem dos parafusos.
  5. Corte um quadrado de tela de janela um pouco maior do que o orifício para o sensor. Corte o espaço na tela da janela para o orifício do parafuso e a coluna de montagem (veja as fotos acima).
  6. Cole a tela com cola quente no lugar.

Etapa 2: montagem de óleo e sensor

Monte Oled e Sensor
Monte Oled e Sensor
Monte Oled e Sensor
Monte Oled e Sensor
Monte Oled e Sensor
Monte Oled e Sensor

Monte o sensor oled e ambiental na caixa. Os parafusos maiores vão para os orifícios que você fez e os parafusos menores vão para os postes no canto da tampa do gabinete. Use as arruelas para espaçadores. Para os parafusos maiores, consulte o diagrama acima para esclarecimentos. Pode ser necessário usar mais de uma arruela para espaçamento.

Etapa 3: Monte o Arduino e conecte os componentes

Monte Arduino e conecte componentes
Monte Arduino e conecte componentes
Monte Arduino e conecte componentes
Monte Arduino e conecte componentes
Monte Arduino e conecte componentes
Monte Arduino e conecte componentes
  1. Minha placa Qwiic Pro Micro já tinha conectores soldados, então coloquei em um pedaço de espuma e colei. Se o seu não tiver cabeçalhos, cole-o na parte inferior da caixa. Certifique-se de que haja espaço suficiente para o cabo Qwiic se conectar.
  2. Conecte os componentes com os conectores Qwiic. Nem a ordem nem o lado do conector Qwiic estão em questão. Veja as fotos acima para esclarecimentos.
  3. Agora você pode encaixar sua caixa de projeto. Certifique-se de que os cabos Qwiic estejam bem conectados e não sejam pressionados.

Etapa 4: Código

Para colocar sua micro placa Qwiic pro em funcionamento, siga este tutorial.

Feito isso, o código abaixo de você pode encontrá-lo no GitHub aqui.

#include #include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 # define CCS811_ADDR 0x5B // Endereço I2C padrãoMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR 0x5B // Default I2C AddressMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR minha configuração 280);; Wire.begin (); oled.begin (); // Inicializa o OLED oled.clear (ALL); // Limpa a memória interna do display oled.display (); // Exibe o que está no buffer (tela inicial) oled.clear (PAGE); // Limpe o buffer. randomSeed (analogRead (A0) + analogRead (A1)); // Inicialize BME280 // Para I2C, habilite o seguinte e desabilite a seção SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Modo normal myBME280.settings.tStandby = 0; myBME280.settings.filter = 4; myBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core:: CCS811_Status_e returnCode = myCCS811.beginWithStatus (); // Chamar.begin () faz com que as configurações sejam carregadas delay (10); // Certifique-se de que o sensor teve tempo suficiente para ligar. BME280 requer 2ms para inicializar. byte id = myBME280.begin (); // Retorna o ID de 0x60 se o atraso for bem-sucedido (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (round (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (round (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (round (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (round (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (round (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Verifique se os dados estão disponíveis if (myCCS811.dataAvailable ()) {// Chamar esta função atualiza as variáveis globais tVOC e eCO2 myCCS811.readAlgorithmResults (); // printData busca os valores de tVOC e eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Isso envia os dados de temperatura para o CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); atraso (2000); }

Cole o código no IDE do Arduino e compile-o. A tela deve mostrar o logotipo SparkFun por alguns segundos e, em seguida, começar a exibir as condições ao vivo. As condições são atualizadas a cada 2 segundos. Obrigado pela leitura.

Tem uma questão?

Deixe um comentário ou me mande um email aqui

Recomendado: