Você está na página 1de 19

Serial Link Comunicaes & Servios

Manual Tcnico

Arduino Supervisrio Automation


(Mother Board)

2015 Todos os direitos reservados Pgina 1 de 19

Serial Link Comunicaes & Servios

Sumrio
Manual Tcnico......................................................................................................................................................1
Introduo.........................................................................................................................................................3
Caractersticas..................................................................................................................................................4
Mdulos Integrados...........................................................................................................................................5
Arduino Supervisrio Integrado & Conector FTDi Basic..................................................................................6
Arduino Supervisrio....................................................................................................................................6
Conector FTDi Basic....................................................................................................................................7
Mdulo Dimmer AC Bivolt Integrado (2 Canais)...............................................................................................8
Mdulo de Rel Integrado (4 Canais)...............................................................................................................9
Conectores de Alimentao 12VCC e 24VCC................................................................................................10
Conector de Rede (Ethernet RJ45)..............................................................................................................11
Conector Para Sensores Externos.................................................................................................................12
Conector Para Sensores Externos.................................................................................................................13
Sugesto de Cdigo Completo.......................................................................................................................14
Compilando Cdigo Completo........................................................................................................................17
Painel de Controle Web..................................................................................................................................18
Configuraes do Cdigo Completo...............................................................................................................19

2015 Todos os direitos reservados Pgina 2 de 19

Serial Link Comunicaes & Servios

Introduo
Arduino Supervisrio Automation (as vezes chamado de placa-me) uma placa integrada do Arduino com
acessrios, como Ethernet, Rels e Dimmers AC.
Contando tambm com entradas analgicas para sensores, esta placa-me uma soluo completa e
integrada para automatizar dispositivos, controlando atravs do SmartPhone, computador PC, Tablet etc!
Para integrar o Arduino Supervisrio Automation com a Internet, necessrio um Roteador e um Modem
Internet. Vide mais abaixo a seo apropriada deste manual.

2015 Todos os direitos reservados Pgina 3 de 19

Serial Link Comunicaes & Servios

Caractersticas

1x Arduino Integrado atravs de conector para ATMega328, compatvel UNO


1x Conector exclusivo FTDi Basic para atualizar a programao sem precisar retirar o chip
2x Canais Dimmer AC (acionamento proporcional PWM de cargas AC at 1500W)
4x Canais Rel 10A (para acionamento de cargas at 1500W)
1x Conector de Alimentao 12V
1x Conector de Alimentao 24V
1x Conector Ethernet (RJ45)
1x Conector com 6 pinos de entradas analgicas para sensores

Como podemos verificar na lista acima, o Arduino Supervisrio Automation chamado de Mother Board
(placa-me em ingls), justamente por integrar todos os mdulos em uma nica placa.
Arduino FTDi Basic Utilizado para enviar o cdigo para o Arduino, via USB do computador.
http://seriallink.com.br/web/index.php?r=produtos/placaarduinoftdibasic
Arduino Supervisrio Integrado na placa-me, incluindo conector FTDi, exclusivo Serial Link.
http://seriallink.com.br/web/index.php?r=produtos/placaarduinosupervisorio
Mdulo Dimmer AC Bivolt com 2 Canais A placa-me j conta com dois desses mdulos integrados nas
portas D4 e D5 do Arduino Supervisrio, tambm integrado. Ocupando as portas D2, D4, D5
http://seriallink.com.br/web/index.php?r=produtos/placamodulodimmerac
Mdulo de Rel com 4 Canais Integrado na placa-me, mas utilizando rels de 12V para menor consumo
de energia, maior durabilidade e menor custo! Ligados nas portas D6, D7, D8, D9 do Arduino.
http://seriallink.com.br/web/index.php?r=produtos/placamodulorele4canais
Mdulo Ethernet ENC28J60 nica placa-me fabricada no Brasil com o Mdulo ENC28J60 integrado!
Ocupando as portas D10, D11, D12, D13 do Arduino.

2015 Todos os direitos reservados Pgina 4 de 19

Serial Link Comunicaes & Servios

Mdulos Integrados
A partir desse ponto veremos em detalhes os mdulos integrados da placa Arduino Supervisrio Automation.

2015 Todos os direitos reservados Pgina 5 de 19

Serial Link Comunicaes & Servios

Arduino Supervisrio Integrado & Conector FTDi Basic


Arduino Supervisrio
Soquete 28 pinos, estreito para acomodar chips da linha MegaAVR da Atmel. A lista de chips, que podem ser
utilizados nessa placa, segue abaixo:

ATMega8/88 DIP
ATMega168 DIP
ATMega328 DIP

A placa do Arduino Supervisrio Automation possui o circuito bsico de funcionamento de um Arduino UNO,
compatvel.
Ou seja, temos o soquete j conectado no cristal, capacitores de polarizao, resistor de pull-up do reset,
entre outras opes; amadurecidas durante os anos de produo do Arduino Supervisrio, base desta placame.

Resistor de pull-up e
capacitor da linha do Reset

Conector
FTDi Basic

Capacitor de
Filtro de Linha

Cristal e capacitores
de polarizao

Soquete 28 pinos
para ATMega's

2015 Todos os direitos reservados Pgina 6 de 19

Serial Link Comunicaes & Servios

Conector FTDi Basic


Na foto acima, podemos ver tambm o Conector FTDi Basic, que falaremos melhor dele, durante o manual.
Mas, para conhecimento, essa a posio desse conector; e onde deve ser ligado o FTDi Basic para
carregar a programao no Chip ATMega sem precisar tirar da placa.
Veja uma foto para se orientar na hora de ligar o FTDi Basic no Arduino Supervisrio Automation.
Ateno! No ligue o FTDi Basic invertido!

2015 Todos os direitos reservados Pgina 7 de 19

Serial Link Comunicaes & Servios

Mdulo Dimmer AC Bivolt Integrado (2 Canais)


A placa-me possui 2 canais de Dimmer AC para acionamento proporcional de cargas. Isso significa que voc
pode comandar a velocidade de ventiladores, a potncia de lmpadas incandescentes, ou resistncias de
calor at 1500W, por canal.
Os Dimmers AC possuem a seguinte pinagem na placa-me:

Pino

Dimmer AC

Arduino (ATMega)

Interrupa o 60Hz

ZC (ZeroCross)

D2 (INT0)

Disparo Dimmer AC Canal 1

DIM (Sinal do Dimmer1)

D4

Disparo Dimmer AC Canal 2

DIM (Sinal do Dimmer2)

D5

O disparo dos Dimmers podem ser feitos pelas portas digitais 4 e 5 do Arduino. Lembrando que este disparo
um PWM em sincronia com o ZeroCross, conforme visto na Aula 3 do Curso Arduino Automation:
http://seriallink.com.br/forum/viewtopic.php?f=105&t=2702
Voc pode utilizar os cdigos apresentados na aula, clicando nesse outro link:
http://seriallink.com.br/forum/viewtopic.php?f=105&t=2702
Abaixo podemos ver o conector dos Dimmer e as explicaes das entradas:

Ligar Carga do
Dimmer AC 1

Ligar na Tomada
110V ou 220V

Ligar Carga do
Dimmer AC 2

2015 Todos os direitos reservados Pgina 8 de 19

Serial Link Comunicaes & Servios

Mdulo de Rel Integrado (4 Canais)


A placa-me Arduino Supervisrio Automation possui 4 canais para acionamento de cargas, por rels.
Cada rel possui circuito independente de proteo contra surtos da rede at 5000 volts e um contato para
acionamento.
Verificando os conectores, podemos notar que cada sada de rel possui 3 terminais parafusveis, onde
ligamos as cargas.

Terminal NC
Normalmente Fechado

Terminal NO
Normalmente Aberto

Terminal CMN
Comum
Na foto abaixo podemos ver todas as 4 sadas e seus respectivos bornes, identificados abaixo.

Vejamos agora as portas utilizadas pelo Arduino para o acionamento dos rels:

Porta Arduino

Canal do Rel

D6

D7

D8

D9

2015 Todos os direitos reservados Pgina 9 de 19

Serial Link Comunicaes & Servios

Conectores de Alimentao 12VCC e 24VCC


Para atender uma maior gama de clientes, a placa-me Arduino Supervisrio Automation possui entrada
tradicional para 12V, mas tambm uma especial para ligao de 24V.
Ambas entradas 12V e 24V so DC, ou seja de corrente contnua. Ateno! NO ligue corrente alternada
nesses conectores!
A entrada para 12V DC fica ao lado dos conectores dos rels, conforme foto abaixo:

Conector de
Alimentao 12V DC

Conector do
Rel Canal 1

GND
12V
J o Conector de Alimentao 24V DC fica perto dos reguladores de tenso, conforme foto:

Reguladores de
Tenso

Conector de
Alimentao 24V DC

GND
Siga as seguintes recomendaes para uso de fontes:
Conector 12V

Possvel ligar de 6V ~ 12V DC


Fonte deve fornecer pelo menos 1A de corrente (ideal fonte de 3A)

