premessa: EcoDuino si sta evolvendo. Ora EcoDuino ha un nuovo involucro. È protetto dagli spruzzi d’acqua, quindi è sicuro da usare accanto alle tue piante. L’EcoDuino ora è dotato di un Atmega32U4 che elimina la necessità di un adattatore. E gli schizzi possono semplicemente essere caricati tramite Mirco USB proprio come Arduino Leonado Un altro miglioramento è che il sensore DS18B20 ora è direttamente supportato.
EcoDuino è progettato da DFRobot per aiutarti a coltivare piante.Utilizzando una serie di microcontrollori, sensori e attuatori, il sistema EcoDuino può rendere i tuoi sforzi per coltivare piante molto più facilmente.
In questo sistema, i sensori vengono utilizzati per raccogliere dati che possono mostrare le condizioni dell’impianto come temperatura, umidità, intensità della luce, ecc…
Se lo desideri, EcoDuino può inviarti un messaggio e dirti come stanno andando le tue piante tramite comunicazioni wireless.Inoltre, innaffierà automaticamente le tue piante quando hanno sete o ad un intervallo predeterminato.
La cosa interessante di EcoDuino è che è sviluppato sulla base di Arduino, il che significa che non solo puoi programmare EcoDuino nell’ambiente IDE Arduino, ma anche utilizzare qualsiasi hardware compatibile con Arduino nel tuo sistema EcoDuino.
CARATTERISTICHE TECNICHE:
- Alimentazione scheda: 6~12V DC
- Bootloader: leonardo
- 4 porte I/O analogiche, 5 porte I/O digitali
- Terminale per interfacciare un’asta in carbonio (sensore di umidità del suolo)
- Terminale per interfacciare un sensore di temperatura DS18B20 (sensore di temperatura del suolo)
- Terminale per interfacciare un motore o un’elettrovalvola
- Potenziometro per impostare il valore di soglia dell’umidità del suolo di irrigazione
- Slot Xbee
- Micro USB
- Terminale a vite da 3,5 mm
- Dimensioni scheda: 75 x 50 mm
- Alimentazione pompa subacquea: 4.5~12V DC
- Testa di pompaggio: 200 cm
- Portata: 100-350L/H
- Gamma di potenza: 0,5 W-5 W
- Dimensioni della pompa: 38x38x29mm
LISTA MATERIALI:
DIAGRAMMA:
CONSIGLI:
Sensore di umidità del suolo: filo blu (A2), filo rosso (VCC), filo nero (GND)
Sensore di umidità DHT11: filo verde (D9), filo rosso (VCC), filo nero (GND)
Pompa: filo marrone (), filo blu (-)
Portabatterie: filo rosso (), filo nero (-)
Il potenziometro blu è collegato al pin A1 della scheda di controllo principale, l’utente può leggere il valore e impostare la soglia per l’irrigazione automatica.
LEGGI IL VALORE DEL SENSORE:
Librerrie:
- dht11 GPL-v3: dfrobot.com.cn//images/upload/File/201709141149593byvtx.zip
#include <dht11.h>
dht11 DHT;
#define MOISTURE_PIN A2 /soil Moisture sensor/
#define DHT11_PIN 9 //DHT11
int airHumidity; //environment humidity
int airTemperature; // environment temperature
int soilHumidity; //soil moisture
void setup(){
Serial.begin(9600);
}
void loop(){
int chk;
chk = DHT.read(DHT11_PIN); //Read Data
switch (chk){
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
airHumidity=DHT.humidity;
airTemperature=DHT.temperature;
soilHumidity=analogRead(MOISTURE_PIN);
Serial.print("airHumidity:");
Serial.print(airHumidity);
Serial.print(",\t");
Serial.print("airTemperature:");
Serial.print(airTemperature);
Serial.print(",\t");
Serial.print("soilHumidity:");
Serial.println(soilHumidity);
delay(1000);
}
PROVA LA POMPA:
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}
void loop() {
pumpOn();
delay(1000);
pumpOff();
delay(1000);
}
//open pump
void pumpOn()
{
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
}
//close pump
void pumpOff()
{
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}
ESEMPIO DI IRRIGAZIONE AUTOMATICA DEI FIORI:
#define MOISTURE_PIN A2
int soilHumidity;
int setHumidity = 50; //Set the pump trigger threshold
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}
void loop() {
soilHumidity = map(analogRead(MOISTURE_PIN), 0, 1023, 0, 100); //Map analog value to 0~100% soil moisture value
if (soilHumidity < setHumidity) {
pumpOn();
} else {
pumpOff();
}
}
//open pump
void pumpOn() {
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
}
//close pump
void pumpOff() {
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}
Buon progetto.