Open top menu
#htmlcaption1 SEA DICAT POSIDONIUM EX GRAECE URBANITAS SED INTEGER CONVALLIS LOREM IN ODIO POSUERE RHONCUS DONEC Stay Connected
sábado, julho 04, 2015
Automação com Arduino, Ethernet, RTC, LCD e DHT11


Seguindo com os projetos de automação com a AutomationShield 2.0, hoje vamos publicar um projeto com Ethernet W5100, RTC DS130, LCD I2C, DHT11 e uma página HTML para configuração, agendamento e acionamento da placa. Em breve postaremos uma versão com aplicativo Android.

Página html para configuração, agendamento e acionamento da placa.

Versão do projeto com Mini EthernetShield
Versão do projeto com Ethernet Shield para Arduino

Já publicamos outros projetos com WS5100. O projeto não é compatível com shields baseados no chip ENC28J60, mas diferentes versões do W5100 podem ser usadas.

Mini Shield

Shield para Arduino

Os dois shields são 100% compatíveis com o projeto e código fonte, vamos ver em detalhes as conexões com o Automation Shield.

Lista de componentes
1 - Placa Automation Shield 2.0, a venda em nossa loja virtual.
1 - Arduino NANO V3.0
1 - RTC DS1307.
1 - LCD 1602 com interface serial I2C.
1 - Shield de Ethernet baseado no chip W5100.
4 - Fios com conectores MODU para conexão do módulo.
1 - Fita RGB
1 - Sensor de temperatura e umidade DH11.
1 - Fonte 12V x 3A.

Conexões do projeto com mini Shield

Conexões do projeto com Ethernet Shield
A conexões com o EthernetShield foram realizadas pela parte traseira do shield. 

Conexões das Saídas

Alimentação do W5100
Verifique o modelo do shield W5100. As novas versões possuem um regulador de tensão para 5V, nesse caso, podemos ligar direto na saída 5V da placa. algumas versões são alimentadas com 3,3V e deverão ser alimentadas através do pino 3v3 ou pelo conector ICSP,



Código Fonte
O código fonte do projeto é 100% compatível com os dois Shields de Ethernet.

Vamos ver um vídeo do projeto.




Read more
Automação com Arduino, Bluetooth, RTC DS1307 e aplicativo Android

Hoje vamos apresentar um projeto de automação com o Automation Shield 2.0, Arduino Nano, Bluetooh HC-06, RTC DS1307 e um aplicativo Android para controle da placa.

Aplicativo Android
É o programa de gerenciamento e acionamento das saídas no Android. Ele foi desenvolvido nativamente com o Android Stúdio e é compatível com dispositivos Android com a versão 4.0 Ice Cream Sandwich ou Superior.

Tela principal para acionamento das saídas e visualização dos horários de agendamento:

Tela para seleção do dispositivo bluetooth:


Tela para ajuste do horário da placa de automação:


Tela para alteração dos nomes e agendamento de horários das sáidas da placa:


Lista de componentes
1 - Placa Automation Shield 2.0, a venda em nossa loja virtual.
1 - Arduino NANO V3.0
1 - RTC DS1307.
1 - LCD 1602 com interface serial I2C.
1 - Módulo Bluetooth JY-MCU ou HC-06.
4 - Fios com conectores MODU para conexão do módulo.
1 - Fita RGB
1 - Resistor de 10K para montagem de divisor de tensão para conexão com o módulo Bluetooth .
1 - Resistor de 20K para montagem de divisor de tensão para conexão com o módulo Bluetooth .
1 - Fonte 12V x 3A.

Conexões do projeto

A placa JY-MCU/HC-06 Bluetooth pode ser encontrada em uma versão com alimentação entre 3.6 e 6V. Apenas essa versão pode ser alimentada diretamente através do pino OUT + 5V do Shield. Módulos que possuem nível lógico de 3,3V devem usar o level shifter ou divisor de tensão entre as conexão do pino TX do Arduino e RX do módulo Bluetooth.

O módulo utilizado nesse projeto possui faixa de alimentação 3~6V e nível de sinal 3,3V. Conecte o resistor de 10K entre o pino TX do Shield/Arduino e o pino RX do módulo bluetooth e o resistor de 20K de entre o pino RX do módulo bluetooth e o pino GND.


