Menu
CoddyTech

Indicador luminoso do servo

Parte da seção Saídas do Journey de Arduino da Coddy. Lição 24 de 24.

Com uma agulha em seu braço, um servo se transforma em um medidor, como o velocímetro de um carro. Aqui, ele mostra o quão claro está.

Assim como na luz noturna, o AO do módulo lê valores menores sob uma luz mais forte: cerca de 1023 no escuro e próximo de 0 sob luz plena. Um medidor deve apontar mais alto quando há mais luz, então a conversão funciona ao contrário. Assim como no medidor de luz, passe para map() o novo intervalo invertido:

int angle = map(reading, 0, 1023, 180, 0);

Uma leitura de 0, sob luz plena, se torna 180 graus, e 1023, no escuro, se torna 0. Tudo entre esses valores fica entre eles, no sentido oposto.

challenge icon

Desafio

Médio

O AO do sensor de luz está conectado ao A0 e o servo ao pino 9. Transforme o braço em um medidor de luz:

  • na escuridão, o braço aponta para 0 graus; com luz total, para 180
  • use map() com o novo intervalo invertido
  • imprima o ângulo e aguarde 50 ms a cada vez

Pressione Run e mova o controle deslizante de luz no sensor; depois, Check.

Experimente você mesmo

#include <Servo.h>

const int lightPin = A0;
Servo arm;

void setup() {
  arm.attach(9);
  Serial.begin(9600);
}

void loop() {
  // leia a luz, mapeie o valor de forma inversa para 180..0, mova o braço e imprima o ângulo
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Saídas

Pratique por conta própria: Playground de Arduino