logo
Português

Rascunho

O projeto alcança a sua concretização física. Esta fase envolve a integração harmoniosa de todas as etapas anteriores, materializando uma maquete representativa da casa automatizada. 

Etapa 05 - Domus - Construção da Maquete

O desenvolvimento do projeto chega à sua realização física. A materialização da maquete representativa da casa automatizada depende da integração harmoniosa das etapas anteriores durante esta fase. A maquete será utilizada para exemplificar na prática o funcionamento conjunto dos sistemas de iluminação, ventilação e controlo do portão da garagem no contexto.

Chegou a altura de juntarmos todas as etapas realizadas até ao momento numa maquete. No entanto, há que ter em atenção os seguintes aspetos:

  • 1

  • Material a usar
  • Fazer o levantamento de todo o material necessário à construção da maquete, desde componentes eletrónicos a componentes não eletrónicos;
  • 2

  • Portas digitais
  • Verificar o número de portas digitais a usar para determinar o número de PCF8574 que vamos necessitar usar para o projeto;
  • 3

  • Utilização de Relés
  • Para controlar o funcionamento das ventoinhas (ligar/desligar), será necessário dois relés, um para cada veitoinha. Este componente recebe o sinal do Arduino, gerindo a energia da fonte externa para a ventoinha;
  • 4

  • Chip L293D
  • Para contolar o motor de passo nos sentidos horário e anti-horário para abrir e fechar o portão, é essencial utilizar o chip L293D para facilitar esse controlo bidirecional.
Result image

1. Material a ser usado na etapa

Antes de dar início a qualquer etapa, o nosso primeiro passo deve ser o levantamento do material que vamos necessitar para a execução da mesma. Neste caso, vamos precisar do seguinte material:

2. Circuito a ser utilizado

Veja, na imagem abaixo, o esquema do circuito criado para ser utilizado na breadboard:

Circuito Elétrico

3. Código a Utilizar

Vamos por começar por incluir as bibliotecas PCF8574, Stepper e SoftwareSerial.

Em seguida, criamos os objetos Bluetooth e pcfBotoes.

Para simplificar a interação com o PCF8574, criamos dois arrays: o primeiro contém as portas do PCF que serão utilizadas, e o segundo especifica o modo de operação de cada uma dessas portas. Além disso, declaramos uma constante que armazena o número de portas em uso no PCF, permitindo a criação de ciclos para manipulação eficiente do dispositivo.

Para simplificar a interação com as portas digitais do Arduino e o estado de cada um dos dispositivos, criamos três arrays: o primeiro contém as portas do Arduino que serão utilizadas, o segundo especifica o modo de operação de cada uma dessas portas e o terceiro com a indicação se o dispositivo se encontra ligado ou desligado. Além disso, declaramos uma constante que armazena o número de portas digitais em uso no Arduino, permitindo a criação de ciclos para manipulação eficiente do dispositivo, e uma variável para receber o valor de cada um dos botões usados no sistema.

Por fim, para o motor de passo, declaramos uma constante com o número de passos necessários para que o veio do motor complete uma volta, criamos o objeto myStepper, especificando o número de passos por volta e as portas digitais associadas, declaramos uma variável  'aberto' do tipo booleana, que indica se o portão está aberto ou fechado, uma constante 'limitBt', com a posição do array que contém a indicação da porta digital que está a ser usada pela Chave Fim de Curso, e 'valueLMB' do tipo inteiro, que recebe o valor proveniente da Chave Fim de Curso.

No bloco de código void setup(), inicializamos o monitor de série, para facilitar a monitorização do nosso código, e iniciamos a comunicação série com o módulo Bluetooth, configurando a taxa de baud. Definimos modo das portas digitais do PCF e do Arduino e indicamos a velocidade do motor de passo.

Em seguida, inicializamos o sistema, garantindo que as luzes e as ventoinhas estão desligadas e o portão está fechado.

Dentro do bloco de código void loop(), começamos por ler os valores provenientes dos botões, chamando a função leituraBotoes(), e do Bluetooth.

Tendo os valores lidos, implementamos a lógica para ligar ou desligar as luzes da casa, ventoinhas e abrir ou fechar o portão da garagem, garantindo a atualização contínua do array booleano 'estadoDivisao[]'.

Como podemos ver, foram desenvolvidas várias funções para simplicar o código. Passemos à explicação de cada uma delas:

leituraBotoes() - Serve exclusivamente para ler o estado de cada um bos botões utilizado no sistema;

ligaDesligaLuz() - Esta função recebe dois parâmetros: value - valor do botão; divisao - índice do array portasARD com indicação do LED a ligar ou a desligar, ao mesmo tempo, este índice serve para atualizar o array estadoDivisão[] com o estado do dispositivo.

fechaPortaoAutomatico() - Esta é utilizada para fechar o portão de garagem, desce o portão 10 passos de cada vez até que a Chave Fim de Curso seja pressionada.

abreFechaPortaoGaragem() - Como o próprio nome indica, serve para abrir e fechar o portão da garagem. Esta é executada sempre que o botão da garagem seja pressionado, isto é, que o seu valor, passado por parâmetro (valueBtPortão), seja 1.

Conclusão

Após a conclusão da Etapa 5, alcançamos a materialização do projeto através da programação de uma maquete que integra de maneira harmoniosa todas as funcionalidades desenvolvidas. É possível perceber nesta maquete uma integração completa entre a automatização dos sistemas de iluminação, ventilação e abertura do portão. Isso faz dela mais que uma simples representante física palpável; é um exemplo concreto da alta eficiência alcançada ao utilizar o Arduino para automatizar processos residenciais. Assim sendo, esta etapa tem o propósito de validar tanto a viabilidade técnica completa do projeto quanto enfatizar o sucesso da interconexão e integração entre as várias partes que compõem o sistema domótico.

Ficheiros para Download



Etapa Anterior

Tutoriais Relacionados