
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 X, Windows e Linux 32 bit, 64 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:
Um abraço e até a próxima.