Conexões das saídas
Para segurança do circuito, sempre utilize um fusível e uma chave geral conforme exemplo acima.

Códigos fonte do projeto

O projeto é dividido em dois módulos:

Módulo Controlador.
O módulo controlador é o código fonte que roda no Arduino Nano do shield de automação. O módulo controlador recebe os comandos de acionamento, agendamento e configuração de data do módulo aplicativo e aciona as saídas. O módulo controlador é responsável em armazenar em memória não volátil (EEPROM) todos os comandos recebidos do usuário, de forma que, se em uma eventual queda de energia ou reinicialização do shield, ele inicie mantendo os estados das saídas de acordo com o último comando do usuário. O módulo Controlador é dividido nos principais métodos:

Setup
Método responsável em iniciar o shield, variáveis e ler os dados da EEPROM. O módulo controlador possui a variável EEPROMComandos  que está atribuída com o valor false. Alterando para true ela irá gravar na EEPROM os últimos comandos recebidos, dessa forma, se ocorrer uma queda de energia e a placa reiniciar, ela será restabelecida com os últimos comandos enviados pelo usuário. A EEPROM do Arduino tem uma vida útil de 100.000 gravações, manter na EEPROM todos os comandos recebidos irá inutilizá-la, sendo assim, verifique qual será a quantidade de comandos enviados diariamente para determinar a vida útil. As variáveis de horário de agendamento e modo são gravadas diretamente na EEPROM e não devem ser removidas.


Loop
O método Loop é executado continuamente, ele executa os métodos responsáveis pela leitura da serial e acionamento das saídas.
getDateDs1307()
Atualiza as variáveis de data/hora com o horário do RTC.

aguardacomandos();
Monitora a porta serial aguardando os comandos recebidos pelo módulo bluetooth.

Acionamento de Saídas

Agendamento de Saídas

Configuração de Data/Hora do RTC.

Alteração de modo Agendado / Manual.

RetornaComandos();
Retorna na porta serial para leitura do aplicativo o estado de todas as saídas dos relés, potência, data/hora do RTC e se a placa está sendo executada no modo Manual ou Agendado.

ModoAuto();
O método verifica se cada saída está no horário agendado e aciona no período pré-agendado. No modo Agendado não é permitida o acionamento manual das saídas.

PrintLcd();
Método que escreve no LCD o horário e status das saídas do LCD. A ligação do LCD é opcional.

Para evitar falhas no processo de upload, sempre desconecte o Arduino do Shield ou remova as conexões com o Bluetooth antes da conexão com o USB.

Módulo Aplicativo

O módulo aplicativo é o programa de gerenciamento e acionamento das saídas para rodar no Android. Ele foi desenvolvido nativamente com o Android Studio, ele pode ser baixado aqui. Para os usuários que não tem interesse em customizar a aplicação, eu mantenho o apk compilado no github.

Os principais método são:
beginListenForCommands
Método que recebe lê os dados enviados pela placa de automação e atualiza a interface.

 Connect
Método que estabele a conexão com o bluetooth do dispositivo Android e placa de Automação.


EnviaComandoDigital
Método que envia o comando digital para acionamento da placa de Automação



O exemplo de hardware e software desse projeto é compatível apenas com dispositivos com sistema operacional Android e versão 4.0 Ice Cream Sandwich ou superior.

No vídeo abaixo podemos ver todo o processo de pareamento, instalação do programada, configuração, acionamento e agendamento da placa pelo aplicativo Android.


O código fonte está disponível no github, em breve publicaremos novos projetos com o AutomationShield 2.0
Read more
quinta-feira, julho 02, 2015
Automation Shield 2.0


Hoje vamos apresentar a nova versão do Automation Shield, desenvolvido com o objetivo de simplificar a criação de projetos, podendo ser usado em projetos de automação, monitoramento, temporizadores, entre outros.
O Automation Shield é compátivel com o Arduino Nano V3, permitindo o desenvolvimento de projetos de automação com o ambiente e bibliotecas do Arduino. Possui barra de terminais para conexão com outros sensores, shields ou debug durante o projeto*


Especificações Técnicas:
-Microcontrolador Arduino Nano.
-Clock RTC DS1037.
-Alimentação 12V, possui regulador de tensão 9V para alimentação do Arduino Nano.
-Saída regulada 5V para alimentação de sensores, LCDs, Shields, entre outros.
-Saída regulada 3V3 para alimentação de outros shields como Ethernet Enc28j60, Bluetooth, entre outros.
-Conexão I2C para LCD.
-8 saídas de relés 120V 15A / 220V 10A;
-3 saídas de potência com TIP 120 - 5A PWM para RGB ou outro tipo de carga.
-Dimensões: 135 x 155 x 35 mm (Largura x Comprimento x Altura)
  

 Pinos utilizados pelo Shield:
  • D2, D4, D7, D9, A0, A1, A2 e A3: utilizados para saídas com relés S1, S2, S3, S4, S5, S6, S7, S8. 
  • D3, D5 e D6: utilizados para saídas PWM de potência. 
  • A4 e A5: utilizados para o RTC DS1307 
*Os pinos acima são utilizados pelo shield e não estão disponíveis para outras conexões. 

Pinos disponíveis para uso com outros sensores ou shields:
  • Analógicos: A6, A7, 
  • Digitais: D13, D12, D11, D10, D8, 
  • Comunicação serial: TX, RX, I2C para LCD ou outro dispositivo.

Repositório com códigos fonte dos projetos no github.

Dicas para instalação do driver do Arduino Nano:
http://woodsgood.ca/projects/2014/10/16/arduino-nano-and-ftdi-boards-ft232r-drivers-not-installing
http://blog.rastating.com/installing-drivers-for-an-arduino-nano-in-windows/

