sábado, 28 de septiembre de 2013

Ecología urbana. La huella de carbono.

Ecología urbana. La huella de carbono.

Categoría: 2. Ciencia y tecnología.

En la ecología urbana existe el concepto de servicio ambiental, que se refiere a los beneficios que aportan las áreas verdes al medio ambiente en términos de fijación de carbono, generación de oxígeno, e incluso la producción de biomasa que eventualmente puede utilizarse para fabricar biocombustibles.
Kevin y col., 2013, mencionan que las áreas verdes urbanas dedicadas a mantener poblaciones arbóreas pueden almacenar o inmovilizar considerablemente mayores cantidades de carbono que las áreas cubiertas con césped, las cuales a pesar de tener una gran productividad en términos de biomasa, tienen la desventaja de que el carbono fijado es rápidamente liberado en forma de CO2 tras su degradación biológica. Las zonas urbanas son grandes consumidores de oxígeno por la combustión que mueve transportes y maquinaria industrial, por lo cual, las áreas verdes urbanas son importantes puntos de reposición, aunque parcial, del oxígeno consumido. Una tercera forma de servicio ambiental es la posibilidad de destinar la biomasa generada en áreas verdes urbanas para la fabricación de biocombustibles, de manera que el ciclo del carbono se cierra en el tiempo presente, lo que no sucede con el uso de combustible obtenido en depósitos fósiles.
Otra forma en que se puede obtener servicios ambientales en las zonas urbanas es mediante el aumento de la eficiencia de uso de la energía. Hay muchas formas en que se puede mejorar esta eficiencia, mediante el uso de energía solar para precalentar el agua y reducir el consumo de combustible para obtener la temperatura final, otra es la instalación de celdas fotovoltaicas para sustituir al menos una fracción del consumo eléctrico total, el uso de energía geotérmica para la calefacción de interiores se está popularizando en ciudades de latitudes norte o sur más allá de los trópicos. El uso de vehículos eléctricos (conectables) o híbridos (conectables o no conectables) también es una forma de aumentar la eficiencia en el consumo de energía en los medios de transporte.
La evaluación del ciclo de vida (life cycle assessment) que se realiza como parte del diseño de nuevos productos y procesos industriales permite conocer el grado en que la fabricación, uso y disposición final impacta en los diferentes componentes del medio ambiente, es decir, la generación de contaminantes atmosféricos, generación de residuos sólidos no reciclables, generación de residuos peligrosos no reutilizables y agua residual. De esta manera, los productos que contengan mayor porcentaje de componentes reciclables y reutilizables y cuya producción genere la menor cantidad neta de contaminantes atmosféricos y agua residual, serán los más eficientes en términos ambientales. El consumidor final se va a familiarizar paulatinamente con esta información y podrá utilizarla como criterio antes de realizar la adquisición. Uno de los primeros parámetros que el consumidor podrá utilizar para la adquisición de un producto o servicio será el llamado huella de carbono. Aunque en lo sucesivo se integrarán otros.
Los bonos de CO2 son un instrumento financiero internacional que sirven para financiar proyectos sustentables con recursos provenientes de empresas que por su naturaleza no pueden evitar emisiones de contaminantes a la atmósfera. Así aportan recursos para proyectos que secuestran carbono, proyectos que desplazan actividades que emiten gases perjudiciales (gases de efecto invernadero, gases que dañan la capa de ozono, gases que promueven la formación de ozono en las capas inferiores de la atmósfera, como los compuestos orgánicos volátiles y los óxidos de nitrógeno). Con esta medida se trata que las actividades contaminantes obligadas, puedan reducir su huella de carbono de manera indirecta.
Un concepto que sintetiza todos los anteriores es el de huella de carbono, que incluso puede medirse. Dentro de poco tiempo se tendrá la posibilidad de instalar una app en los teléfonos inteligentes que nos permitirá medir nuestra huella de carbono individual (carbon footprint).
Se estima que el 28 por ciento de las tierras agrícolas del mundo producen cultivos que se desperdician. En el proceso, se despilfarran 250 km³ de agua y la huella de carbono de los alimentos producidos y no consumidos se estima en 3,3 gigatoneladas de CO² equivalente (FAO, 2013 – La huella del desperdicio de alimentos, impacto en los recursos naturales)

Ejemplo de automatización.
Aumenta la eficiencia de tus procesos y reduce tu huella de carbono.
En esta entrada se propone un ejercicio sencillo o relativamente sencillo para hacer más eficiente el uso de energía eléctrica en el popular pasatiempo de la acuariofilia o bien, con algunas modificaciones, aplicarlo al cuidado de otras mascotas, como el calentamiento del hábitat para reptiles. Se propone un control automatizado que acciona la bomba de aire durante la mitad del tiempo, evitando mantenerla encendida continuamente (la relación tiempo encendido/apagado puede variarse a voluntad, según las necesidades particulares). En especies menos demandantes se puede mantener apagada la bomba de aire durante la noche, lo cual también se muestra en el control automático propuesto. El usuario puede identificar muchos otros casos cotidianos en los que puede aplicarse este control automático.
El proyecto tiene como base un pic programable (circuito integrado programable, pic). En este caso se propone utilizar la tarjeta de desarrollo Arduino UNO (ATMEGA328) que cuenta con 13 entradas/salidas digitales y con 6 entradas analógicas. La asignación de pines es como sigue:

