• foto1.png
  • foto2.png
  • foto3.png
  • foto4.png
  • foto5.png

Colmea Monitorizada

 

A Colmea monitorizada permite rexistrar a temperatura no interior da colmea e no exterior da mesma, rexistar o nivel de son dentro da colmea e rexistrar o peso. A programación da mesma está planificada para enviar os datos cada 10 minutos a un servidor en ThingSpeak. Ao mesmo tempo permítenos consultar e analizar os datos rexistrados.

O obxectivo principal con este proxecto, é analizar a correlación entre temperatura e estado da colmea, e a correlación entre nivel de son e actividade e saúde xeral da colmea. Deste análise, e nun futuro, esperamos poder obter un sistema autónomo que nos avise e anticipe problemas na colmea, relacionando os datos anteriores coa situación a estudar. Por outra banda, os sensores de peso, engaden unha nova varialbe a ecuación, permitindo analizar a produción de mel e a súa correlación coas anteriores variables (son, temperatura).

Montaxe da colmea

  • 4 celdas de carga YZC-161
  • 1Trasmisor de celda de carga HX711
  • 1 Arduino Yun
  • 2 sesores temperatura e humidade DHT11
  • 1 sensor de sonido

 

Código Arduino

#include <DHT.h>
#include <HX711.h>
#include <Console.h>
#include <ThingSpeak.h>
#define USE_WIFI101_SHIELD
#include “YunClient.h”
YunClient client;
unsigned long myChannelNumber = xxxxxxx;
const char * myWriteAPIKey = “xxxxxxxx”;
//Fin thingspeak

//temperatura e humidade interior
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
const int DHTPin_interior = 12;
DHT dht_interior(DHTPin_interior, DHTTYPE);

//temperatura e humidade exterior
const int DHTPin_exterior = 9; // what digital pin we’re connected to
DHT dht_exterior(DHTPin_exterior, DHTTYPE);

//Pins Pesa
#define DOUT 7
#define CLK 5
HX711 scale(DOUT, CLK);
#define calibration_factor 9000 //This value is obtained using the SparkFun_HX711_Calibration sketch

//variables
int contador=0;
float peso=0;
float h_interior=0;
float t_interior=0;
float h_exterior=0;
float t_exterior=0;
int son=0;

void setup() {
Bridge.begin();
Console.begin();
ThingSpeak.begin(client);
dht_interior.begin();
dht_exterior.begin();
scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
scale.tare(); //Assuming there is no weight on the scale at start up, reset the scale to 0
Console.println(“Readings:”);

}

void loop() {
contador=contador+1;

//ler peso
peso=peso+scale.get_units();

//ler temperaturas e humidades interiores
h_interior = h_interior+dht_interior.readHumidity();
t_interior = t_interior+dht_interior.readTemperature();

//lemos temperaturas exteriores
h_exterior = h_exterior+dht_exterior.readHumidity();
t_exterior = t_exterior+dht_exterior.readTemperature();
//fin ler temperaturas interiores

//lemos son
son = son+analogRead(A5);

if (contador>900000){ //envio datos cada 15 minutos.
//calculamos valores medios
peso=peso/contador;
h_interior=h_interior/contador;
t_interior=t_interior/contador;
h_exterior=h_exterior/contador;
t_exterior=t_exterior/contador;
son=son/contador;

//enviamos datos a thingspeak
ThingSpeak.setField(1,scale.get_units());
ThingSpeak.setField(2,t_interior);
ThingSpeak.setField(3,t_exterior);
ThingSpeak.setField(4,h_interior);
ThingSpeak.setField(5,h_exterior);
ThingSpeak.setField(6,son);
ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);

contador=0;
peso=0;
h_interior=0;
h_exterior=0;
h_exterior=0;
t_exterior=0;
son=0;
}

delay(1000);
}

© 2020 Cicapis. Proxecto cofinanciado por: