Escolar Documentos
Profissional Documentos
Cultura Documentos
Belo Horizonte
11/06/2019
Pontifícia Universidade Católica de Minas Gerais
Engenharia Eletrônica e de Telecomunicações
Belo Horizonte
11/06/2019
ii
SUMÁRIO
1 INTRODUÇÃO ........................................................................................................ 2
2 OBJETIVO............................................................................................................... 3
3 PROJETO ............................................................................................................... 4
4 FUNCIONAMENTO ................................................................................................. 5
5.1 Arduino..................................................................................................................................... 7
5.2 Microcontrolador.................................................................................................................. 7
7 CONCLUSÃO........................................................................................................ 14
iv
1 INTRODUÇÃO
Existem vários tipos de equipamentos responsáveis pela irrigação de variadas
plantações de grande e pequeno porte. Neste projeto, trouxemos o aspersor
subterrâneo, que é um conjunto de irrigadores que se encontram debaixo da terra
localizados entre as raízes das plantas, e pode trazer uma melhoria e economia na
irrigação quando comparada aos irrigadores mais comumente utilizados. O sistema
de aspersor subterrâneo localizado pode ser adaptável em diversos tipos de
plantações. Esse, em especial, funciona de forma automática e de forma manual,
controlado por um aplicativo desenvolvido pelo grupo.
2
2 OBJETIVO
Tinha-se como obrigatório o uso do atmega328p e a água como o tema central
para o projeto, com isso, o grupo focou num sistema de irrigação diferenciado, que
conta com um conjunto de tubulação subterrânea com a vazão controlada de forma
automática e manual.
3
3 PROJETO
O sistema foi montado numa caixa de acrílico de 0,3 m x 0,3 m x 0,08 m, com
um conjunto de quatro tubos exercendo a função dos aspersores. Uma bomba de 12
V e com vazão de 33,3 ml/s tirava a água de um reservatório e mandava para o
sistema. Tudo era controlado pelo microcontrolador ATMEGA328P, que ativava a
bomba a cada 30 minutos de forma automática, e também monitorava a todo o
momento se chegava algum dado serial do módulo Bluetooth mandado via aplicativo
pelo celular.
4
4 FUNCIONAMENTO
O sistema de aspersão funciona de forma independente sem precisar de
intervenção humana. O programa usa da interrupção por meio do temporizador, que
serve para decrementar uma variável, de segundo em segundo, num total de 30
minutos; decorrido esse tempo, a bomba é acionada por um tempo de 2 segundos.
A bomba pode ser acionada remotamente através do aplicativo que conta com
comunicação Bluetooth, no tempo desejado e calculado pelo usuário. Quando
acionada pelo aplicativo, a bomba reseta seu temporizador, fazendo com que acione
novamente em 30 minutos, caso não seja acionada via aplicativo novamente. O
aplicativo foi desenvolvido na plataforma do site MIT App Inventor.
5
Figura 2 – Diagrama esquemático do sistema.
Fonte: Própria
6
5 MATERIAL UTILIZADO
5.1 Arduino
No projeto, o arduino foi utilizado apenas como um programador do
ATMEGA328P (Microcontrolador) via ambiente de desenvolvimento da Atmel, Atmel
Studio 7; utilizamos também os pinos integrados do microcontrolador à placa do
Arduino.
5.2 Microcontrolador
O microcontrolador utilizado foi o ATMEGA328P, que vem integrado ao
Arduino Uno; utilizamos a comunicação Serial USART do microcontrolador, nos
pinos PD0 e PD1 (Rx e Tx, respectivamente) para receber os dados via serial do
módulo Bluetooth; também utilizamos o Timer 1 para fazer o controle do modo
automático junto de algumas interrupções e outras noções ensinadas na aula teórica
da disciplina.
Figura 5 – Microcontrolador.
FONTE: https://www.webtronico.com
7
5.3 Módulo Relé
Um módulo de Relé de 5V, utilizado no projeto para poder completar o circuito
da bomba e realizar o ligamento ou desligamento da mesma; com os pinos
devidamente descrito na imagem, o controle é bem simples. Ao aplicar um sinal de
nível Alto no pingo “SIG”, o contato “NO” do relé se fechava, completando o circuito
da bomba.
8
5.5 Mini Bomba De Água – RS-385
A bomba foi utilizada para realizar o processo de irrigação subterrânea,
acionada automaticamente a cada 30 minutos e controlada manualmente via
Bluetooth pelo celular com um tempo especificado pelo usuário em segundos. Sua
alimentação era uma fonte de 12V e consumia aproximadamente 0,5~0,7A, tendo
seu circuito completado pelo módulo de relé.
9
6 PROGRAMA MAIN.C
/*
* Irrigador_FIC.c
*
* Created: 23/05/2019
*/
#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>
#include <string.h>
#include <avr/interrupt.h>
#define FALSE 0
#define TRUE 1
#define TIMER1_MODULE 62500
void inicio_USART();
unsigned char recebe_USART();
10
int main(void)
{
TCCR1A = 0x00; // Desabilita o Timer1A
TCCR1B = _BV(WGM12); // Configura o Timer1B no modo CTC e compara com o OCR1A
TIMSK1 = _BV(OCIE1A); // Interrupção pelo Timer quando TCNT1 = OCR1A
OCR1A = TIMER1_MODULE; // Definindo o valor de OCR1A como 62500
TCCR1B |= _BV(CS12); // Define o Preescaler do Timer1B para 256 e Inicia o Timer1B
sei(); // Habilita interrupcoes externas
inicio_USART(); // configura a comunicacao USART
UDR0 = 0; // Zera quaisquer informacoes no registrador UDR0 (RX ou TX)
DDRB |= _BV(PORTB0) | _BV(PORTB5); // Configura os pinos PB0 e PB5 como saida
while (1) // Loop infinito
{
for (int i = 0; i<3; i++)
{
dado[i] = recebe_USART(); // Loop para receber o dado via USART (um ou dois digitos)
}
while(segundos > 0) // A bomba liga por X segundos, sendo X o enviado pelo Celular
{
PORTB |= _BV(PORTB0); // Nivel alto no pino PB0
_delay_ms(1000); // Delay de 1 Segundo
segundos--;
}
11
/*
* Funcao: inicio_USART
*
* Execucao: esta funcao eh responsavel por configurar os registradores da comunicacao USART e inicializa o monitoramento
* nos pinos PD0(RX) e PD1(TX)
*/
void inicio_USART()
{
UBRR0H = (UBRR >> 8); // Registradores de definicao do Baud Rate da comunicacao USART
UBRR0L = UBRR;
UCSR0C = _BV(UCSZ01) | _BV(UCSZ00); // Modo asincrono, sem paridade, 1 stop bit, caracter de 8 bits
}
/*
* Funcao: recebe_USART
*
* Execucao: esta funcao eh responsavel por verificar se tem algum dado para ser recebido no RX; enquanto nao receber nada,
* o processador fica "preso" dentro do loop, executando (quando a variavel Flagtimeout esta em nivel alto) a funcao automatica
* da bomba, ligada a cada 30 min.
*/
unsigned char recebe_USART()
{
while ((!(UCSR0A & _BV(RXC0)))) // Enquanto nao terminou de ler o dado, fica "preso"
{
while(FlagTimeout) // Quando o temporizador completa 30 min, executa o loop
{
PORTB |= _BV(PORTB0); // Nivel alto no pino PB0
_delay_ms(2000);
PORTB &= ~(_BV(PORTB0)); // Nivel baixo no pino PB0
Timeout = 1800; // Reseta o temporizador do modo automatico em 30 min
TCCR1B |= _BV(CS12); // Reinicia o Timer1B
FlagTimeout = FALSE;
}
}
return UDR0;
}
12
/*
* Interrupcao: TIMER1_COMPA_vect
*
* Execucao: a cada 1 seg, o programa principal eh interrompido para decrementar o temporizador de 30 min do modo
* automatico; o LED "built In" da placa do arduino eh piscado por 1000 us (1 ms) para verificar se a interrupcao estah ocorrendo
* corretamente.
*/
ISR(TIMER1_COMPA_vect)
{
PORTB |= _BV(PORTB5); // Nivel alto no pino PB5 (led "built In" da placa do arduino)
_delay_us(1000);
PORTB &= ~(_BV(PORTB5)); // Nivel baixo no pino PB5
13
7 CONCLUSÃO
Este relatório abordou o funcionamento de um aspersor subterrâneo
automático controlado via Bluetooth, que teve como obrigatoriedade o uso do
arduino como apenas um sistema embarcado. Devido à obrigatoriedade
especificada, foram encontradas dificuldades ao enviar os dados seriais do módulo
Bluetooth para o microcontrolador ATMEGA328P.
Teve-se a oportunidade de desenvolver técnicas de programação e aplicar o
que foi ensinado nas aulas teóricas.
O projeto realizado atendeu as expectativas no que diz respeito ao
cumprimento das especificações e tendo em vista o pleno e perfeito funcionamento
do projeto em todo o momento das apresentações.
14
REFERÊNCIAS BIBLIOGRÁFICAS
15