A0 – entrada analógica con una fotorresistencia de 2Mohm.
I/O 3 – salida digital con un relevador de voltaje de 5V, 15A.
I/O 4 – salida digital con un LED rojo indicador de noche.
I/O 5 – salida digital con un LED verde indicador de noche.
I/O 6 – salida digital con un LED rojo indicador de encendido del dispositivo conectado al relevador de voltaje (bomba de aire de acuario).

Se escribieron tres versiones del programa que se va a cargar en el pic programable. Uno utiliza la función millis() para asignar el momento de encendido / apagado de los pines, con pulsos de encendido / apagado de igual duración. El segundo utiliza la función millis() para asignar el momento de encendido / apagado de los pines, con pulsos de encendido / apagado de distinta duración. El tercero utiliza la función delay() para asignar el momento de encendido / apagado de los pines, con pulsos de encendido / apagado de duración igual o diferente duración, a criterio del programador. La tercera forma del programa es la más simple y es la más recomendable para quienes no han tenido contacto previo con este tipo de programas. Los programas primero y segundo son más elaborados y permiten la programación de un gran número de eventos sucediendo simultáneamente pero con temporizaciones independientes unas de otras. En la práctica es la forma más versátil de programar eventos, pero la complejidad se incrementa rápidamente a medida que agregamos tareas al pic; aunque tiene la ventaja de que una vez que se ha programado un bloque de pines, este ya no se modifica cuando se programan los demás bloques.

El código para el primer programa queda de la siguiente manera:
/*
Programa: HuellaDeCarbonoUno
Este programa asigna intervalos de encendido / apagado de igual
duración (10 minutos)
Se utiliza la función millis() para manejar el momento de
encendido / apagado.
*/
const int ledPin =  13;
const int pinRelay = 3;
const int pinLedDia = 4;
const int pinLedNoche = 5;
const int pinLedRelay = 6;
int valorIluminacion;
unsigned long previousMillis = 0;       
unsigned long intervaloLed = 1000;  
unsigned long relayIntervalo = 600000; // 10 minutos
unsigned long previousRelayMillis;
byte ledState = LOW;
byte estadoRelay = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(pinRelay, OUTPUT);
  pinMode(pinLedDia, OUTPUT);
  pinMode(pinLedNoche, OUTPUT);
  pinMode(pinLedRelay, OUTPUT); 
}

void loop()
{
  unsigned long actualMillis = millis();
  if(actualMillis - previousMillis > intervaloLed) {
    previousMillis = actualMillis;  
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;
    digitalWrite(ledPin, ledState);
  }

  valorIluminacion = analogRead(A0);
  if (valorIluminacion > 764)  {
    digitalWrite(pinLedDia, HIGH);
    digitalWrite(pinLedNoche, LOW);
    if (actualMillis - previousRelayMillis > relayIntervalo)  {
      previousRelayMillis = actualMillis;
      if (estadoRelay == LOW)  {
        estadoRelay = HIGH;  }
      else  {
        estadoRelay = LOW;              }
      digitalWrite(pinRelay, estadoRelay);
      digitalWrite(pinLedRelay, estadoRelay);  }  }
  else  {
    digitalWrite(pinRelay, LOW);
    digitalWrite(pinLedDia, LOW);
    digitalWrite(pinLedNoche, HIGH);  }  }
Tamaño binario del sketch: 1286 bytes, de un máximo de 32256 bytes.

El código para la segunda versión del programa queda de la siguiente manera:
/*
Programa: HuellaDeCarbonoDos
Este programa asigna intervalos de encendido / apagado de distinta
duración.
Se utiliza la función millis() para manejar el momento de
encendido / apagado.
*/
const int ledPin =  13;
const int pinRelay = 3;
const int pinLedDia = 4;
const int pinLedNoche = 5;
const int pinLedRelay = 6;
int valorIluminacion;
unsigned long previousMillis = 0;       
unsigned long intervaloLed = 1000;  
unsigned long relayIntervaloOn = 120000; // 2 minutos
unsigned long relayIntervaloOff = 480000;  // 8 minutos
unsigned long previousRelayMillis;
byte ledState = LOW;
byte estadoRelay = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(pinRelay, OUTPUT);
  pinMode(pinLedDia, OUTPUT);
  pinMode(pinLedNoche, OUTPUT);
  pinMode(pinLedRelay, OUTPUT); 
}