Conector 24V

Possvel ligar de 15V ~ 36V DC


Fonte deve fornecer pelo menos 1A de corrente (ideal fonte de 3A)

2015 Todos os direitos reservados Pgina 10 de 19

24V

Serial Link Comunicaes & Servios

Conector de Rede (Ethernet RJ45)


O grande diferencial desta placa-me, em relao ao que existe disponvel no mercado de Automao
atualmente, justamente o fato dela possuir o Mdulo de Ethernet integrado; bastando apenas ligar o cabo
de rede e sair usando! Literalmente!
Veja na foto abaixo que o conector para o cabo RJ45 tambm conta com LED's de indicao do status da
rede e tambm da transmisso de dados.

Conector de Rede

LED Verde
Status

LED Amarelo
Dados

Toda parte de circuito da rede feita pelo chip ENC28J60, utilizando a biblioteca EtherEncLib. Esta biblioteca
foi desenvolvida especialmente para esse projeto e aps 4 anos de desenvolvimento, apresenta uma verso
estvel e muito rpida! Alm de consumir poucos recursos do Arduino.
Para baixar e instalar a biblioteca EtherEncLib.h, acesse o link abaixo e baixe o pacote ZIP:
https://github.com/renatoaloi/EtherEncLib/tree/newMods
Voc pode baixar o pacote ZIP diretamente nesse link:
https://github.com/renatoaloi/EtherEncLib/archive/newMods.zip
Verifique mais abaixo neste manual o cdigo completo de funcionamento da placa-me.

2015 Todos os direitos reservados Pgina 11 de 19

Serial Link Comunicaes & Servios

Conector Para Sensores Externos


Alm de todas as caractersticas citadas acima, a placa-me Arduino Supervisrio Automation possui um
conector padro MODU Macho para ligao de Jumpers (com Terminal Fmea); onde podemos ligar
sensores diretamente nas portas analgicas do Arduino!
Veja na foto abaixo que o conector bem simples e sequencial, expondo diretamente cada uma das portas
analgicas do Arduino para uso externo.

Pino 1
Conector Para Sensores
6 Entradas Analgicas
.
.
.
Pino 6

Mapeamento das Portas Analgicas do Arduino em relao ao Conector Para Sensores:


Porta Analgia do Arduino

Pino do Conetor Para Sensores

A0

A1

A2

A3

A4

A5

Normalmente os sensores necessitam tambm de pinos adicionais para alimentao 5V e tambm GND.
Para isso, utilize o Conector FTDi Basic (que fica ao lado) para aproveitar pinos de alimentao, conforme
foto:

Conector
Para Sensores

GND

Conector
FTDi Basic
5V
2015 Todos os direitos reservados Pgina 12 de 19

Serial Link Comunicaes & Servios

Conector Para Sensores Externos


Para comear a utilizar a placa-me Arduino Supervisrio Automation voc precisar dos seguintes itens
adicionais:

1x ATMega328 com bootloader UNO


1x FTDi Basic
1x Cabo USB
1x Computador PC

Para preparar o ambiente, siga os passos abaixo:


1) Ligue o Computador PC, acesse o site do link abaixo, e efetue o Download do programa do Arduino
(conhecido por IDE).
https://www.arduino.cc/en/Main/Software
2) Baixado e instalada a IDE do Arduino, voc precisar instalar o driver do FTDi Basic (s para Windows e
MAC). No precisa instalar driver no Linux.
- Siga as orientaes do manual do FTDi Basic para aprender a efetuar passo-a-passo essa etapa:
http://www.seriallink.com.br/lab/Arduino/Datasheet_FTDiBasic_SerialLink.pdf
- Link direto para o Manual Ilustrado de Montagem e Instalao do FTDi:
http://seriallink.com.br/lab/Arduino/Protuino_SerialLink.html#Upload_de_Programas_.28Sketches.29
Aps ler essa documentao e instalar todos os requisitos, voc estar pronto para ligar o FTDi na placa-me
e comear a carregar cdigo do Arduino.
3) Veja na foto abaixo como efetuar a ligao do Arduino FTDi Basic no Conector FTDi Basic da placa-me
Arduino Supervisrio Automation:

Conecte o FTDi Basic


Nesta orientao

Pronto! Agora basta ligar o cabo USB e comear a carregar os programas!

2015 Todos os direitos reservados Pgina 13 de 19

Serial Link Comunicaes & Servios

Sugesto de Cdigo Completo


Abaixo podemos ver um exemplo completo que utiliza todas as funcionalidades da placa-me Arduino
Supervisrio Automation.
Para utilizar o exemplo abaixo, voc primeiro precisa instalar as bibliotecas! Verifique o prximo tpico para
saber como compilar o programa.
// seriallink.com.br
// 2015
// by Renato Aloi
#include
#include
#include
#include

<SPI.h>
<EEPROM.h>
<EthernetAutomation.h>
<EtherEncLib.h>

#define ACTIVATE_LOGIN 1
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 177 };
const
const
const
const
const
const
const
static
static
static
static

char
char
char
char
char
char
char

relay1 = 6; // relays
relay2 = 7;
relay3 = 8;
relay4 = 9;
dimmer1 = 97; // real pin 4;
dimmer2 = 98; // real pin 5;
exitfakebutton = 99;

volatile
volatile
volatile
volatile

unsigned
unsigned
unsigned
unsigned

long momentoDisparo = 0;
int gatilhoDisparo = 4000;
long momentoDisparo2 = 0;
int gatilhoDisparo2 = 4000;

const unsigned char dimmer1pin = 4;


const unsigned char dimmer2pin = 5;
EthernetAutomation automation(80);
void setup()
{
pinMode(10,OUTPUT); //--- ? -- SS pin must be output # by Renato Aloi
Serial.begin(115200);
delay(200);
Serial.println(F("Serial OK!"));
automation.begin(mac, ip);
delay(200);
Serial.println(F("Ethernet OK!"));
if (!automation.isWebDBExists())
{
// Criando WebDB
automation.addDB();
// Criando logins
automation.addLogin("yourname", "yourpass", 5); // 5 = tempo da sessao (session expires)
automation.addLogin("seuuser", "suasenha", 15); // logins e senhas ate 9 caracteres
// Criando botoes buttons
automation.addButton(relay1, "Rele 1", ONOFF_BUTTON);
automation.addButton(relay2, "Rele 2", ONOFF_BUTTON);
automation.addButton(relay3, "Rele 3", ONOFF_BUTTON);
automation.addButton(relay4, "Pulsar", PULSE_BUTTON);
automation.addDimmer(dimmer1, "Dimmer1: ", 127, -1, 25);
automation.addDimmer(dimmer2, "Dimmer2: ", 127, -1, 25);
automation.addButton(exitfakebutton, "Sair", MACRO_BUTTON); // fake button

2015 Todos os direitos reservados Pgina 14 de 19

Serial Link Comunicaes & Servios


Serial.println(F("DB Add OK!"));
}
else
{
Serial.println(F("DB Init OK!"));
}
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
pinMode(dimmer1, OUTPUT);
pinMode(dimmer2, OUTPUT);
attachInterrupt(0, zeroCrossInt, CHANGE);
}
void loop()
{
if (automation.available(ACTIVATE_LOGIN))
{
Serial.println(F("ETH avail OK!"));
// Verifica se algum botao foi pressionado
// Check for button pressed
int lastButton = automation.getLastClickedButton();
int buttonState = automation.getButtonState(lastButton);
Serial.print("Lastbutton: ");
Serial.println(lastButton, DEC);
Serial.print("ButtonState: ");
Serial.println(buttonState, DEC);
// Executa o comando conforme o botao clicado
// Do the command for pressed button
switch(lastButton)
{
case relay1:
Serial.print(buttonState ? "Ativou" : "Desativou"); Serial.println(F(" Rele 1"));
digitalWrite(relay1, buttonState);
break;
case relay2:
Serial.print(buttonState ? "Ativou" : "Desativou"); Serial.println(F(" Rele 2"));
digitalWrite(relay2, buttonState);
break;
case relay3:
Serial.print(buttonState ? "Ativou" : "Desativou"); Serial.println(F(" Rele 3"));
digitalWrite(relay3, buttonState);
break;
case relay4: // PULSE Button
Serial.print(F("Pulsou ")); Serial.println(F(" Rele 4"));
digitalWrite(relay4, HIGH);
delay(100);
digitalWrite(relay4, LOW);
break;
case dimmer1:
Serial.print(F("Dimmer1 value: "));
Serial.println(automation.getDimmerValue(dimmer1), DEC);
gatilhoDisparo = map(automation.getDimmerValue(dimmer1), 0, 255, 7000, 1000);
break;
case dimmer2:
Serial.print(F("Dimmer2 value: "));
Serial.println(automation.getDimmerValue(dimmer2), DEC);
gatilhoDisparo2 = map(automation.getDimmerValue(dimmer2), 0, 255, 7000, 1000);
break;
case exitfakebutton:
// Logout!
automation.logOut();
break;
default:
break;
}
// Closing and printing HTML to client
automation.close();

2015 Todos os direitos reservados Pgina 15 de 19

Serial Link Comunicaes & Servios


}
checkDimmerTimeSpan();
}
void checkDimmerTimeSpan()
{
if (momentoDisparo > micros() || momentoDisparo2 > micros())
{
if (momentoDisparo > momentoDisparo2)
{
while(momentoDisparo2 > micros());
digitalWrite(dimmer2pin, HIGH);
while(momentoDisparo > micros());
digitalWrite(dimmer1pin, HIGH);
}
else if (momentoDisparo2 > momentoDisparo)
{
while(momentoDisparo > micros());
digitalWrite(dimmer1pin, HIGH);
while(momentoDisparo2 > micros());
digitalWrite(dimmer2pin, HIGH);
}
else
{
while(momentoDisparo > micros());
digitalWrite(dimmer1pin, HIGH);
digitalWrite(dimmer2pin, HIGH);
}
}
}
void zeroCrossInt()
{
digitalWrite(dimmer1pin, LOW);
digitalWrite(dimmer2pin, LOW);
momentoDisparo = micros() + gatilhoDisparo;
momentoDisparo2 = micros() + gatilhoDisparo2;
}

2015 Todos os direitos reservados Pgina 16 de 19

Serial Link Comunicaes & Servios

Compilando Cdigo Completo


Para compilar o cdigo completo, precisamos da IDE do Arduino, conforme imagem abaixo.

Basta copiar e colar o cdigo completo na rea onde digitamos o cdigo e clicar em Carregar.
Mas para a compilao dar certo, precisamos de duas bibliotecas.
Precisamos da biblioteca EtherEncLib.h que pode ser baixada nesse link:
https://github.com/renatoaloi/EtherEncLib/archive/newMods.zip
E tambm da biblioteca EthernetAutomation.h, que pode ser baixada no link abaixo:
https://github.com/renatoaloi/EthernetAutomation/archive/master.zip
Dica: Para instalar as bibliotecas, basta descompactar a pasta de cada uma delas dentro do diretrio
libraries do sketchbook do Arduino.
Normalmente essa pasta libraries fica nos seguintes caminhos, dependendo do Sistema Operacional:
- Windows
C:\Arquivos de Programas\
- MACOSX
- Linux

2015 Todos os direitos reservados Pgina 17 de 19

Serial Link Comunicaes & Servios

Painel de Controle Web


Para configurar e controlar os dispositivos conectados na placa do Arduino Supervisrio Automation,
utilizamos o Painel de Controle Web, que uma pgina HTML com botes que podemos atuar sobre os
dispositivos.
Podemos acessar o Painel de Controle Web atravs de qualquer navegador de Internet, via computador ou
smartphone.
Essa pgina HTML pode ser acessada pelo endereo http://192.168.0.177, configurado no Cdigo
Completo, que j vimos acima, e ser explicado na prxima seo.

2015 Todos os direitos reservados Pgina 18 de 19

Serial Link Comunicaes & Servios

Configuraes do Cdigo Completo


Para ajustar o Cdigo Completo para sua utilizao, precisamos configurar o IP da Rede Local de
Computadores, ou seja da Ethernet.
Normalmente esse IP est intimamente ligado com a faixa de operao de IP's da Rede Local e precisa ser
configurado manualmente.
Se voc no possui experincia com configuraes de Rede, siga os passos abaixo:
1) Para descobrir qual IP utilizar, digite o comando ipconfig (windows) ou ifconfig (linux) para saber
qual o IP do seu computador atual.
Vamos dizer que o IP do seu computador seja 192.168.1.25
2) Configure a linha abaixo do Cdigo Completo para refletir um IP vlido na sua Rede, somando um no
ltimo byte do IP do seu prprio computador.
No exemplo deste manual, o IP do seu computador 192,168.1.25, ento configure seu Arduino Supervisrio
Automation com o IP 192.168.1.26.
Onde est escrito assim:
byte ip[] = { 192, 168, 0, 177 };
Ficar assim:
byte ip[] = { 192, 168, 1, 26 };
Dica 1: No cdigo utilizamos vrgula para separar os bytes do IP e no pontos. Ateno nesse detalhe!
Dica 2: Se o DHCP do seu roteador estiver ligado pode haver conflito de IP's, mas no causar problemas,
apenas utilize outro nmero de IP que no esteja em uso na Rede.

2015 Todos os direitos reservados Pgina 19 de 19

Você também pode gostar