Neste post vamos conhecer o CLP Duino Nano Wantronics, uma PCB que utiliza o Arduino Nano.
A vantagem em se utilizar uma plataforma como o Arduino está no fato de existir muitos exemplos na Web, e no próprio site do Arduino. Além disso, permite que façamos projetos mais rapidamente, gastando um quantidade menor de tempo e de recursos.
O projeto consiste de uma placa de circuito impresso, e tem como intuito fornecer os mesmos recursos que um CLP, ou melhor dizendo, um relé lógico programável, mas sem deixar de lado a qualidade e confiabilidade do circuito. O Shield CLP Duino Nano Wantronics possui as seguintes especificações técnicas:
Seis entradas digitais opto acopladas;
Seis entradas analógicas, que é capaz de trabalhar com um range de 0 a 5 Vcc, ou de 0 a 10 Vcc, selecionáveis via jumpers;
Seis saídas digitais com relés;
A PCB montada ficou como mostrado na figura a seguir.
E na próxima figura podemos observar como ficou o lado de baixo da PCB:
Os documentos e projetos da PCB foram feitos com o Kicad EDA, entretanto poderia ser utilizadas outras ferramentas EDA.
Agora temos um Hardware montado e com todos os componentes soldados, entretanto precisamos de um firmware para que seja possível validar o circuito e verificar o seu funcionamento. Para isso, podemos gravar o código exemplo que é mostrado abaixo:
Firmware para validação do Hardware do CLP Duino Nano Wantronics.
/*
Wantronics
03 / 07 / 2021
CLP Duino Nano Wantronics
*/
void setup() {
// Definindo as entradas de 1 a 6
pinMode (13, INPUT);
pinMode (12, INPUT);
pinMode (11, INPUT);
pinMode (10, INPUT);
pinMode (9, INPUT);
pinMode (8, INPUT);
//Definindo as saídas de 1 a 6
pinMode (7, OUTPUT);
pinMode (6, OUTPUT);
pinMode (5, OUTPUT);
pinMode (4, OUTPUT);
pinMode (3, OUTPUT);
pinMode (2, OUTPUT);
}
void loop() {
// Verifica se a entrada 1 foi acionada
if (digitalRead (13)) {
digitalWrite (7, HIGH);
}
else {
digitalWrite (7, LOW);
}
// Verifica se a entrada 2 foi acionada
if (digitalRead (12)) {
digitalWrite (6, HIGH);
}
else {
digitalWrite (6, LOW);
}
// Verifica se a entrada 3 foi acionada
if (digitalRead (11)) {
digitalWrite (5, HIGH);
}
else {
digitalWrite (5, LOW);
}
// Verifica se a entrada 4 foi acionada
if (digitalRead (10)) {
digitalWrite (4, HIGH);
}
else {
digitalWrite (4, LOW);
}
// Verifica se a entrada 5 foi acionada
if (digitalRead (9)) {
digitalWrite (3, HIGH);
}
else {
digitalWrite (3, LOW);
}
// Verifica se a entrada 6 foi acionada
if (digitalRead (8)) {
digitalWrite (2, HIGH);
}
else {
digitalWrite (2, LOW);
}
}
O Código é bem extenso, no entanto é possível fazer melhorias e deixá-lo mais legível, como em outro post que foi feito um firmware com o mesmo objetivo, de validar o Hardware, mas utilizando uma quantidade menor de linhas de código.
Por possuir características semelhantes a um relé lógico programável comercial, mas com um custo menor, o CLP Duino Wantronics não perde em qualidade.
No link a seguir vocês podem ver como ficou o projeto do CLP Duino Wantronics, feito com o Arduino Uno, e comparar os dois códigos.