Tabla de contenido:

Estación meteorológica portátil: 4 pasos
Estación meteorológica portátil: 4 pasos

Video: Estación meteorológica portátil: 4 pasos

Video: Estación meteorológica portátil: 4 pasos
Video: Estación Meteorológica con Arduino #01- Introducción 2024, Mes de julio
Anonim
Estación meteorológica portátil
Estación meteorológica portátil
Estación meteorológica portátil
Estación meteorológica portátil
Estación meteorológica portátil
Estación meteorológica portátil

En este Instructable usaremos un Arduino, una pantalla OLED y un combo de sensor ambiental SparkFun con sensores CCS811 y BME280 a bordo para construir un dispositivo de mano que mida temperatura, humedad, niveles de TVOC, presión barométrica y niveles de dióxido de carbono. Puede usar cualquier Arduino con el código provisto, pero estoy usando un micro SparkFun Qwiic pro. Si eres un principiante, te sugiero que uses las mismas partes que estoy usando, solo para simplificar las cosas. Elegí la microplaca SparkFun Qwiic pro por su pequeño tamaño y el conector Qwiic, lo que facilita la conexión de sus componentes. Si está usando una tabla diferente, asegúrese de comprar un sombrero, un phat o un escudo Qwiic que se ajuste a su tabla.

Suministros:

  • Desglose de SparkFun Environmental Combo -
  • Salida de SparkFun Micro OLED -
  • SparkFun Qwiic Pro Micro:
  • Cable Qwiic, 50 mm -
  • Caja de proyecto, tamaño para sus componentes, estoy usando alrededor de 3 x 2 x 1 -
  • Opcional: si está utilizando Qwiic Pro Micro, es posible que necesite un cable usb-c (si aún no tiene uno) para la alimentación y la programación
  • Pantalla de ventana, aproximadamente 1,5 x 1,5 pulgadas
  • Tornillos (vea la imagen de arriba)

Instrumentos:

  • Barras de pegamento caliente y pistola de pegamento caliente
  • Tijeras
  • Hoja de afeitar o cuchillo x-acto, capaz de cortar la caja de su proyecto

Paso 1: Marque y corte los agujeros y coloque la pantalla de la ventana

Marque y corte agujeros y coloque en la pantalla de la ventana
Marque y corte agujeros y coloque en la pantalla de la ventana
Marcar y cortar agujeros y colocar en la pantalla de la ventana
Marcar y cortar agujeros y colocar en la pantalla de la ventana
Marque y corte agujeros y coloque en la pantalla de la ventana
Marque y corte agujeros y coloque en la pantalla de la ventana

Marcaremos y cortaremos agujeros para el sensor ambiental oled y el conector USB-C para programación y alimentación.

  1. Alinee sus componentes donde los desee y marque los orificios de los tornillos.
  2. Marque cuadrados, para el oled, un cuadrado del tamaño de la pantalla y para el sensor ambiental, un cuadrado un poco más grande que los 2 sensores (ver imágenes arriba).
  3. Marque el espacio para el conector USB-C. Mi placa Qwiic Pro Micro ya tenía los encabezados soldados, así que la puse en un trozo de espuma y la marqué. Si el suyo no lo tiene, colóquelo plano contra la parte inferior de la caja para marcar el agujero.
  4. Taladre los orificios marcados y corte el conector USB-C. Los orificios perforados deben ser lo suficientemente grandes como para dejar pasar los tornillos.
  5. Corta un cuadrado de pantalla de ventana un poco más grande que el orificio del sensor. Recorte espacio en la pantalla de la ventana para el orificio del tornillo y el poste de montaje (vea las imágenes de arriba).
  6. Pega la pantalla en su lugar con pegamento caliente.

Paso 2: monte Oled y sensor

Monte Oled y Sensor
Monte Oled y Sensor
Monte Oled y Sensor
Monte Oled y Sensor
Monte Oled y Sensor
Monte Oled y Sensor

Monte el sensor ambiental y oleodinámico en la carcasa. Los tornillos más grandes van en los orificios que taladró y los tornillos más pequeños van en los postes en la esquina de la tapa de la caja. Utilice las arandelas como espaciadores. Para los tornillos más grandes, consulte el diagrama anterior para obtener una aclaración. Es posible que deba usar más de una arandela para espaciar.

Paso 3: monte Arduino y conecte los componentes

Monte Arduino y conecte los componentes
Monte Arduino y conecte los componentes
Monte Arduino y conecte los componentes
Monte Arduino y conecte los componentes
Monte Arduino y conecte los componentes
Monte Arduino y conecte los componentes
  1. Mi placa Qwiic Pro Micro ya tenía los encabezados soldados, así que la puse en un trozo de espuma y la pegué. Si el suyo no tiene encabezados, péguelo en la parte inferior de la caja. Asegúrese de que haya suficiente espacio para que se conecte el cable Qwiic.
  2. Conecte los componentes con los conectores Qwiic. Ni el pedido ni el lado del conector Qwiic son importantes. Vea las imágenes de arriba para una aclaración.
  3. Ahora puede juntar la caja de su proyecto. Asegúrese de que los cables de Qwiic estén bien conectados y no se pellizquen.

Paso 4: Código

Para poner en funcionamiento su microplaca Qwiic pro, siga este tutorial.

Una vez hecho esto, el código se encuentra a continuación y puede encontrarlo en GitHub aquí.

#include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 # define CCS811_ADDR 0x5B // Dirección I2C predeterminada; Wire.begin (); oled.begin (); // Inicializar OLED oled.clear (ALL); // Limpia la memoria interna de la pantalla oled.display (); // Mostrar lo que hay en el búfer (pantalla de bienvenida) oled.clear (PAGE); // Limpia el búfer. randomSeed (analogRead (A0) + analogRead (A1)); // Inicializar BME280 // Para I2C, habilite lo siguiente y deshabilite la sección 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 (); // Llamar a.begin () hace que se carguen las configuraciones delay (10); // Asegúrese de que el sensor haya tenido tiempo suficiente para encenderse. BME280 requiere 2 ms para iniciarse. byte id = myBME280.begin (); // Devuelve el ID de 0x60 si el retraso tiene éxito (10000); } vacío 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 (ronda (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 (redondo (myCCS811.getCO2 ())); oled.display (); } bucle vacío () {retraso (2000); // Verifique si hay datos disponibles if (myCCS811.dataAvailable ()) {// Llamar a esta función actualiza las variables globales tVOC y eCO2 myCCS811.readAlgorithmResults (); // printData obtiene los valores de tVOC y eCO2 float BMEtempC = myBME280.readTempC (); flotador BMEhumid = myBME280.readFloatHumidity (); // Esto envía los datos de temperatura al CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); retraso (2000); }

Pegue el código en el IDE de Arduino y compílelo. La pantalla debe mostrar el logotipo de SparkFun durante unos segundos y luego comenzar a mostrar las condiciones en vivo. Las condiciones se actualizan aproximadamente cada 2 segundos. Gracias por leer.

¿Tienes alguna pregunta?

Deja un comentario o envíame un correo electrónico aquí

Recomendado: