Depois de conhecer bem alguns componentes, eles acabam perdendo a graça, porém, não podemos subestima-los, abaixo está um projeto de nossa autoria, automatizando um portão, e usando um sensor LDR. Como já citamos em outros post’s, nosso blog quer servir de inspiração para você que está começando, e te faz dar o ponta-pé inicial, contudo, posteriormente, use sua criatividade e abuse das funções de cada componente.
Antes de qualquer coisa, faça o download da biblioteca do servo nesse link.
Materiais Necessários:
- Arduino;
- Protoboard;
- Servo-motor;
- 2 Sensores LDR;
- Palito de Picolé;
- Madeira;
- Fios Jumper.
Esquema:
O esquema acima representa graficamente o circuito utilizado, porém utilize sua criatividade usando madeira ou outro tipo de material para construir sua maquete. Utilize as fotos abaixo como modelo:
Conecte seu arduino ao computador e suba o sketch:
#include
int ldr = 0;//definindo o primeiro ldr no pino 0
int ldr2 = 1;//definindo o segundo ldr no pino 1
int valor1 = 0; //criando variavel para receber o valor do primeiro ldr
int valor2 = 0; //criando variavel para receber o valor do segundo ldr
Servo motor;
void setup ()
{
motor.attach(2);//definindo o servo na porta digital 2
pinMode(ldr,INPUT); //definindo o ldr como componente de entrada
pinMode(ldr2,INPUT); //definindo o ldr como componente de entrada
Serial.begin(9600); //iniciando a comunicação serial
motor.write(10); //posição inicial do motor (graus)
}
void loop()
{
int valor1 = analogRead(ldr);
int valor2 = analogRead(ldr2);//fazendo as variaveis receberem os
//valores capitados pelos sensores
Serial.print("Valor do primeiro sensor:");
Serial.print(valor1);
Serial.print(" Valor do segundo sensor:");
Serial.println(valor2);
//escrevendo os valores dos sensores na tela (CTRL+SHIFT+M)
//*O comando Serial.print escreve o valor na tela sem pular linha, ja
// o comando Serial.println pula a linha depois de escrever o que foi comandado*
if(valor1<50){ //quando a luminosidade for menor que 50 o motor levantará
//a um angulo de 80 graus (simulando um portão)
motor.write(90);//'abrindo o portão'
}
if(valor2<50){ //O mesmo se repete no segundo ldr, porém a estrutura
//é feita para o fechamento do portão
motor.write(10);//'fechando o portão'
}
}
Galera qualquer dúvida na montagem, código ou qualquer dica vocês já sabem, é só comentar que responderemos o mais breve possível!! Confere ai o vídeo do projeto em funcionamento:
Muito legal o projeto, só que no lugar do LDR eu utilizaria infravermelho por ser mais confiável com o resultado. Tipo, se estiver noite o LDR vai estar com o valor abaixo de 50 e o portão ficará aberto, por este motivo usaria infravermelho ou até mesmo um sonar. Com esses dois poderia funcionar a qualquer hora.
CurtirCurtir
Valeu Willian, criamos um projeto mais acessível pra todo mundo cara, mas sua ideia também é boa!!
CurtirCurtir
Boa tarde, sem protoboard consigo fazer as ligações na mesma certo? Se ligar um fio de cobre nos 5v e depois ligar dois jumpers a esse fio os dois ldrs irão funcionar certo?
CurtirCurtir
o comando não tá carregando no arduíno.
CurtirCurtir
boa
CurtirCurtir
concordo, muito bom
CurtirCurtir
Boa tarde, excelente conteúdo, muitos parabéns por esta clara explicação.
Comprei os meus motores nesta loja https://daportas.pt/pt/produtos, e eles oferecem explicações detalhadas, mas aqui foi onde resolvi o meu problema.
CurtirCurtir