Open top menu
segunda-feira, 12 de dezembro de 2011
Testando nosso Relé Shield


No post de hoje vamos aprender a conectar a placa que construímos no post Construindo um ReleShield e codificar um programa que detecte a luz do ambiente para acender ou apagar uma luz.

Para começar, O que é Arduino?




Arduino é uma plataforma open-source projetada com um microncontrolador Atmel Atmega328, possuindo 14 entradas/saídas digitais, 6 entradas analógicas, 32Kb de memória flash, 2Kb de memória RAM com um clock de 16Mhs. É destinado a artistas, designers, hobbystas, e qualquer pessoa interessada em criar objetos ou ambientes interativos.
O microcontrolador é programado usando uma linguagem baseada em Wiring e pode ser construídas aplicações Stand-Alone ou integradas com outros dispositivos e computadores



IDE de programação
O ambiente de desenvolvimento é disponibilizado no próprio site do Arduino http://arduino.cc/en/Main/Software, com versões disponíveis para Mac OS XWindows e Linux  32 bit64 bit.

Onde Comprar
O site oficial contém a relação de vendedores autorizados, inclusive no Brasil.
http://arduino.cc/en/Main/Buy

Para aprender
A melhor fonte de informações, exemplos, códigos e o próprio site e fórum do Arduino.


Lista de Componentes:
Arduino UNO
Cabo USB de Programação
ReleShield
LDR
1 Resitor de 10K 1/8W (marrom-preto-laranja)
Fonte 12V


Conectando o ReleShield ao Arduino:



Entendendo o circuito:
O LDR é um tipo de resistor cuja resistência varia de acordo com a intensidade de luminosidade, no circuito acima, ele é ligado de forma que a variação da resistência altere a tensão na entrada A0.
O conversor (A/D) do Arduino tem entrada máxima de 5V. com uma resolução de 10 bits em valores digitais de 0 a 1023, ele diferencia valores entre 0V e 5V. quando o sinal da entrada estiver em 5V ele converte para 1023.



Codificando o programa:
A estrutura de um programa do Arduino, também conhecido como Sketch é divido em duas funções básicas: void setup() e void loop().
A função void setup()  é executada quando o Arduino é inicializado, ela deve ser usada para inicialização de variáveis e configurações que devem ser realizadas no início da execução.
A função void loop() é executada continuamente após a execução da função setup(), e nela que escrevemos o código do programa.


Vamos aprender como nosso programa funciona:



No começo do programa declaramos três constantes de definição do nosso programa

A primeira constante define qual pino digital será usado para acionarmos o ReleShield, se quiser usar outro pino, atribua a constante o valor do pino desejado
const int shieldRelePin = 13;


A segunda constante define qual pino analógico será usado para leitura do sinal análogico produzido pelo circuito do LDR
const int sensorLDRPin = A0;


A terceira constante define qual será o valor para disparo do circuito, se o valor lido for menor que a constante, o ReleShield será acionado.
const int constanteAjuste = 400;


Método de inicialização do Arduino
void setup() {

   Método que define que o estado inicial do pino de saida é baixo, para não acionar o ReleShield
   pinMode(shieldRelePin, LOW);

   Configuração da comunicação serial do Arduino, ela será usada para envio do sinal lido para ajuste do programa.
   Serial.begin(9600);
}

Método que executa continuamente após execução do método void setup()
void loop() {

  variável para armazenar o valor lido da entrada analógica
  int leituraSensorLDR = 0;

  atribuição na variável do valor lido da entrada analógica
  leituraSensorLDR = analogRead(sensorLDRPin);  

  Se o valor lido for maior ou igual a constante de Ajuste
  if (leituraSensorLDR >= constanteAjuste) {

    A saída digital enviará sinal baixo para o ReleShield (Desligar ReleShiel)
    digitalWrite(shieldRelePin, LOW);  
  }
  else
  {
    Senão a saída digital enviará sinal alto para o ReleShield (Ligar ReleShiled)
    digitalWrite(shieldRelePin, HIGH);      
  }

  O Sinal lido é enviado pela porta serial
  Serial.println(leituraSensorLDR);
  Tempo de espera de 50 milisegundos para transmissão dos dados pela serial
  delay(50);
}

O método loop é executando continuamente, efetuando a leitura do sinal analógico, comparando com a constante para acionar ou desligar o ReleShield.


Vamos ver na prática como funciona:





Bom pessoal, nesse post aprendemos como conectar e programar nosso primeiro circuito, ele pode ser facilmente adaptado para leitura de sensores de temperatura, umidade, digitais e outros.



Um abraço e até a próxima.
Read more
segunda-feira, 5 de dezembro de 2011
Construindo um Relé Shield


No nosso primeiro post vamos aprender a montar uma placa controladora para ser usada em conjunto com o Arduino, com a placa será possivel ativar o relé através de um comando realizado via programação, podendo realizar a automação a distância de um equipamento, luz, etc.



A placa de relé pode ser comprada pronta, mas com um custo muito baixo será possível montarmos nossa própria placa.

Lista de Componentes:
1 - Transistor BC548
2 - Resistores 1K  1/8W (marrom-preto-vermelho)
1 - Diodo 1N4004
1 - LED comum (Pode ser usado 3mm ou 5mm) de qualquer cor
2 - Conectores 2 entradas
1 - Conectores 3 entradas
1 - Relé 12V 15A 1 polo 2 posições
1 - Porta fusivel para placa
1 - Fusível.
1 - Placa de circuito impresso 5cm x 10cm

Lista de Ferramentas:
Ferro de Solda
Estanho
Alicate de bico
Alicate de corte
Perfurador de placa ou furadeira com broca de 1mm
Percloreto de Ferro para corrosão da placa de circuito impresso


Entendendo o diagrama:

O circuito é muito simples, será usado um transistor NPN BC548 polarizado como chave, de forma a conduzir a corrente entre o emissor e o coletor quando receber o sinal digital do Arduino. 
Quando o sinal é recebido, o transistor é saturado, fechando um circuito e acionando o relé e ligando o led. Para proteção do circuito será usado um fusível no terminal comum do relé.


Vamos a construção:

Placa de circuito impresso com identificação dos componentes:



Placa de circuito impresso face cobreada:


Confecção da placa:

Existem diversos métodos para confecção de placas de circuito impressos: decalque, silk, caneta, transferência térmica, processo fotográfico, entre outros. Minha sugestão para os iniciantes é a caneta retroprojetora ou transferência térmica.

Vamos fazer a placa através do processo térmico, imprimindo o circuito em uma impressora laser (se não for laser não funciona) na qualidade máxima. Vamos usar uma folha de sulfite comum, mas se puderem usar um papel glossy, a transferência do toner para placa ficará um pouco melhor.

Atenção: Com o processo térmico ocorre o espelhamento do circuito na placa, invertendo o circuito na placa. Dependendo do processo utilizado, verificar a polaridade dos componentes antes de soldar a placa.


Circuito impresso em uma folha de sulfite:



Transferência do circuito através de processo térmico:



Passar o ferro na temperatura de 180 graus com firmeza, durante uns 5 minutos:


Corroendo a placa com percloreto de ferro, cuidado ao manusear a solução, ela é altamente corrosiva:




Placa corroida, furar com perfudor de placa ou broca para circuito impresso:


Soldando os componentes:



Pinagem do transistor BC548:




E pronto, nosso primeiro shield já pode ser utilizado:



Download do arquivo para confecção da placa de circuito impresso. Será necessária a instalação do software ExpressPCB, disponível no site: http://www.expresspcb.com/


Bom pessoal, nesse post aprendemos e montamos um shield de relé, no próximo post vamos conectar ao Arduino e executar um programinha de exemplo.
Read more