Phytodepuration and electronics - mcworkshop

MC   WORKSHOP
Vai ai contenuti

Menu principale:

Phytodepuration and electronics

Educational phyto-implant - phytodepuration and electronics - (Biotopo clic here)
For this project I used two Arduino CH340 boards and two Raspberry on which the IDE was loaded.
The research of treatment systems with "sustainable" technical requirements and characteristics has favored in recent years the development of systems that do not require complex mechanical components with high energy consumption, but which tend to take full advantage of the "natural" component that underlies any purification system.
Natural wetlands have been used for many centuries in the treatment of sewage produced by the settlements.
Wetlands built
Phytodepuration systems based on the reconstruction of artificial wetlands can be distinguished in different types, summarized briefly as follows:
- Mobile hydrophyte macrophyte systems;
- submerged rooted hydrophyte macrophytes;
- Emerging root hydrophyte macrophytes systems;
- Multi-stage systems, data from combinations of the three previous classes.
The first two systems provide for the presence of a surface of water, similar to what occurs in nature in marsh and lagoon environments, while the emerging system of rooted macrophytes allows to operate both with water surfaces (as in previous cases) and without external surfaces of water, which remains below ground level. In fact these systems, among the most widespread for their flexibility, can be further classified according to the hydraulic path of the waste water:
- Surface flow systems;
- Submerged (or subsurface) horizontal flow systems;
- Submerged (or underground) vertical flow systems.

Per questo progetto ho usato due schede Arduino CH340 e due Raspberry su cui è stato caricato l'IDE.
La ricerca di sistemi di trattamento con requisiti e caratteristiche tecniche "sostenibili" ha favorito negli ultimi anni lo sviluppo di impianti che non richiedono componenti meccanici complessi ad alto consumo energetico, ma che tendono a sfruttare appieno la componente "naturale" che sta alla base di qualsiasi sistema di purificazione.
Le zone umide naturali sono state utilizzate per molti secoli nel trattamento delle acque reflue prodotte dagli insediamenti.
Zone umide costruite
I sistemi di fitodepurazione basati sulla ricostruzione di zone umide artificiali possono essere distinti in diversi tipi, riassunti brevemente come segue:
- Sistemi di macrofita idrofita mobile;
- macrofite di idrofite radicata sommersa;
- Sistemi di macrofite idrofite radicate emergenti;
- Sistemi a più stadi, dati da combinazioni delle tre classi precedenti.
I primi due sistemi prevedono la presenza di una superficie d'acqua, simile a quanto avviene in natura negli ambienti palustri e lagunari, mentre il sistema emergente di macrofite radicate consente di operare sia con superfici d'acqua (come nei casi precedenti) che senza superfici esterne di acqua, che rimane invece sotto il livello del suolo. Infatti questi sistemi, tra i più diffusi per la loro flessibilità, possono essere ulteriormente classificati a seconda del percorso idraulico delle acque reflue:
- Sistemi di flusso superficiale;
- Sistemi di flusso orizzontali sommersi (o sottosuperficiali);
- Sistemi di flusso verticale sommerso (o sotterraneo).


Material
#2 Arduino Uno compatible ch340
#1 DHT11
#1 shild for rain sensor
#1 water lifting pump 220Volt Vac
#1 relay

Electrical connection diagram






Sketch for level sensor
Level sensor. Stop the pump in case of obstruction of the upper tank.
You can download the sketch here:

line #4 A0 shild to A0 Arduino
line #5 DO shild to DO Arduino
line # 12 pin 9 to in relay

/* MC workshop aprile 2018
 This example code is in the public domain. */
int nRainIn = A0;
int nRainDigitalIn = 2;
int nRainVal;
boolean bIsRaining = false;
String strRaining;
void setup() {
 Serial.begin(9600);
 pinMode(2, INPUT);
 pinMode (9, OUTPUT);
}
void loop() {
 nRainVal = analogRead(nRainIn);
 bIsRaining = !(digitalRead(nRainDigitalIn));
 if (bIsRaining) {
   strRaining = "ALLARM";
   digitalWrite(9, HIGH);
 }
 else {
   strRaining = "OK";
   digitalWrite(9, LOW);
 }
 Serial.print("Status: ");
 Serial.print(strRaining);
 Serial.print("\t Level: ");
 Serial.println(nRainVal);
 delay(3000);
}

Temperature, humidity, data logger

MOSI - pin 11
MISO - pin 12
CLK - pin 13
CS - pin 4
DHT11 - pin 2

//SD + DHT11
//Aprile 2018
#include <SoftwareSerial.h>
#include <DHT.h>
#include <SPI.h>
#include <SD.h>
// Variabili globali
int DHTPIN = 2;
const int chipSelect = 4;
unsigned long Secs=0;
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
 // Aprire la comunicazione seriale
 Serial.begin(9600);
 while (!Serial) {
   ; // Attendere l`apertura della comunicazione seriale
 }
 dht.begin();
 Serial.print("Inizializzazione SD card...");
 // Se la card è presente inizia
 if (!SD.begin(chipSelect)) {
   Serial.println("SD Card non valida o non presente");
   // non eseguire più il codice
   return;
 }
 Serial.println("SD Card inizializzazione.");
}
void loop() {
 // crea una stringa per assemblare i dati di log
 String dataString = "";
 int h = dht.readHumidity();
 // Leggi la temperatura in Celsius (di default)
 int t = dht.readTemperature(false); // true= fahrenheit   false= celsius
 unsigned long Secs=millis();
 Secs=(millis/1000)
 // Aprire il file. Da notare che può essere aperto un solo file alla volta,
 // quindi bisogna chiudere questa prima di aprirne un'altra.
 File dataFile = SD.open("datalog.txt", FILE_WRITE);
// Se è presente il file, scrivi su i millisecondi,umidità, temperatura:
if (dataFile) {
   dataFile.println(String(Secs)+","+String(h)+","+String(t));
   dataFile.close();
   // Scrivi sul monitor seriale i millisecondi,umidità, temperatura:
   Serial.println(String(Secs)+","+String(h)+","+String(t));
   delay(10000);  // Ogni 10 secondi
 }
 // Se il file non è aperto, scrivi sul monitor seriale:
 else {
   Serial.println("Errore apertura datalog.txt");
 }
}

line 23 SD card initialization
line 27 SD Card not valid or not present
line 38 Read the temperature in Celsius
line 43 Only one file can be open at a time
line 47 If the file is present, write on the milliseconds, humidity, temperature
line 53 Every 10 seconds
line 55 - 57 If the file is not open, write to the serial monitor: datalog opening error


Sketch DHT11 sensor
You can download the sketch here:
/* for DHT11,
VCC: 5V or 3V
GND: GND
DATA: 2
line #2 pin out DHT11 to pin 2 Arduino

MC workshop aprile 2018 Open source
Ultima modifica il 4 aprile 2018 alle 20:46
Versione 1.0 utilizzo: impianto fitodepurazione
This example code is in the public domain.*/

#include <SimpleDHT.h>
int pinDHT11 = 2;
SimpleDHT11 dht11;
void setup() {
 Serial.begin(9600);
 Serial.println ("Hallo Marco, I'm ready!");
 delay(2000);
}
void loop() {
 byte temperature = 0;
 byte humidity = 0;
 int err = SimpleDHTErrSuccess;
 if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
   Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
   return;
 }
 Serial.print((int)temperature); Serial.print(" C ");
 Serial.print((int)humidity); Serial.println(" %");
 delay(5000);
}

Videos and photo gallery



 
Copyright 2015. All rights reserved.
Torna ai contenuti | Torna al menu