Em breve publicaremos projetos com o AutomationShield 2.0.


    Read more
    terça-feira, abril 21, 2015
    no image

    Fala pessoal, essa semana precisei de um shield com 8 relés para um projeto, como não tinha nenhum disponível e minha encomenda ainda ia demorar algumas semanas, resolvi montar um e postar aqui no site.



    Foto do Shield




    Foto da Placa




    Já postamos anteriormente um artigo de montagem de um shield com 1 relé, para simplificar a montagem da placa, ao invés de montarmos com transistores, vamos uma um ULN2803. Ele é um CI composto de drivers de transistores que serão usados para acionar os relés.



    Foto darilingotn



    Lista de componentes




    Confecionando a placa.
    Para confecção das placas, sempre utilizo o método de transferência do Toner para placa.














    Conectando e testando no AutomationShield.



    Video de teste


    É isso aí pessoal,



    Read more
    sábado, abril 18, 2015
    no image



    Continuando com a série de projetos de automação, no post de hoje vamos apresentar um projeto que permite o acionamento e agendamento das saídas remotamente.




    Modo Manual
    No modo manual é permitido o acionamento direto das saídas.








    Modo Agendado
    No modo agendado não é permitido o acionamento direto das saídas, as saídas serão acionadas conforme horários definidos.





    Lista de Componentes






    Diagrama de Conexões







    Comandos de acionamento e agendamento
    http://192.168.0.202/?AUTOD -> Modo Manual
    http://192.168.0.202/?AUTOL -> Modo Agendado
    http://192.168.0.202/?AgeS1HrIy0yz23z   -> Alteração horário agendamento S1(0-23:59)
    http://192.168.0.202/?S1L -> Ligar S1
    http://192.168.0.202/?S1D -> Desligar S1
    http://192.168.0.202/?AgeS2HrIy12yz20z   -> Alteração horário agendamento S2(12 - 20:59)
    http://192.168.0.202/?S2L -> Ligar S2
    http://192.168.0.202/?S2D -> Desligar S2
    http://192.168.0.202/?AgeS3HrIy0yz18z   -> Alteração horário agendamento S3(0-18:59)
    http://192.168.0.202/?S3L -> Ligar S3
    http://192.168.0.202/?S2D -> Desligar S3
    http://192.168.0.202/?AgeS4HrIy0yz23z   -> Alteração horário agendamento S4(0-23:59)
    http://192.168.0.202/?S4L -> Ligar S4
    http://192.168.0.202/?S4D -> Desligar S4


    Código Fonte




    Vídeo do Projeto

    A página que o programa gerá ocupa toda a memória do Arduino Nano, possibilitando apenas pequenos ajustes, não permitindo o aumento do código fonte.

    Read more
    segunda-feira, março 30, 2015
    Automation Shield - Automação remota com ESP8266

    Seguindo com os posts de automação com o AutomationShield, hoje vamos apresentar mais um projeto para acesso remoto da placa. Iremos conectar o AutomationShield com um ESP8266 e montar um servidor Web para acionamento remoto.

    Primeiramente, vamos conhecer o ESP8266.




    Precauções:
    -O ESP8266 é alimentado com 3,3V, alimente através do pino 3V3 do arduino. Nunca alimente com 5V.
    -Os níveis lógicos atuam com 3,3V, é necessário utilizar levelshifters para conexão com o Arduino.



    Para desenvolvimento do nosso projeto com Lua, iremos atualizar seu firmware com a versão nodeMCU, maiois detalhes em http://nodemcu.com/index_en.html



    Read more
    sábado, março 07, 2015
    Aquadroid 2.0 Automação de aquários com Arduino, WebServer, Alimentador Automático e PH


    No post de hoje vamos apresentar um novo projeto para automação de aquários.

    Já fizemos um projeto de automação no post http://www.automacaolivre.com.br/2013/06/aquadroid-monitorando-um-aquario-com.html com LCD para apresentação dos dados e teclado para acesso as funcionalidades.
    A melhoria do novo projeto é a troca do LCD e teclado numérico por uma interface gráfica que realiza o acesso, monitoramento e agendamento de forma remota. O equipamento é autônomo, após configurado, não é necessário conexão com rede, internet ou da interface gráfica para funcionar o agendamento de horários de acionamento das saídas, iluminação e alimentação
    Equipamento
    Painel de comando
    Setup do equipamento
    Configuração do horário do equipamento
    Agendamento de Saídas
    Agendamento de Alimentação
    Alimentador integrado ao Aquadroid
    Vídeo do Projeto

    Funcionalidades do Projeto
    -4 Saídas com Relés para acionamento de Bomba, Termostato, Luz Fluorecente, Solenóide do cilindro de CO2 ou outro dispositivo.
    -Iluminação RGB para criação de efeito noturno ou utilização de leds de potência para iluminação do aquário(requer ajuste na programação do Arduino).
    -Leitura de Temperatura.
    -Leitura e calibração de PH.
    -Sensor de nível baixo de água (Em desenvolvimento).
    -Sensor de nível alto de água (Em desenvolvimento).
    -Alimentador automático.
    -Alarme de Temperatura, PH e Níveis de água fora da faixa estabelecida (Em desenvolvimento).
    -Modo de operação Automático e Manual
    -Programação de horários de acionamento de saídas (solenóide CO2).
    -Programação de horários de acionamento de iluminação.
    -Programação de horários de alimentação.
    -Ajuste de horário via ferramenta de setup.
    -Interface para acompanhamento dos parâmetros do aquário, alteração entre modos manual e automático, acionamento remoto de saídas e iluminação.

    Leitura PH
    Não foi efetivo 100% de sucesso na aferição de todas as leituras com a sonda pH. Foram realizados testes seguindo toda a especificação do fabricante e do projeto https://github.com/sparkfun/H2O_pH_Probe desenvolvido pela SparkFun. Como o conjunto Sonda + Interface tem um custo alto, acompanhe a evolução do projeto e divulgação de novos testes antes de efetuar a compra.

    Conexões do Projeto
    Conexões das saídas

    Lista de componentes
    1 - Arduino NANO V3.0.
    1 - Placa Automation Shield, a venda em nossa loja virtual.
    1 - Fonte industrial 12V x 3A (5A dependendo do consumo da faixa RGB utilizada).
    1 - RTC DS1307.
    1 - Shield Ethernet W5100, Atenção NÃO É compátivel com o projeto o shield enc28j60.
    1 - Buzzer 5V.
    1 - Fita de Leds RGB com base de acrílico para sustentação, o ideal é usar 2 ou 3 faixas RGB com o comprimento do aquário.
    1 - pH Sensor Kit, no projeto foi utilizado https://www.sparkfun.com/products/10972. -> Em ajustes finos.
    1 - Sensor De Temperatura Ds18b20 com cabo.
    1 - Resistor 4K7.
    3 - *Dissipadores  - Opcional, depende da carga utilizada na saída de Potência. Não é necessário com carga de faixas RGB com até 2mts.

    A montagem da caixa é opcional, o circuito de automação pode ficar embutido no próprio móvel do aquário. Com a facilidade de remover o Arduino do shield, fica fácil e rápido as manutenções e evoluções do projeto.

    Montagem da caixa - Opcional
    1 - Caixa modelo HT 300 ou equivalente. A caixa deve possuir um volume mínimo interno de 250 (largura) x 200 (comprimento) x 100 (altura) para montagem do projeto.
    1 - Cabos com conectores MODU para conexão entre os Shields.
    1 - Fios para conexão entre os relés, chaves e demais componentes dentro da caixa.
    3 - Cabo manga para o rabicho da iluminação RGB, Nivel de Agua e Alimentador
    4 - Tomada fêmea AC para painel.
    1 - Tomada macho 3 pinos AC para rabicho de alimentação.
    4 - Conjunto conectores macho e femea DIM para Iluminação RGB, Temperatura, leitura de níveis de água e alimentador.
    1 - Chave Liga desliga.
    1 - Porta fusível com fusível 20A para painel.

    Alimentador
    1- Alimentador Automático de Aquários.
    1- Drivers para conexão com motor, a venda em nossa loja virtual.
    1 - Cabos para conexão

    É necessário um driver para alimentação do alimentador do aquário, nunca ligue o motor diretamente na saída do Arduino. O motor é alimentado com 3V, e o circuito protege o Arduino contra picos de tensão e ruídos gerados pelo motor.

    Driver do Alimentador Automático
    PCB

    A adaptação do alimentador de aquários é fácil e rápida, ele deve ser aberto pelos 4 parafusos da arte inferior.

    O circuito do alimentador será inutilizado, corte os fios que conectam o motor a placa, e solde o novo cabo diretamente nos fios dos motores, 
    Remonte a alimentador, passando o cabo pela porta de pilhas.

    Testando todo o conjunto antes da montagem da caixa. É importante testar todo o conjunto antes da montagem da caixa, a dica é testar cada componente individualmente e depois realizar um teste completo. Abaixo podemos ver como foram realizados os testes.
    Vídeo de testes das conexões e integração com o painel de setup.
    Separando os componentes.
    Máscaras para furação da caixa.
    Espelhos da caixa cortados com a "Dremel".
    Verificando a furação do espelho com as tomadas.
    Furação finalizada e identidade visual aplicada.
    Iniciando a montagem dos componentes.
    Conectando o Automation Shield e demais shields.
    Fonte de alimentação conectada. Após esse passo já é possível realizar o primeiro teste de conexão com o Hardware.
    Conexões do RGB, Temperatura e Alimentador com o conector DIM.
    Finalizando a montagem com a conexão das saídas de relés com as tomadas fêmeas.
    Montagem do Hardware finalizada
    Montando a iluminação com a faixa de leds RGB
    Separando os componentes necessários. Como eu não tinha disponível "cabo manga", utilizei um dos cabos USB que tinha disponível. Utilizei uma barra de acrílico de 80cmx 4cm para fixação da faixa de leds.
     Preparando o cabo para montagem.
     Colando duas faixas de leds no barra de acrílico.
     É necessário jumpear uma faixa na outra, remova primeiramente o silicone das conexões e solde os jumpers conforme imagem abaixo.
     Preparando a conexão da extensão.
     Conexão finalizada.
     Montando o conector.
     Iluminação pronta e testada.

    Integração entre Hardware e painel de comando.
    A integração entre o equipamento e o aplicativo de monitoramento será feita através de uma API REST. Com ela será possível visualizar os estados de todas as funções do equipamento, acionar as saídas e alterar as rotinas de agendamento remotamente. A proposta de uso da API REST permite a criação de outros aplicativos nativos de acordo com o sistema operacional escolhido pelo usuário.

    Para acessar a API, acesse pelo browser o IP configurado conforme o exemplo abaixo:
    http://192.168.0.201/


    Retorno de Dados
    dataCB({
    "Auto":"1"   -> Indica se está executando no modo automático (1) ou Manual (0)
    ,"Temp":"27.3125000000" -> Temperatura
    ,"PH":"7" -> PH
    ,"Day":22 -> Dia
    ,"Mounth":2 -> Mes
    ,"Year":15 -> Ano
    ,"Hour":20 -> Hora
    ,"Minute":27 -> Minuto
    ,"Second":17 -> Segundo
    ,"S1":1 -> Estado da Saida 1  Ligado (1) ou Desligado (0)
    ,"S2":0 -> Estado da Saida 2  Ligado (1) ou Desligado (0)
    ,"S3":0 -> Estado da Saida 3  Ligado (1) ou Desligado (0)
    ,"S4":0 -> Estado da Saida 4  Ligado (1) ou Desligado (0)
    ,"NivelBaixo":0 -> Estado da Nivel Baixo Alarme (1) ou OK (0)
    ,"NivelAlto":0 -> Estado da Nivel Baixo Alarme (1) ou OK (0)
    ,"AgeS3HrI":9 -> Horario inicio agendamento acionamento Saída 3
    ,"AgeS3HrF":16 -> Horario fim agendamento acionamento Saída 3
    ,"AgeS4HrI":0 -> Horario fim agendamento acionamento Saída 4
    ,"AgeS4HrF":0 -> Horario inicio agendamento acionamento Saída 4
    ,"AgeRGBWHITEHrI":17 -> Horario inicio agendamento faixa RGB na cor Branca
    ,"AgeRGBWHITEHrF":18 -> Horario fim agendamento faixa RGB na cor Branca
    ,"AgeRGBBLUEHrI":19 -> Horario inicio agendamento faixa RGB na cor Azul
    ,"AgeRGBBLUEHrF":22 -> Horario fim agendamento faixa RGB na cor Azul
    ,"AgeFeed1":10 -> Horario primeira Alimentacao
    ,"AgeFeed2":19 -> Horario segunda Alimentacao
    ,"Red":0 -> Luminosidade Fixa RGB RED (0- Desligado 255- Máximo)
    ,"Green":0 -> Luminosidade Fixa RGB Green (0- Desligado 255- Máximo)
    ,"Blue":255 -> Luminosidade Fixa RGB Blue (0- Desligado 255- Máximo)
    })


    Métodos principais
    getDateDs1307: Atualiza as varíaveis globais de data e hora com o horário atual fornecido pelo RTC.
    GetTemp: Atualiza a varíavel de temperatura fornecido pelo Ds18b20.
    GetPH:  Atualiza a varíavel de pH fornecido pela sonda de pH.
    WebServer: Recebe as requisições HTTP da interface gráfica para acionamento das saídas, agendamento e retorna o JSON com os dados atualizados do sistema.
    ModoAuto: Executa as ações de acionamento de saídas de acordo com os horários pré-programados.
    Alarme: Dispara o alarme sonoro de acordo com as faixas pré-configuradas de ph, temperatura e nível de água. (Em desenvolvimento)

    Sempre desconecte qualquer Shield que esteja conectado com a porta serial do Arduino antes de realizar o Upload. As porta serial é compartilhada entre o USB para a gravação do Arduino Nano e comunicação serial do Arduino com outros shields. No projeto usamos a conexão serial para interface de integração com a sonda pH, se a mesma estiver conectada ocorrerá um conflito e erro durante o processo de Upload.


    WatchDog e EEPROM
    No projeto foi utilizado o WatchDog. Sua função é reiniciar o Arduino se o programa que estiver em execução travar. No setup habilitamos com o método wdt_enable(WDTO_8S) um timeout de 8s, e a cada loop reiniciamos seu contador interno com o método wdt_reset(). Se o contador não for reiniciado em 8 segundos, ele automaticamente reiniciará o Arduino. Mas como ficam as últimas ações enviadas pelo usuário? Todas as ações e configurações realizadas pelo usuário são gravadas na EEPROM (Memória não vólatil, que não perde os dados por falta de energia ou reinicialização), dessa forma, se o arduino travar, reinicar ou ocorrer uma interrupção de energia, ele reestabelecerá os estados de todas as saídas e agedamentos de acordo com a última solicitação do usuário.


    Setup


    Loop


    WebServer


    Modo Automático


    Código Fonte
    Clique aqui para acesso ao código fonte no GitHub.

    Primeiros testes
    O primeiro teste é consumir a API REST que retorna os dados atualizados do sistema. Conecte o cabo de rede no shield de Ethernet e abra em um navegador o IP da placa.
    Se as configurações e conexões estiverem corretas, serão apresentados os dados do sistema em um formato Json.
    O próximo passo é testar o acionamento da saida S1, executando a API com o comando "http:\\192.168.0.201\?S1L", o relé S1 é acionado.

    Interface gráfica e testes finais de acesso ao sistema
    A Interface gráfica de acesso ao sistema é uma interface Html5. O principal objetivo dessa abordagem é a facilidade inicial de portabilidade e execução em multiplos dispositivos, como Windows, Linux, e celulares com Android, desde que rode em um navegador com suporte para HTML5. O equipamento deve ter uma resolução mínima de 640x480.

    Devido a restrições de acesso do iOS ao sistema de arquivos do dispositivo, o projeto abaixo não é compátivel com iPhone/iPad, sendo necessária a criação de uma aplicativo nativo que integre com as APIs do projeto. Uma alternativa é hospedar os arquivos html em um servidor com WebServer Apache, IIS, entre outros e realizar o acesso pelo iPhone/iPad.

    Configurações
    Abra o arquivo aquadroid.js e configure a variável IP com o IP que foi configurado no arduino ou IP e Porta configurada no roteador. Eu configurei meu roteador para acesso externo ao IP do equipamento, dessa forma, eu acesso o painel do meu trabalho, na rua, durante viagens, etc. Para aumento de segurança de acesso, pode ser criada uma VPN em sua rede doméstica, de forma que o acesso ao IP do equipamento seja apenas permitido em conexões realizadas dentro de sua rede local. Verifique se seu roteador tem essa opção.

    Executando o painel no Desktop
    Abra no browser o arquivo painel.html, você deverá visualizar o painel com os dados atualizados do equipamento.

    Página de Setup

    Executando o painel em dispositivos Android
    Copie a pasta do projeto descompactada na área de arquivos do Android, nesse momento será necessário anotar o caminho completo até o arquivo Painel.html, se tiver dificuldade, use o aplicativo "ES File Explorer" para copiar o caminho completo. Abra o arquivo com o caminho completo em um navegador. Eu utilizo navegador UCBrowser, a vantagem dele é abrir o painel no modo fullscreen.

    Evoluindo com o projeto.
    O projeto na versão atual permite automação de aquários marinhos, mas de forma limitada. Projetos com monitoramento e controle simultâneos de PH, ORP, Densidade, Temperatura, Nível, TPA automático e outras funcionalidades exigem mais recursos de hardware e software, devendo usar como base um Arduino com mais recursos, como um Arduino Mega e uma expansão PCF8575.

    A placa Automation Shield é compatível com o Arduino Mega, mas ela não possui conectores para conexão direta, sendo necessária a remoção do Arduino Nano e a conexão com o Arduino Mega com Jumpers.

    Conexões Arduino Mega - Automation Shield
    (D3-P1, D5-P2, D6-P3, A0-S1, A1-S2, A2-S3, A3-S4 VIN - 9V e GND-GND).

    Conexões Arduino Mega - RTC
    SDA 20 - SDA RTC
    SCL 21 - SCL RTC

    Conexões Arduino Mega - Ethernet Shield
    Utilizar um shield de ethernet para Arduino Uno/Mega, ele já possui os terminais para conexão.

    Vídeo do projeto com Arduino Mega em funcionamento na bancada

    O código fonte é open source e está publicado no meu GitHub.  O projeto está em constante evolução, aceitando sugestões e críticas. Brevemente será publica a versão com os Alarmes e Relatórios.

    Read more