Lifely Agrumino Lemon – Stazione Meteo Tascabile

Benvenuti ad un nuovo articolo del blog di Lifely!

Oggi vi parleremo di un progetto realizzabile con il nostro dispositivo Lifely Agrumino Lemon: una stazione meteo tascabile.

Il nostro Lifely Agrumino Lemon è un dispositivo open-source, programmabile per ogni esigenza. Infatti, se sei un makers e sei appassionato di tecnologia puoi migliorare il nostro dispositivo scrivendo tu stesso il codice e condividerlo con la community!

Sei interessato al nostro dispositivo Lifely Agrumino Lemon? Puoi acquistarlo subito premendo il pulsante qui sotto.

Cosa ti occorre?

Componenti hardware

  • Lifely Agrumino Lemon
  • Breadboard (generico)
  • 4 pin male jumper to grove
  • Adafruit – bme680

Software apps and online services

 

Ma ora iniziamo! Scopri con noi come costruire una stazione meteo tascabile con il nostro dispositivo programmabile Lifely Agrumino Lemon.

STEP 1: Descrizione e Connessione

Come prima cosa bisognerà collegare Lifely Agrumino Lemon come un esempio di Fritzing.

Questo passaggio ci permetterà di acquisire i seguenti dati con elevata precisione:

 

  • Temperatura;
  • Umidità;
  • Pressione atmosferica;
  • Composti organici volatili (VOC);
  • Altitudine;
  • Qualità dell’aria.

 

Applicazioni tipiche dei utilizzo del sensore bme680:

 

  • Qualità dell’aria interna;
  • Domotica e controllo;
  • Internet of Things;
  • Previsioni meteo;
  • Miglioramento del GPS;
  • Navigazione interna;
  • Applicazioni per la navigazione all’aperto, il tempo libero e lo sport;
  • Indicazione della velocità verticale (velocità di salita/discesa);
  • Dispositivi portatili come telefoni cellulari, tablet, PC, dispositivi GPS;
  • Indossabili;
  • Stazioni meteo domestiche;
  • Orologi intelligenti;
  • Sistemi di navigazione.

STEP 2: Importa lo sketch dal collegamento github

Ora non ti resterà che importare gli sketch dal link e caricarli con l’IDE Arduino sul tuo Lifely Agrumino Lemon

#include <Wire.h>
#include <SPI.h>
#include <Agrumino.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BME680.h"
#define REFRESH_TIME 5000 //////ms
#define SEALEVELPRESSURE_HPA (1013.25)///change value
#define SERIAL_BAUD 115200
Adafruit_BME680 bme; // I2C connection
Agrumino agrumino;

void setup() {
agrumino.setup();
agrumino.turnBoardOn();
Serial.begin(SERIAL_BAUD);
while (!Serial);
Serial.println("BME680 test in progress");

if (!bme.begin()) {
Serial.println("Could not find a valid BME680 sensor, check wiring!");
while (1);
}

// Set up oversampling and filter initialization
bme.setTemperatureOversampling(BME680_OS_8X);
bme.setHumidityOversampling(BME680_OS_2X);
bme.setPressureOversampling(BME680_OS_4X);
bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
bme.setGasHeater(320, 150); // 320*C for 150 ms
}

void loop() {

boolean isAttachedToUSB = agrumino.isAttachedToUSB();
boolean isBatteryCharging = agrumino.isBatteryCharging();
boolean isButtonPressed = agrumino.isButtonPressed();
float temperature = agrumino.readTempC();
unsigned int soilMoisture = agrumino.readSoil();
unsigned int soilMoistureRaw = agrumino.readSoilRaw();
float illuminance = agrumino.readLux();
float batteryVoltage = agrumino.readBatteryVoltage();

Serial.println("Data from Agrumino Lemon");
Serial.println("isAttachedToUSB: " + String(isAttachedToUSB));
Serial.println("isBatteryCharging: " + String(isBatteryCharging));
Serial.println("isButtonPressed: " + String(isButtonPressed));
Serial.println("Temperature: " + String(temperature) + "°C");
Serial.println("SoilMoisture: " + String(soilMoisture) + "%");
Serial.println("SoilMoisture: " + String(soilMoistureRaw) + "Mv");
Serial.println("illuminance : " + String(illuminance) + " lux");
Serial.println("batteryVoltage : " + String(batteryVoltage) + " V");
Serial.println("End");
Serial.println("*********************");

if (! bme.performReading()) {
Serial.println("Error with perform reading :(");
return;
}

Serial.println("Value from Bme680");
Serial.print("Temperature = ");
Serial.print(bme.temperature);
Serial.println(" °C");
Serial.print("Pressure = ");
Serial.print(bme.pressure / 100.0);
Serial.println(" hPa");
Serial.print("Humidity = ");
Serial.print(bme.humidity);
Serial.println(" %");
Serial.print("Gas = ");
Serial.print(bme.gas_resistance / 1000.0);
Serial.println(" KOhms");
Serial.print("Approx. Altitude = ");
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" mt");
Serial.println("End");
Serial.println("*********************");
delay(REFRESH_TIME);
}

STEP 3: Mostra i dati sul tuo monitor seriale

Conclusioni

Con questo semplice esempio potrai costruire la tua stazione metereologica tascabile e molto precisa.

Puoi anche collegare un piccolo display (I2C) per vedere i dati acquisiti oppure inviarli con Mqtt direttamente al tuo smartphone.

Hai delle idee interessanti da poter realizzare con il nostro Agrumino Lemon? Scrivici subito!

Hai bisogno di aiuto?
Scan the code