Abbiamo unito i due codici dei sensori, specificatamente del DHT11 (sensore di umidità e temperatura) e la cella di carico (impiegato per rilevare gli spostamenti della cella di carico). Il codice che segue è il risultato del nostro lavoro di oggi:
#include “HX711.h”
#define DOUT A1
#define CLK A0
HX711 bilancia(DOUT, CLK);
int peso = 0; // zona di memorizzazione del peso corrente
int pesoprec = 0; // zona di memorizzazione dell’ultimo peso esposto
#include <SimpleDHT.h>
int pinDHT11 = 2;
SimpleDHT11 dht11(pinDHT11);
void setup()
{
Serial.begin(9600);
Serial.println(“calcolo della tara – tare”);
Serial.println(“non mettere nulla sul piatto – don’t place anything on the scale…”);
delay (100);
bilancia.set_scale(253); // inserire il valore di scala, al posto di 2022 – insert scale value instead of 2022
bilancia.tare(20); // il peso a vuoto e’ considerato tara
Serial.println(“sistema pronto – system ready”);
}
void loop()
{
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
peso = bilancia.get_units(20), 3;
if (!(peso == pesoprec)) // se e’ variato il peso
{
Serial.print(“peso – weigth: “);
Serial.print(peso);
Serial.println(“g”);
}
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print(“Lettura fallita, err=”); Serial.println(err);delay(1000);
return;
}
Serial.print(“Temperatura: “);
Serial.print((int)temperature); Serial.print(” *C, “);
Serial.println(” “);
Serial.print(“Umidita’: “);
Serial.print((int)humidity); Serial.println(” H”);
delay(500);
}