Neste artigo vamos aprender
a utilizar o Sensor Reflexivo IR para acionar um servo motor em conjunto com o
Arduino Uno. O sensor está sendo usado como sensor de presença, qualquer objeto
que se aproxima do sensor é reconhecido e aciona o servo.
Sobre os principais componentes:
O
TCRT5000 é um sensor reflexivo que possui embutido um emissor infravermelho
e um fototransistor. O emissor é um led infravermelho que emite um sinal nessa
faixa do espectro. Já o fototransistor é o receptor que faz a leitura do sinal
refletido. A distância máxima de detecção não é grande, ficando em torno de
25mm (dois centímetros e meio), o que pode limitar um pouco a sua aplicação. O
fototransistor vem com um filtro de luz ambiente, o que maximiza a
identificação do feixe infravermelho refletido.
O Micro Servo 9g SG90, possui ângulo de rotação de 180 graus
e possuí um cabo de 3 pinos referente a alimentação/controle.
Especificações:
– Voltagem de Operação: 3,0 – 7,2V– Ângulo de rotação: 180 graus
– Velocidade: 0,12 seg/60Graus (4,8V) sem carga
– Torque:
– Temperatura de Operação:
– Tipo de Engrenagem: Nylon
– Tamanho cabo: 245mm
– Dimensões: 32 x 30 x 12mm
– Peso: 9g
Componentes necessários:
1 Arduino Uno;
jumpers M&M;
jumpers M&F;
1 TCRT5000;
1 Micro Servo
SG90 9G,
1 Resistor
de 220 ohms,
1 Resistor de 330 ohms,
1 Resistor de 39 K ohms,
Estes e outros componentes podem ser
adquiridos neste link AQUI !
Montagem:
Programando o Arduino:
O código abaixo fará com que qualquer
objeto que se aproxime do sensor seja reconhecido e acione o servo, fazendo o
girar 60º e voltar.
Copie
o código e cole na tela do Arduino IDE.
Código:
#include <Servo.h>
Servo meuServo;
int botao = 7; // define pino 7 como botão
void setup()
{
pinMode(botao, INPUT_PULLUP); //
define o botão como saída
}
void loop()
{
meuServo.attach(9); // o pino 9 é ligado ao servo
if(digitalRead(botao) == LOW)
{
for(int angulo=0; angulo<=60; angulo++) // Aumenta o angulo do servo ate
chegar em 60 graus
{
meuServo.write(angulo);
delay(10);
}
for(int angulo=60; angulo>=0; angulo--)// Diminui o angulo do servo
{
meuServo.write(angulo);
delay(10);
}
}
meuServo.detach();
}
Pratique mudando o ângulo de giro do
servo. Você pode usar o giro do servo para acionar algo.
Os componentes deste tutorial pode ser comprados AQUI!
Nenhum comentário:
Postar um comentário