Usando o Arduino com painel solar

Olá  todos,

nesse post mostraremos como podermos energiza o Arduino ou outra placa a partir de painéis solares e também como utilizar uma bateria recarregável para manter nossos projetos funcionando mesmo a noite.

Esse post é uma tradução do projeto publicado no site Insuctable por p2man (thanks p2man).

O circuito é bem simples, composto pelos seguintes componentes:

  • Painel solar;
  • Arduino;
  • Bateria recarregável e um conector para ela;
  • Diodo;
  • Capacitor de 100uF e 16V (não achei o capacitor de 10V do post original);
  • Fios;
  • Protoboard;
  • Microvoltímetro para testar o circuito.

Diagrama do circuito

Abaixo temos a imagem com todos os componentes que utilizaremos:

Componentes utilizado

O primeiro passo é remover o plástico do painel solar e soldar fios e seus terminais positivo e negativo que estão na parte de trás dele:

Fios soldados no painel solar

Em seguida solde pinos do tipo macho na outra extremidade dos fios, para podermos utilizálos no protoboard mais facilmente:

Extermidade dos fios soldados ao pino macho

Agora, corte os fios do adaptador da bateria removendo o soquete, pois uitlizaremos nesse circuito somente a parte que conecta à bateria. Solde nas extermidades do fios pinos macho, semelhante aos fios conectados ao painel solar:

Adaptador de bateria cortado

Agora começaremos a montar o circuito na protoboard: monte o diodo e o capacitor na protoboard como mostrado na imagem abaixo:

Início da montagem do circuito

Em seguida, coloque o Arduino na protoboard e ligue os pinos Vin na linha positiva (mais próxima da linha vermelha) do protoboard e o pino GND na linha negativa (mais próxima da linha azul):

Colocando o Arduino na protoboard

Por fim, ligue a bateria recaregável no conector e coloque na protoboard, com o fio positivo (geralmente o vermelho)  na linha positiva da protoboard e o fio negativo (geralmente o escuro) na linha negativa da protoboard.

Para completar e acionar o circuito, conecte o painel solar na protoboard, onde o fio escuro (ou o fio que etiver soldado no terminal negativo do painel) deve ser ligado à linha negativa da protoboard e o fio vermelho (ou o fio que estiver soldado ao terminal positivo) deve ser conectado ao terminal do diodo.

Veja a imagem abaixo para confirmar suas conexões do circuito:

Circuito montado

Teremos nesse ponto o circuito funcionando. Você pode retirar o Arduino para gravar o programa de seu projeto nele e retorná-lo para a protoboard, utilizando a energia solar para alimentar seu projeto.

Até o próximo post!

 

Projeto de Irrigação – Parte 3 – Juntando as peças

Olá a todos,

em dois posts anteriores vimos como realizar a leitura da humidade do solo e como controlar uma bomba de água. Nesse post veremos como juntar esses códigos para realizar a leitura da humidade do solo e ligar a bomba para molhar nossas plantas, além dos pontos cruciais desse projeto.

O primeiro ponto é motarmos os circuitos, tanto da leitura da umidade do solo como o circuito driver para acionar a bomba. Em seguida devemos fincar os pregos na terra onde está a nossa planta e fixar a mangueira na bomba e no vaso ou região de terra que iremos irrigar. No meu projeto eu deixei a bomba submersa na água para evitar usar mais manguiras, mas não há problemas em utilizar a bomba fora da água.

Realizada a montagem fisica do projeto passaremos para o código. O primeiro passo é declarar as seguintes constantes:

  • pino digital de acionamento da bomba de água;
  • pino analógico que fará a leitura da umidade do solo;
  • O tempo que a bomba ficará ligada quando acionada;
  • Nível mínimo de umidade do solo, onde a bomba será acionada caso o valor fique abaixo desse valor.

As duas primeiras constantes são bem fáceis de serem atribuídas valores.  As duas últimas constates são mais difíceis de acharmos os valores, no meu caso identifiquei os valores experimentandos diversos valores.

O passo seguinte é configurarmos na função SETUP o pino digital como OUTPUT e deixá-lo como LOW para manter a bomba desligada. Também é interessante configurarmos a porta serial para realizarmos o debug do código.

Na função LOOP, devemos realizar a leitura do pino analógico e comparar com a constante de nível minímo de umidade. Caso o valor lido do sensor esteja abaixo da constante, devemos acionar a bomba alterando o pino digital para HIGH.

Em seguida devemos aguarda o tempo necessário para molhar as plantas e desligar a bomba, voltando o estado do pino digital para LOW.

Finalmente devemos aguardar algum tempo com a função delay para voltarmos a fazer uma nova medida da umidade do solo. Abaixo temos o código completo de exemplo:

Código de exemplo

Nesse ponto temos um projeto simples mas funcional para a irrigação de plantas em vaso ou de uma pequena área. Porém esse projeto ainda consume muita energia. Em posts futuros mostraremos como podemos reduzir o consumo de energia desse e de outros projetos que utilizam Arduino, e como podemos alimentá-lo com energia solar.

Um grande abraço e até o próximo post!

Projeto de irrigação – Parte 2 – Controlando as bombas de água

Olá a todos,

no post anterior mostramos como podemos realizar a leitura da humidade de solo para construírmos um projeto de automação de irrigação. Nesse post mostratemos como podemos controlar uma bomba de água para enviar água para as plantas quando o sensor acusar que o solo está seco.

Utilizaremos uma bomba de água anfibia, ou seja, uma bomba que pode ser utilizada tanto dentro como fora da água. Essa bomba, do modelo JT-180, possuí três fios, uma para o terra (preto), outro para o positivo (vermelho) e outro que permite a leitura da velocidade da bomba (branco).

Bomba utilizada no projeto
Bomba utilizada no projeto

Nesse projeto utilizaremos somente os fios preto e vermelho e calibraremos o volume de água enviado pelo tempo que a bomba ficará acionada.

Como a bomba é um motor DC de 12V, podemos utilizar o circuito do post sobre motores DC. Faremos um novo código para controlar a bomba.

O primeiro passo no código é declarar qual pino do Arduino estará conectado no driver para controla a bomba.

Em seguida faça as seguintes configurações na função setup:

  •  O pino que controlará o motor como OUTPUT com a função pinMode e deixe o pino no estado LOW com o uso da função digitalWrite

Na função setup, escreva o código para executar os seguintes passos:

  • Aguarde por algum tempo, como 5 segundos com a função delay
  • Acione a bomba, mudando o estado do pino de LOW para HIGH com a função digitalWrite, e aguarde por agum tempo, como 3 segundos novamente com a função delay
  • Desligue a bomba, mudado o estado do pino de HIGH para LOW com a função digitalWrite
Código para acionar a bomba
Código para acionar a bomba

Nesse ponto estaremos ligando e desligando a bomba, mas ainda não direcione a água para as plantas, pois mandaremos muita água que inundará o vaso e oderá mata as plantas.

Porém, é interessante utilizar esse código para calibrar a quantidade de água que será necessária para molhar as plantas. A calibração será pela quantidade de tempo que a bomba ficará ligada.

No próximo post, mostraremos como juntar a leitura do sensor com o acionamento da bomba para concluírmos o noss projeto.

Obrigado a todos e até o próximo post!

Onde encontrar:

 

Projeto de irrigação – Parte 1 – Sensor de humidade do solo

Olá a todos,

algum tempo atrás montei um projeto de irrigação a partir das instruções que li em um ótimo livre sobre a Intel Galileo. Como o projeto funcionou bem e alguns amigos pediram para publicá-lo, vou colocar as instruções e adaptações em alguns posts.

Nesse post mostrarei como podemos monta o sensor de humidade de solo com materiais simples: pregos, fios e resistores, além de como ler o valor do sensor.

Cada sensor de humidade é composto de dois pregos, um resistor e fios para as ligações. O principio é bem simples: a água conduz eletricidade, portanto quanto mais seca estiver a terra menos corrente circulará entre os pregos, logo teremos menos tensão no pino analógico.

Para montar o sensor utilize os fios para ligar um dos pregos no 5V da sua placa, no meu caso utilizei um Arduino Nano. O outro prego deve ser conectado em um pino analógico da sua placa e em um resistor. O resistor deve ser conectado ao terra da sua placa.

Abaixo temos o diagrama para um sensor, mas você pode ligar mais de um sensor na placa. O limite é a quantidade de pinos analógicos da sua placa.

Diagrama do sensor de humidade

Com a montagem completa, fixe os dois pregos na terra, com uma distância de aproximadamente 2 cm.

Passaremos agora para o código, que é bem simples:

  • Declare uma constante do tipo int, que armazenará qual pino analógico o sensor está ligado;
  • Inicie a porta Serial na função setup;
  • Na função loop: realize a leitura da porta analógica com a função analogRead e exiba o valor na porta Serial.
Código para leitura do sensor de humidade
Código para leitura do sensor de humidade

Nesse ponto temos o sensor funcionando e o Arduino lendo o valor da humidade do solo. Nos próximos posts mostraremos como controlar uma bomba de água com o Arduino e ligada e desliga-la a partir do valor do sensor.

Obrigado a todos e até o próximo post!

Onde encontrar: