|
|
(7 revisões intermediárias por 2 usuários não estão sendo mostradas) |
Linha 1: |
Linha 1: |
| | ==Compostino== |
| | |
| | Este projeto nasce da união das ações do [http://www.nosdigitais.teia.org.br Nós Digitais] e [http://www.veracidade.eco.br/ Veracidade], com o apoio e participação e facilitação da [http://nuvem.tk/ Nuvem]. |
| | |
| Usando um sensor de metano, um de temperatura e um de umidade produziremos um painel indicador das condições da composteira. | | Usando um sensor de metano, um de temperatura e um de umidade produziremos um painel indicador das condições da composteira. |
|
| |
|
| A meta é produzir dados para a evolução até um sistema de regulação automática de alguns destes fatores para acelerar e otimizar o processo de compostagem. | | A meta é produzir dados para a evolução até um sistema de regulação automática de alguns destes fatores para acelerar e otimizar o processo de compostagem. |
| | ==Codigo Aberto== |
| | Atualmente o código do Compostino encontra-se aqui: |
| | acompanhe o desenvolvimento: |
| | https://github.com/chicosimoes/compostino |
| | ==Compostino no Laboratorio de Inovacao Cidada - Mexico 2014== |
| | Em nov/dez de 2014 tivemos a oportunidade de estar com o [[Compostino no México]] participando do LABICMx |
| | Companheiros do Mexico e da Colombia se juntaram com nosso grupo para fortalecer o desenvolvimento desse aparelho. |
|
| |
|
| ==Codigo do Compostino versão 0.1 (8/7/2013)==
| | Clique no Link para acompanhar o diario de como tudo aconteceu , buscar o codigo desenvolvido e aprender a como montar o hardware |
| | |
| /*
| |
| Compostino = Unidade de monitoramento de composteiras.
| |
| inicio em 7/7/2013 durante oficina aberta no veracidade Sao Carlos SP brasil copyleft
| |
|
| |
| Partimos de:
| |
|
| |
| metano in arduino.cc
| |
| Created by David Cuartielles
| |
| modified 30 Aug 2011
| |
| By Tom Igoe
| |
|
| |
| lm35 in arduino.cc
| |
| Created by David Cuartielles
| |
| modified 30 Aug 2011
| |
| By Tom Igoe
| |
|
| |
| */
| |
|
| |
| #include <dht11.h>
| |
| | |
| dht11 DHT11;
| |
| | |
| int dht11pino = 2; // pino digital do sensor dht11
| |
| int metanoPino = A0; // escolha o pino que recebe o sinal do sensor de metano
| |
| int calorPino = A1; // escolha o pino que recebe o sinal do sensor de temperatura
| |
| int umidadePino = A2; // escolha o pino que recebe o sinal do sensor de umidade
| |
| | |
| int ledMetano = 13; // escolha o pino que acendera o ledMetano
| |
| float valorMetano = 0; // guarda o valor medido no sensor MQ-4(metano)
| |
| float limiteMetano = 600; // valor definido como limiar maximo de metano
| |
| | |
| int ledcalormeso = 10; //ascende pino na temperatura boa para bact mesofilicas
| |
| int ledcalortermo = 11; //ascende pino na temperatura boa para bact termofilicas
| |
| int ledcalorfrito = 12; //ascende pino quando temperatura muito alta
| |
| float valorcalor = 0; //guarda valor medido sensor LM35(temperatura)
| |
| float limitecalor = 70; //Limite maximo de temperatura
| |
| | |
| int ledseco = 8; //ascende pino quando umidade esta baixa. Precisa molhar composteira.
| |
| int ledmolhado = 9; //ascende pino quando umidade esta muito alta.
| |
| float valorumidade = 0; //guarda valor do sensor caseiro (umidade)
| |
| float umidademin = 300; //limite minimo da faixa ideal de umidade
| |
| float umidademax = 370; //limite maximo da faixa ideal de umidade
| |
| | |
| | |
| void setup() {
| |
| // declarando o ledMetano como OUTPUT:
| |
| pinMode(ledMetano, OUTPUT);
| |
| | |
| // declarando os ledcalor como OUTPUT:
| |
| pinMode(ledcalormeso, OUTPUT);
| |
| pinMode(ledcalortermo, OUTPUT);
| |
| pinMode(ledcalorfrito, OUTPUT);
| |
| | |
| // declarando os ledumidade como OUTPUT:
| |
| pinMode(ledseco, OUTPUT);
| |
| pinMode(ledmolhado, OUTPUT);
| |
| | |
| Serial.begin(9600);
| |
| }
| |
| | |
| void loop() {
| |
| | |
| // funçao Metano
| |
| | |
| // lendo o valor do sensor:
| |
| valorMetano =analogRead(metanoPino);
| |
| // liga o ledMetano
| |
| | |
| // imprime o resultado no monitor serial:
| |
| Serial.print("Metano igual a: " );
| |
| Serial.println(valorMetano);
| |
| | |
| // dependendo do valorMetado acende ou apaga led limiteMetano
| |
| if (valorMetano >= limiteMetano){
| |
| digitalWrite(ledMetano, HIGH);
| |
| }
| |
| else{
| |
| | |
| digitalWrite(ledMetano, LOW);
| |
| }
| |
| | |
| | |
| | |
| // funçao temperatura
| |
| | |
| valorcalor =(5.0 * analogRead(calorPino) * 100.0) / 1024;
| |
| | |
| // acender o primeiro ledCalor, se temperatura maior que 35
| |
| if (valorcalor > 35) {
| |
| digitalWrite(ledcalormeso, HIGH);
| |
| digitalWrite(ledcalortermo, LOW);
| |
| digitalWrite(ledcalorfrito, LOW);
| |
| }
| |
| | |
| // acender primeiro e segundo ledCalor, se temperatura maior que 50
| |
| if (valorcalor > 50) {
| |
| digitalWrite(ledcalormeso, HIGH);
| |
| digitalWrite(ledcalortermo, HIGH);
| |
| digitalWrite(ledcalorfrito, LOW);
| |
| | |
| }
| |
| // acende primeiro, segundo e terceiro ledCalor, se temperatura maior que 70
| |
| if (valorcalor > 70) {
| |
| digitalWrite(ledcalormeso, HIGH);
| |
| digitalWrite(ledcalortermo, HIGH);
| |
| digitalWrite(ledcalorfrito, HIGH);
| |
| | |
| }
| |
| | |
| // se temperatura menor que 35, primeiro, segundo e terceiro ledcalor desligado
| |
| else {
| |
| digitalWrite(ledcalormeso, LOW);
| |
| digitalWrite(ledcalortermo, LOW);
| |
| digitalWrite(ledcalorfrito, LOW);
| |
| | |
| }
| |
| | |
| // imprime resultados no monitor serial:
| |
| Serial.print("A temperatura igual a: " );
| |
| Serial.println(valorcalor);
| |
| | |
| //funçao umidade
| |
| | |
| // lendo o valor do sensor:
| |
| valorumidade =analogRead(umidadePino);
| |
| | |
| // umidade menor que 40, significa que esta muito seco, ledseco ligado:
| |
| if (valorumidade < umidademin) {
| |
| digitalWrite(ledseco, HIGH);
| |
| digitalWrite(ledmolhado, LOW);
| |
| }
| |
| | |
| // umidade maior que 370, significa que esta muito molhado, ledmolhado ligado:
| |
| if (valorumidade > umidademax){
| |
| digitalWrite(ledseco, LOW);
| |
| digitalWrite(ledmolhado, HIGH);
| |
| | |
| }
| |
| // umidade entre 40 e 370, todos os leds desligado:
| |
| if (valorumidade > umidademin && valorumidade < umidademax) {
| |
| digitalWrite(ledseco, LOW);
| |
| digitalWrite(ledmolhado, LOW);
| |
| }
| |
| | |
| Serial.print("Umidade do composto igual a: " );
| |
| Serial.println(valorumidade);
| |
| | |
| // funçao umidade do ar:
| |
| | |
| int chk = DHT11.read(dht11pino);
| |
| Serial.print("umidade do ar: ");
| |
| Serial.println((float)DHT11.humidity, 2);
| |
|
| |
|
| Serial.print("Temperatura do ar: ");
| | links para estudar umas paradas: |
| Serial.println((float)DHT11.temperature, 2);
| |
|
| |
|
| Serial.println ( );
| | armadilha fotografica com arduino |
| delay(3000);
| |
|
| |
|
| }
| | http://theboredengineers.com/2013/06/animal-motion-detection-an-arduino-project-for-photography/ |