Controlando um Servo Motor com Sensor LDR no Arduino

Controlando um Servo Motor com Sensor LDR no Arduino

Introdução

O Arduino é uma plataforma versátil e acessível, ideal para projetos educacionais que envolvem eletrônica e programação. Neste artigo, vamos explorar como utilizar um sensor LDR (Light Dependent Resistor) para controlar um servo motor, conectando o LDR à porta analógica A0 e o servo à porta digital 9. Além disso, discutiremos como esse projeto pode ser aplicado em ambientes educacionais para ensinar conceitos de automação, sensores e lógica de programação.


Materiais Necessários

  • Arduino Uno (ou similar)

  • Sensor LDR

  • Resistor de 10kΩ (para o divisor de tensão com o LDR)

  • Servo Motor (como o SG90)

  • Protoboard e jumpers

  • Cabo USB para conexão com o computador


Montagem do Circuito

  1. Sensor LDR:

    • Conecte um terminal do LDR ao 5V do Arduino.

    • O outro terminal deve ser conectado ao pino A0 e, em paralelo, a um resistor de 10kΩ que vai para o GND (formando um divisor de tensão).

  2. Servo Motor:

    • O fio vermelho (VCC) do servo vai ao 5V do Arduino.

    • O fio marrom (GND) vai ao GND.

    • O fio amarelo/laranja (sinal) vai ao pino digital 9.






Programação no Arduino IDE

O código abaixo lê o valor do LDR e mapeia esse valor para um ângulo de 0° a 180° no servo:

cpp
Copy
Download
#include <Servo.h>  

Servo meuServo;  
int pinoLDR = A0;  
int valorLDR = 0;  
int angulo = 0;  

void setup() {  
  meuServo.attach(9);  // Conecta o servo ao pino 9  
  Serial.begin(9600); // Inicia a comunicação serial  
}  

void loop() {  
  valorLDR = analogRead(pinoLDR); // Lê o valor do LDR (0 a 1023)  
  angulo = map(valorLDR, 0, 1023, 0, 180); // Converte para ângulo  
  meuServo.write(angulo); // Move o servo  
  delay(100); // Pequena pausa para estabilidade  

  // Exibe os valores no Monitor Serial  
  Serial.print("Valor LDR: ");  
  Serial.print(valorLDR);  
  Serial.print(" | Ângulo: ");  
  Serial.println(angulo);  
}  

Aplicações Educacionais

Este projeto pode ser utilizado em sala de aula para ensinar diversos conceitos, como:

1. Sensores e Eletrônica Básica

  • Explicar como o LDR funciona (resistência variável com a luz).

  • Demonstrar divisores de tensão e leitura analógica.

2. Lógica de Programação

  • Introduzir funções como map()analogRead() e controle de dispositivos.

  • Mostrar como a entrada de um sensor pode influenciar um atuador (servo).

3. Projetos Interdisciplinares

  • Ciências: Estudar a relação entre luz e movimento (fototropismo em plantas).

  • Robótica: Criar um protótipo de seguidor de luz ou persiana automática.

  • Matemática: Trabalhar com mapeamento de valores e proporcionalidade.

4. Experimentação e Criatividade

Os alunos podem modificar o projeto para:

  • Acionar um LED quando a luz atinge um certo nível.

  • Controlar múltiplos servos para criar um "braço robótico" sensível à luz.

  • Integrar com outros sensores (como ultrassônico) para projetos mais complexos.


Conclusão

Este projeto simples, mas eficaz, permite que estudantes compreendam na prática conceitos de automação, programação e eletrônica. Ao conectar um sensor LDR a um servo motor, é possível criar sistemas interativos que respondem ao ambiente, incentivando a curiosidade e a inovação.

Que tal testar em sala de aula e desafiar seus alunos a aprimorarem a ideia? O Arduino abre portas para infinitas possibilidades educacionais! 🚀

Dica: Use o Monitor Serial (Ctrl+Shift+M) para visualizar os valores do LDR e ajustar os limites conforme a necessidade. 

Comentários

Postagens mais visitadas