void loop()
{
  unsigned long actualMillis = millis();
  if(actualMillis - previousMillis > intervaloLed) {  // codigo para un bloque de pines
    previousMillis = actualMillis;  
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;
    digitalWrite(ledPin, ledState);
  }

  valorIluminacion = analogRead(A0);
  if (valorIluminacion > 764)  {    // codigo para un segundo bloque de pines
    digitalWrite(pinLedDia, HIGH);
    digitalWrite(pinLedNoche, LOW);
      if (estadoRelay == HIGH)  {
        if (actualMillis - previousRelayMillis > relayIntervaloOff)  {
          previousRelayMillis = actualMillis;
          estadoRelay = LOW;
        digitalWrite(pinRelay, estadoRelay);
        digitalWrite(pinLedRelay, estadoRelay);  }  }
      if (estadoRelay == LOW)  {
        if (actualMillis - previousRelayMillis > relayIntervaloOn)  {
          previousRelayMillis = actualMillis;
          estadoRelay = HIGH;
        digitalWrite(pinRelay, estadoRelay);
        digitalWrite(pinLedRelay, estadoRelay);  }  }  }
  else  {
    digitalWrite(pinRelay, LOW);
    digitalWrite(pinLedDia, LOW);
    digitalWrite(pinLedNoche, HIGH);  }  }
Tamaño binario del sketch: 1386 bytes, de un máximo de 32256 bytes.

El código para la tercera versión del programa queda de la siguiente manera:
/*
Programa: HuellaDeCarbonoTres
Este programa asigna intervalos de encendido / apagado de distinta
duración.
Se utiliza la función delay() para manejar el momento de
encendido / apagado.
*/
const int ledPin =  13;
const int pinRelay = 3;
const int pinLedDia = 4;
const int pinLedNoche = 5;
const int pinLedRelay = 6;
int valorIluminacion;
// unsigned long previousMillis = 0;       
// unsigned long intervaloLed = 1000;  
// unsigned long relayIntervaloOn = 120000; // 2 minutos
// unsigned long relayIntervaloOff = 480000;  // 8 minutos
// unsigned long previousRelayMillis;
byte ledState = LOW;
// byte estadoRelay = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(pinRelay, OUTPUT);
  pinMode(pinLedDia, OUTPUT);
  pinMode(pinLedNoche, OUTPUT);
  pinMode(pinLedRelay, OUTPUT); 
}

void loop()
{
  if (ledState == HIGH)  {
    ledState = LOW;
    digitalWrite(ledPin, ledState);  }
  else  {
    ledState = HIGH;
    digitalWrite(ledPin, ledState);  }
   
  valorIluminacion = analogRead(A0);
  if (valorIluminacion > 764)  {   
    digitalWrite(pinRelay, HIGH);
    digitalWrite(pinLedRelay, HIGH);
    delay(480000);
   
    digitalWrite(pinRelay, LOW);
    digitalWrite(pinLedRelay, LOW);
    delay(120000);  }
  else  {
    digitalWrite(pinRelay, LOW);
    digitalWrite(pinLedDia, LOW);
    digitalWrite(pinLedNoche, HIGH);  }  }

Tamaño binario del sketch: 1272 bytes, de un máximo de 32256 bytes.

La lectura analógica para determinar si es de día o de noche, se utilizó como criterio un valor de 3(255)-1=764, que sería el 75% de la iluminación máxima detectada por el sensor. Este valor se tendría que ajustar (entre 0 y 1023 o 4(255)-1=1023) dependiendo de la ubicación del sensor.
El pin de entrada analógica (A0) no requiere declaración dentro de la función void setup(), pero si se desea, se le puede asignar un nombre de variable del mismo modo que se hizo con las salidas (o entradas, según sea el caso) digitales.
Como puede verse, estos sencillos programas ocupan muy poca memoria en el chip programable, por lo que se puede utilizar pines adicionales pines para manejar otras funciones, según se desee. En el caso de un hábitat para reptiles puede ser útil colocar un termistor para regular la temperatura, encendiendo y apagando la calefacción, a manera de un termostato.

El circuito electrónico
Para realizar el montaje de los diferentes circuitos electrónicos que comprende este pequeño proyecto se recomienda utilizar, como ya se mencionó, la tarjeta de desarrollo Arduino UNO y una tabla de montaje de prototipos (protoboard, como es su nombre en inglés). Si se trabaja con la tarjeta de desarrollo MSP430G2xx3, de Texas Instruments, utilizando el software Energia, se puede utilizar el mismo código, con algunas pequeñas modificaciones en la declaración de las entradas/salidas digitales y la entrada analógica, también se tendrán que utilizar los componentes electrónicos apropiados, como un relevador que trabaje a 3.3.Vcc y los valores apropiados de resistencias para los led’s.



El diodo en D1 puede ser un 1N4004.

Bibliografía
Kevin JG., Avila, JML., and Edmondson JL. 2013. Managing urban ecosystems for goods and services. Journal of Applied Ecology 2013:1-11.

Arduino. Sitio web. http://www.arduino.cc/.









No hay comentarios:

Publicar un comentario